本文描述apache activemq 版本更迭的原因以及Apache ActiveMQのThe Failover Transport

new features in 5.2.0 

1、对信息的传输/消耗,快速产生,缓慢消耗,利用率限制,从变主等有一些建议

2、通过spring/xbean 加强了ssl安全的配置

3、消息消耗的新模式

4、有能力去配置自动丢弃的信息,这些信息是存在已经死去的队列里面

5、有能力限制最大的连接数量对于代理来讲

6、有能力配置JDBC锁

7、activemq-camel 和  activemq-connection-pool  有他们自己的模块,不在是包含在activemq-core中

8、默认的ActiveMQConnectionFactory代理url是使用了故障转移技术

9、使用了Apache Camel 1.5

new features in 5.3.0 

1、新的KahaDB 持久性存储

2、Camel 2.0.0

3、支持SSL和NIO

4、提高配置,默认一个产生者和众多消费者

5、通过non-Java 客户端有能力安排代理服务

6、更多的代理服务的配置,比如在互联网跟踪信息,完善日志

new features in 5.4.3

1、对密码加密

2、在ajax上增加选择器的支持

5.4.3版本是5.4.X的改进,支持了全球标准协议LGPL

在5.4版本中除了以上特点还有:

1、作业信息的延迟

2、消息优先处理

3、webSocket

4、更好支持OSGI

5、加强版的shell 脚本

6、更加容易配置Web console

7、对Ajax和Rest消费者的选择器

8、代理服务选择自动更新故障的客户端,代替加入和离开集群的新的代理服务(详细参照Apache ActiveMQのThe Failover Transport)

new features in 5.5.1

1、MDC日志

2、升级到camel 2.7.0

3、DLQ处理每个持续性的订阅

4、新的网络链接器MBeans

5、JDBC存储的IOExceptionHandler

6、增加对Apache Commons Daemon的支持

5.5.1版本是5.5.X的改进,支持了全球标准协议LGPL

new features in 5.6.0

1、LevelDB 存储

2、MQTT 传输

3、 LDAP 安全模块

4、支持Stomp 1.1

5、stomp+nio+ssl 传输

6、KahaDB 持久化

7、优先故障转移URIs

8、在代理集群自动平衡客户端

new features in 5.7.0

1、Java 7的支持

2、安全WEBSocket

3、代理基于再装载

4、加锁

5、设置RedeliveryPolicy

6、包括Apache Camel 2.10

new features in 5.8.0

1、AMQP

2、新功能模块和允许更小脚本的模块

3、在http 上通过REST和jolokia管理

4、包括 Camel 2.10.3

5、支持Java7

6、不支持纯粹的主从

这个版本需要特别注意的是:

1、新的模型影响maven的pom文件依赖,activemq-core已经被activemq-broker/client替代,各式各样的信息存储在不同的模块中,超级模型现已变成activemq-all

2、改变的objectname命名将会影响脚本或者工具,现在所有的mbeans使用的是type=broker的形式

3、OSGI一体化

4、启动的文件不在bin/run.jar现已经保存在了activemq.jar

new features in  5.9.0

1、仿制LevelDB存储,

2、运行时间的配置

3、在activemq-jms-pool的JMS XA连接池配置

4、MQTT

5、基于Camel的代理服务

6、在丢失了主服务的状态的时候代理自动重启

7、加强版的AMQP和LevelDB

这个版本需要特别注意的是:改变了JDBC持久化适配

new features in   5.10.0

1、支持java8

2、Shiro安全配置

3、加强MQTT,AMQP,LevelDB

4、提高 RAR/JCA,运行时间配置

new features in   5.11.0

1、目的信息导入导出

2、动态的Camel

3、MQTT

4、启动脚本简单化

5、覆盖作业数据库问题

6、Jetty8

7、Karaf2.4.1

new features in  5.12.0

这个版本提供了AMQP和MQTT的支持,以及修复了AMQP和MQTT的bug。

new features in  5.13.0

这个版本提供了自动传输协议,多通道的动态网关支持。

