【问题标题】:ActiveMQ Data persistent Issue in Java SpringJava Spring中的ActiveMQ数据持久性问题
【发布时间】:2016-04-27 07:05:25
【问题描述】:

我有一个使用嵌入式 activeMQ 5.11 的应用程序。在应用程序启动时,它会在类路径位置创建 activemq-data\producerBroker\KahaDB 文件夹。我确实想更改位置,但 spring.xml 不占用位置。

给定的Spring.xml,

<bean id="producerBroker" class="org.apache.activemq.broker.SslBrokerService">
    <property name="brokerName" value="producerBroker" />
    <property name="persistent" value="true" />
     <property name="persistenceAdapter" ref="persistenceAdapter"/>
    <property name="transportConnectors">
        <list>
            <bean class="org.apache.activemq.broker.TransportConnector">
                <property name="name" value="xxx"></property>
                <property name="uri" value="${transportConnectorURIs}"></property>
            </bean>
        </list>
    </property>
    <property name="jmsBridgeConnectors">
        <list>
            <bean class="org.apache.activemq.network.jms.JmsQueueConnector">
                <property name="outboundQueueConnectionFactory">
                    <bean class="org.apache.activemq.ActiveMQSslConnectionFactory">
                        <property name="brokerURL" value="${brokerURL}" />
                        <property name="userName" value="${username}" />
                        <property name="password" value="${password}" />
                        <property name="trustStore" value="${trust.store.path}" />
                        <property name="trustStorePassword" value="${trust.store.password}" />
                        <!-- <property name="keyStore" value="${key.store.path}"/> -->
                        <!-- <property name="keyStorePassword" value="${key.store.password}"/> -->
                    </bean>
                </property>
                <property name="outboundQueueBridges">
                    <list>
                        <bean class="org.apache.activemq.network.jms.OutboundQueueBridge">
                            <constructor-arg value="${screenshotQueueName}" />
                        </bean>
                        <bean class="org.apache.activemq.network.jms.OutboundQueueBridge">
                            <constructor-arg value="${resultXmlQueueName}" />
                        </bean>
                    </list>
                </property>

            </bean>
        </list>
    </property>
</bean>


<bean id="persistenceAdapter" class="org.apache.activemq.store.kahadaptor.KahaPersistenceAdapter">
<property name="directory" value="E:\test"/>

当前的问题是它引发错误,因为“异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到类 [org.apache.activemq.store.kahadaptor.KahaPersistenceA apter] 用于在类路径资源 [spring/resultupload/resultupload.xml] 中定义的名称为 'kahaPersistenceAdapter' 的 bean;嵌套异常是 java.la g.ClassNotFoundException: org.apache.activemq.store.kahadaptor.KahaPersistenceAdapter"

谁有java spring 中activeMQ 5.11 的目录更改经验?

【问题讨论】:

    标签: java xml spring hibernate activemq


    【解决方案1】:

    持久化位置的目的地必须在代理级别定义。

    kahaPersistenceAdapter(基于文件)已在 5.9 版中删除。您应该使用 kahaDB。

    kahaDB - 使用 KahaDB 一个嵌入式轻量级非关系型数据库

    <broker brokerName="broker" persistent="true" useShutdownHook="false">
       <transportConnectors>
         <transportConnector uri="tcp://localhost:61616"/>
       </transportConnectors>
       <persistenceAdapter>
         <kahaDB directory="e:/temp" ... />
       </persistenceAdapter>
     </broker>
    

    所有有效属性:http://activemq.apache.org/schema/core/activemq-core-5.11.0-schema.html#kahaDB

    【讨论】:

    • 非常感谢。我能够使用给定的信息使其工作。
    猜你喜欢
    • 2011-05-29
    • 2015-01-21
    • 2011-01-16
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多