带弹簧的activemq,启用镜像队列

activemq with spring, enabling a mirrored queue

下面是一个直接支持spring的activemq配置,在遵循文档的过程中,我并没有遇到太多麻烦。基本上,有一个生产者使用jmsTemplate向其发送消息的队列,其配置如下,它已经过测试,我对此没有任何问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
    destroy-method="stop">
    <property name="connectionFactory">
        <bean class="org.apache.activemq.ActiveMQConnectionFactory">
            <property name="brokerURL"
                value="${activemq.brokerUrl}" />
            <property name="sendTimeout"
                value="${activemq.sendTimeout}" />
            <property name="prefetchPolicy">
                <bean class="org.apache.activemq.ActiveMQPrefetchPolicy">
                    <property name="queuePrefetch" value="0" />
                </bean>
            </property>
        </bean>
    </property>
</bean>
1
2
3
4
5
6
7
8
9
10
<amq:queue id="classifiedEventSink"
    physicalName="${activemq.classifiedEventSink.producer}" />

<bean id="jmsTemplateClassifiedEventSink"
    class="org.springframework.jms.core.JmsTemplate">

    <property name="connectionFactory" ref="jmsFactory" />
    <property name="defaultDestination" ref="classifiedEventSink" />
    <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
</bean>

现在保持此配置,我想使其成为一个镜像队列,在该队列中,每当生产者向该队列添加一条消息时,我都希望该消息在某个主题上进行广播。技巧是在弹簧上进行配置,因为我很难找到示例。你能指出我的方向吗?


您可以在ActiveMQ代理配置中执行此操作,如下所示:http://activemq.apache.org/mirrored-queues.html