--------------------------------------------------------------华丽分割线------------------------------------------------------------

下面介绍Apache ActiveMQのThe Failover Transport

配置语法:

failover:(uri1,...,uriN)?transportOptions&nestedURIOptions

or

failover:uri1,...,uriN

transportOptions列表

Option Name

Default Value

Description

initialReconnectDelay

10

The delay (in ms) before the first reconnect attempt.

maxReconnectDelay

30000

The maximum delay (in ms) between the second and subsequent reconnect attempts.

useExponentialBackOff

true

If true an exponential back-off is used between reconnect attempts.

reconnectDelayExponent

2.0

The exponent used during exponential back-off attempts.

maxReconnectAttempts

-1 | 0

From ActiveMQ 5.6: default is -1, retry forever. 0 means disables re-connection, e.g: just try to connect once.
Before ActiveMQ 5.6: default is 0, retry forever. 
All versions: a value >0 denotes the maximum number of reconnect attempts before an error is sent back to the client.

startupMaxReconnectAttempts

-1

A value of -1 denotes that the number of connection attempts at startup should be unlimited.

A value of  >=0 denotes the number of reconnect attempts at startup that will be made after which an error is sent back to the client when the client makes a subsequent reconnect attempt.

Note: once successfully connected the maxReconnectAttempts option prevails.

randomize

true

If true, choose a URI at random from the list to use for reconnect.

backup

false

Initialize and hold a second transport connection - to enable fast failover.

timeout

-1

Set the timeout on send operations (in ms) without interruption of re-connection process. Since ActiveMQ 5.3.

trackMessages

false

Keep a cache of in-flight messages that will flushed to a broker on reconnect.

maxCacheSize

131072

Size in bytes for the cache of tracked messages. Applicable only if trackMessages is true.

updateURIsSupported

true

Determines whether the client should accept updates from the broker to its list of known URIs. Since ActiveMQ 5.4.

updateURIsURL

null

A URL (or path to a local file) to a text file containing a comma separated list of URIs to use for reconnect in the case of failure. Since ActiveMQ 5.4.

nested.*

null

Common URI options that will be applied to each URI in the list. Since ActiveMQ 5.9.

warnAfterReconnectAttempts

10

A value >0 specifies the number of reconnect attempts before a warning is logged. A logged warning indicates that there is no current connection but re-connection is being attempted.

A value of <=0 disables the logging of warnings about reconnect attempts. Since ActiveMQ 5.10.

reconnectSupported

true

Determines whether the client should respond to broker ConnectionControl events with a reconnect (see:rebalanceClusterClients).

这是一个典型的分层URI,它的含义是“在本地61616端口创建一个TCP连接。”

这类使用简单分层URI模式的连接器被叫做low-level连接器,它们被用来实现基础的网络交流协议。连接器URIs使用schema来表示当前的网络协议,path元素用来标识网络资源(通常是地址和端口),query用来指定特殊的配置参数。

图4.1显示了URI的结构。这个URI扩展了前面的例子,它还告诉所有的代理器记录所有的命令(trace=true部分)。这是TCP端口可选的一个参数。


 ActiveMQ的故障转移传输机制支持自动重连。也即是说,如果一个代理器不在线,客户端可以连到另一个代理器上。ActiveMQ通过使用复合URIs满足这种需求。在图4.2,你可以看到一个这种URI。

文章参考:http://windows9834.blog.163.com/blog/static/27345004201322552419947/  重连的一些代码建议

http://manzhizhen.iteye.com/blog/2105572  介绍消费者集群和配置参数

http://m.oschina.net/blog/286454    单个URI重连

