概述 基于ZooKeeper + ActiveMQ + replicatedLevelDB,在Windows平台的主从部署方案. 主从部署可以提供数据备份.容错[1]的功能,但是不能提供负载均衡的功能.   注: 容错:主服务器宕掉,再选出一台作为作为主服务器,来提供服务. 部署图   简单说明 ActiveMQ提供了队列.本地持久化的功能,ZooKeeper提供了主从选举的功能.Producers将消息发送给主从队列体系[1],Consumers从主从队列体系中获取消息. 注: [1] 主从队…
概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 更新了技术的版本e.g. Spring升级到4.2.0,ActiveMQ升级到5.13.2 更新了依赖e.g. 使用activemq-client 5.13.2替换activemq-core 5.7.0,并取消了多余的spring-jms依赖 精简了配置e.g. 去掉spring.xml中的jms…
概述 Apache ActiveMQBrowser可以用于查看AMQ中的消息.这里对其使用方法进行简单介绍. 使用介绍 1.下载并解压缩 下载地址:Apache ActiveMQBrowser,当前最新的版本是ActiveMQBrowser_2.5.2.8ForJDK1.6. 解压缩之后可以发现,ActiveMQBrowser很简单,只有一级目录,里面有几个jar包.几个txt文件.一个图片文件.一个bat文件. 2.添加classpath 如果MQ中的消息是ObjectMessage类型,我们…
1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去新创建线程,而是从线程池中获取线程去执行任务,任务执行完成后将线程重新归还到线程池,这样的一个池就叫做线程池. 1.2 使用线程池的优势 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 第二:提高响应速度.当任务到达时,任务可以不需要的等到线程创建就能立即执行. 第三:提…
Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在GridPanel中添加一行配置节点: <Features> <ext:GridFilters ID="GridFilters1" runat="server" Local="true"> <Filters> <ex…
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类装载器和安全管理器是可以被动态扩展的,或者说,他们是可以由用户自己定制的,今天我们就是动手试试,怎么做这部分的实践,当然,在阅读本篇之前,至少要阅读过笔记三. 下面我们先来动态扩展一个类装载器,当然这只是一个比较小的demo,旨在让大家有个比较形象的概念. 第一步,首先定义自己的类装载器,从Clas…
原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然后进行转换. 概述 小程序主界面如下: 首先选择一个日期和类别,从命名上对待分析的Excel文件进行过滤.点击[浏览]选择待分析的Excel文件所在的目录, 程序中会获取所有子目录.然后点击[执行分析]就会按照左边CheckBox中的选择进行分析,分析结果显示在每一行中间.[修改配置]可以对分析规则…
目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: Null值与False也不同.And.Or和Not三个bool操作如果设计Null,结果很迷惑. 2.搜索运行为空的列:任何与Null的比较逗返回“未知”,既不是True,也不是False. 在Where表达式中只能使用 Is Null 或者 Is Not Null,其他操作都查询不到结果. 3.不…
golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hello world"fmt.Print(mystr[0:5])…
.NET MVC 学习笔记(四)—— 基于Bootstarp自定义弹出框 转载自:https://www.cnblogs.com/nele/p/5327380.html (function ($) { window.Ewin = function () { var html = '<div id="[Id]" class="modal fade message-dialog" role="dialog" aria-labelledby=&q…