Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ClassNotFoundException:ACtiveMQ 5.8中的KahaperResistenceAdapter_Java_Jms_Activemq_Message Queue - Fatal编程技术网

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)