0

我们希望将 ActiveMQ 5.3 升级到 5.6 并保留连接信息。这是我们所做的,

  1. data\kahadb\在AcitveMQ 5.3下备份文件并卸载
  2. 安装 ActiveMQ 5.6
  3. data\kahadb用以前的备份文件覆盖下面的文件

如果我的客户数量约为 20,则效果很好。如果我的客户数量超过 100,我将无法再次连接到我的经纪人。这是 wrapper.log 中的日志

Failed to load: class path resource [activemq.xml], reason: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is org.apache.kahadb.page.Transaction$InvalidPageIOException: Page id is not valid

我们在创建消费者时遇到了一些异常:

Apache.NMS.ActiveMQ.BrokerException: java.io.EOFException : 
Apache.NMS.ActiveMQ.Connection.SyncRequest(Command command, TimeSpan requestTimeout)
Apache.NMS.ActiveMQ.Session.CreateConsumer(IDestination destination, String selector, Boolean noLocal)
Apache.NMS.ActiveMQ.Session.CreateConsumer(IDestination destination)

数据库兼容问题吗?或者升级MQ后如何保留连接数据?

4

1 回答 1

0

根据这个线程:http ://activemq.2283324.n4.nabble.com/Migrate-existing-kahaDB-to-a-new-version-of-ActiveMQ-possible-td4486455.html ,如果覆盖数据库不起作用,您可以简单地创建一个 Camel 路由,该路由使用来自旧代理实例的 msg 并将它们加载到新代理上。但是,某些属性(例如时间戳或消息 ID)将被更改。

于 2013-05-21T12:38:32.613 回答