Java ClassNotFoundException:ACtiveMQ 5.8中的KahaperResistenceAdapter
我将应用程序从Java ClassNotFoundException:ACtiveMQ 5.8中的KahaperResistenceAdapter,java,jms,activemq,message-queue,Java,Jms,Activemq,Message Queue,我将应用程序从ActiveMQ 5.5.1迁移到ActiveMQ 5.8.0。 我的应用程序在activemq.xml文件中具有如下持久性配置: <persistenceAdapter> <kahaPersistenceAdapter directory="${activemq.base}/data/msg" maxDataFileLength="20 Mb"/> </persistenceAdapter> 注意:我的应用程序在队列
ActiveMQ 5.5.1
迁移到ActiveMQ 5.8.0
。
我的应用程序在activemq.xml
文件中具有如下持久性配置:
<persistenceAdapter>
<kahaPersistenceAdapter directory="${activemq.base}/data/msg" maxDataFileLength="20 Mb"/>
</persistenceAdapter>
注意:我的应用程序在队列中包含由
activemq 5.5.1
存储的消息,并且无法更改持久性配置。您是否已将activemq-all-5.8.0.jar
放在类路径中
kahaperistenceadapter
是,但它仍然包含在jar中。您是否已将activemq-all-5.8.0.jar
放在类路径中
KahaperResistenceAdapter是,但它仍然包含在jar中。在v5.8.0中,依赖关系被稍微分解,以允许您减少运行代理所需的jar数量。Kaha适配器位于activemq amq存储组件中,因此如果您想使用它,需要将其引入项目中 请注意,此适配器已弃用,并将在v5.9.0中消失,因此最好使用受支持的适配器之一。当前默认适配器是KahaDB,位于activemq KahaDB存储区中。您还可以尝试LevelDB适配器,它的索引速度更快,但仍然很年轻,可能会出现一些问题
虽然没有迁移工具可以让您轻松地从旧商店移动到新的KahaDB商店,但您可以通过使用KahaDB设置一个新的代理并使用network connector将其连接到旧商店来实现这一点。一旦新代理在旧代理上的旧存储中注册了对您有消息的目的地的需求,mew代理应该清空所有消息并将它们存储在KahaDB存储中 在v5.8.0中,依赖关系已经被分解了一些,以允许您减少运行代理所需的jar数量。Kaha适配器位于activemq amq存储组件中,因此如果您想使用它,需要将其引入项目中 请注意,此适配器已弃用,并将在v5.9.0中消失,因此最好使用受支持的适配器之一。当前默认适配器是KahaDB,位于activemq KahaDB存储区中。您还可以尝试LevelDB适配器,它的索引速度更快,但仍然很年轻,可能会出现一些问题
虽然没有迁移工具可以让您轻松地从旧商店移动到新的KahaDB商店,但您可以通过使用KahaDB设置一个新的代理并使用network connector将其连接到旧商店来实现这一点。一旦新代理在旧代理上的旧存储中注册了对您有消息的目的地的需求,mew代理应该清空所有消息并将它们存储在KahaDB存储中 @Tim Bish:谢谢。我将
activemq-all-5.8.0.jar
放在类路径中,并更正了我的问题,但出现了另一个异常:java.lang.ClassNotFoundException:org.eclipse.jetty.http.security.Constraint
您能提供完整的堆栈跟踪吗?看起来您对jetty jars的依赖性已中断。已解决:),我将activemq 5.8
中的jetty.xml
文件替换为activemq 5.5
,谢谢。@Tim Bish:谢谢。我将activemq-all-5.8.0.jar
放在类路径中,并更正了我的问题,但出现了另一个异常:java.lang.ClassNotFoundException:org.eclipse.jetty.http.security.Constraint
您能提供完整的堆栈跟踪吗?看起来您对jetty jars的依赖性已中断。已解决:),我将activemq 5.8
中的jetty.xml
文件替换为activemq 5.5
,谢谢。
INFO | jvm 1 | 2013/02/24 10:43:28 | Caused by: java.lang.ClassNotFoundException: org.apache.activemq.store.kahadaptor.KahaPersistenceAdapter
INFO | jvm 1 | 2013/02/24 10:43:28 | at java.net.URLClassLoader$1.run(Unknown Source)
INFO | jvm 1 | 2013/02/24 10:43:28 | at java.security.AccessController.doPrivileged(Native Method)
INFO | jvm 1 | 2013/02/24 10:43:28 | at java.net.URLClassLoader.findClass(Unknown Source)
INFO | jvm 1 | 2013/02/24 10:43:28 | at java.lang.ClassLoader.loadClass(Unknown Source)
INFO | jvm 1 | 2013/02/24 10:43:28 | at java.lang.ClassLoader.loadClass(Unknown Source)
INFO | jvm 1 | 2013/02/24 10:43:28 | at org.apache.xbean.spring.context.v2c.XBeanQNameHelper.loadClass(XBeanQNameHelper.java:107)
INFO | jvm 1 | 2013/02/24 10:43:28 | at org.apache.xbean.spring.context.v2c.XBeanQNameHelper.getBeanInfo(XBeanQNameHelper.java:72)