ActiveMQ中的虚拟节点(队列或主题)spring配置如下:
配置说明:当往队列MY.NAME中生产消息时,同时会将生产的消息复制到队列FOO,FOO1和主题BAR中,这样我们就将一个节点的消息可以发往多个不同的节点中。
自己项目中的实现步骤:
1.研究虚拟节点的消息发送机制
往一个虚拟队列/主题节点A发送消息,节点A根据虚拟配置将消息复制到配置的队列节点或主题节点中
2.数据库表结构设计
虚拟节点表VIRTUAL_NODE:节点类型NODE_TYPE(queue/topic),节点名称NODE_NAME,主键NODE_ID
发往节点目的地表VIRTUAL_DESTINATION:发往目的地的节点类型DESTINATION_TYPE(queue/topic),目的地名称DESTINATION_NAME,主键DESTINATION_ID,外键NODE_ID关联虚拟节点表的VIRTUAL_NODE(NODE_ID)
3.实现虚拟节点界面配置功能
界面实现~~
<beans>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<broker persistent="false" useJmx="false" xmlns="http://activemq.apache.org/schema/core">
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<compositeQueue name="MY.QUEUE">
<forwardTo>
<queue physicalName="FOO" />
<queue physicalName="FOO1" />
<topic physicalName="BAR" />
</forwardTo>
</compositeQueue>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
</broker>
</beans>
配置说明:当往队列MY.NAME中生产消息时,同时会将生产的消息复制到队列FOO,FOO1和主题BAR中,这样我们就将一个节点的消息可以发往多个不同的节点中。
自己项目中的实现步骤:
1.研究虚拟节点的消息发送机制
往一个虚拟队列/主题节点A发送消息,节点A根据虚拟配置将消息复制到配置的队列节点或主题节点中
2.数据库表结构设计
虚拟节点表VIRTUAL_NODE:节点类型NODE_TYPE(queue/topic),节点名称NODE_NAME,主键NODE_ID
发往节点目的地表VIRTUAL_DESTINATION:发往目的地的节点类型DESTINATION_TYPE(queue/topic),目的地名称DESTINATION_NAME,主键DESTINATION_ID,外键NODE_ID关联虚拟节点表的VIRTUAL_NODE(NODE_ID)
3.实现虚拟节点界面配置功能
界面实现~~