Apache ActiveMQの版本更迭和Apache ActiveMQの故障转移的更多相关文章

  1. 如何查看 Apache 的版本

    查看 Apache 服务器版本的命令行为: httpd -v 或者 apachectl -v 例如:用 Xshell 连接到服务器后,输入:httpd -v 或者:apachectl -v 返回: S ...

  2. php(apache)切换版本

    php(apache)切换版本 1.brew link php@7.1 2.上两行写入 ~/.bash_profile文件 3.source ~/.bash_profile 4.sudo vi /et ...

  3. Apache老版本下载地址

    有时候我们想做测试或者使用旧版本软件时,往往发现官方网站已经下架,以Apache为例: Apache旧版本下载地址:http://archive.apache.org/dist/httpd/ .... ...

  4. Apache 低版本不支持 WebSocket

    Apache 低版本不支持 WebSocket Apache HTTP Server Version 2.4 Apache Module mod_proxy_wstunnel https://http ...

  5. [原创]在使用SDK 23(6.0)版本后org.apache.http相关的类找不到的解决办法

    参考: http://stackoverflow.com/questions/32153318/httpclient-wont-import-in-android-studio http://www. ...

  6. ActiveMQ 笔记(七)ActiveMQ的多节点集群

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.Activemq 的集群思想 1.使用Activemq集群的原因 面试题: 引入消息中间件后如何保证 ...

  7. ActiveMQ 笔记(六)ActiveMQ的消息存储和持久化

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.持久化机制 1.Activemq持久化 1.1 什么是持久化: 持久化就是高可用的机制,即使服务器宕 ...

  8. 学习ActiveMQ(四):spring与ActiveMQ整合

    在上一篇中已经怎么使用activemq的api来实现消息的发送接收了,但是在实际的开发过程中,我们很少使用activemq直接上去使用,因为我们每次都要创建连接工厂,创建连接,创建session... ...

  9. ActiveMQ学习总结------Spring整合ActiveMQ 04

    通过前几篇的学习,相信大家已经对我们的ActiveMQ的原生操作已经有了个深刻的概念, 那么这篇文章就来带领大家一步一步学习下ActiveMQ结合Spring的实战操作 注:本文将省略一部分与Acti ...

随机推荐

  1. 关于 UICollectionViewCell 的一些陷阱

    如果直接使用 UICollectionViewCell 的自带属性 selected 来自定义一些样式,如: - (void)setSelected:(BOOL)selected { [super s ...

  2. Myeclipse for Mac快捷键

    myeclipse for mac 的快捷键汇总 快键键 作用 备注 Command+1 快速修复(自动导包等) 比如与Syso配合,与main配合可快速构造方法签名 Alt+/ 自动补全 Comma ...

  3. Swift - 代码创建单例

    创建单例的方法 import UIKit //创建一个单例类 class SingleInstance: NSObject { //在单例类中,有一个用来共享数据的数组 var datas = [St ...

  4. python简介

    python起源 作者Guido van Rossum,荷兰人 在创建python之初,1989年12月份,Guido只是想用编程来打发圣诞的闲暇时光.Guido也希望能有一门语言既能够像C语言那样, ...

  5. codevs 1702素数判定2

    Miller-Rabin算法实现,但是一直被判题程序搞,输入9999999999得到的结果分明是正确的但是一直说我错 #include <cstdio> #include <cmat ...

  6. 四、优化及调试--网站优化--Yahoo军规中

    8.避免使用CSS表达式(避免在CSS中使用Expressions) 什么是CSS表达式:是用来把CSS属性和JavaScript关联起来.

  7. jquery学习笔记---Dom操作

    一.DOM操作的分类 DOM(document object model)是一种与浏览器.平台.语言无关的接口,使用该接口可以访问页面中的·所有组件.DOM的操作可以分为DOM Core.HTML-D ...

  8. MVC缓存01,使用控制器缓存或数据层缓存

    对一些浏览频次多.数据量大的数据,使用缓存会比较好,而对一些浏览频次低,或内容因用户不同的,不太适合使用缓存.   在控制器层面,MVC为我们提供了OutputCacheAttribute特性:在数据 ...

  9. jQueryEasyUi验证

        多重验证: { field : 'startPort', title : "起始端口", editor: "text", width : 50, edi ...

  10. 字符识别(模板匹配&BP神经网络训练)

    http://blog.csdn.net/zhang11wu4/article/details/7585632