ActiveMQ KahaDB兼容性

时间:2013-05-17 12:14:55

标签: activemq

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

  1. data\kahadb\下的备份文件并卸载AcitveMQ 5.3
  2. 安装ActiveMQ 5.6
  3. 使用以前的备份文件覆盖data\kahadb下的文件
  4. 如果我的客户数量大约是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之后保留连接数据?

1 个答案:

答案 0 :(得分:0)

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