Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 活动MQ-合并配置代理_Java_Spring_Activemq - Fatal编程技术网

Java 活动MQ-合并配置代理

Java 活动MQ-合并配置代理,java,spring,activemq,Java,Spring,Activemq,我使用spring框架进行了上述设置,该框架允许我将消息发布到队列。但是,如果activemq实例在进程中间终止,我希望它将消息写入磁盘/文件,直到可以重新建立连接。我在activemq网站上找到了示例代码,但我不确定如何将其集成到当前设置中 <bean id="myTopic" class="org.apache.activemq.command.ActiveMQTopic"> <property name="physicalName" value="feed.top

我使用spring框架进行了上述设置,该框架允许我将消息发布到队列。但是,如果activemq实例在进程中间终止,我希望它将消息写入磁盘/文件,直到可以重新建立连接。我在activemq网站上找到了示例代码,但我不确定如何将其集成到当前设置中

<bean id="myTopic" class="org.apache.activemq.command.ActiveMQTopic">
    <property name="physicalName" value="feed.topic" />
</bean>

<bean id="myConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="failover:tcp://localhost:61616" />
</bean>

<bean id="myJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="myConnectionFactory" />
    <property name="defaultDestination" ref="myTopic" />
</bean>

<bean id="sender" class="com.feed.publish.PublishMessages">
    <property name="jmsTemplate" ref="myJmsTemplate" />
</bean>


有人能告诉我如何合并这两种风格吗?谢谢

AMQ persistenceAdapter配置允许AMQ代理将消息持久化到磁盘,而不是客户端。如果代理连接终止,您的客户机代码应该捕获异常,将消息写入磁盘,并提供稍后重播消息的方法

按照这些思路,我通常使用ApacheCamel和组件来处理这些类型的场景

<amq:broker useJmx="true" persistent="true" brokerName="localhost">
    <amq:persistenceAdapter>
        <amq:kahaPersistenceAdapter directory="activemq-data"
            maxDataFileLength="33554432" />
    </amq:persistenceAdapter>
    <amq:transportConnectors>
        <amq:transportConnector name="vm" uri="vm://localhost" />
    </amq:transportConnectors>
</amq:broker>