消息队列中间件之ActiveMQ初识

来源:互联网 发布:js toobject方法 编辑:程序博客网 时间:2024/05/20 17:08

ActiveMQ Apache出品,最流行的,能力强劲的开源消息总线。

ActiveMQ 是一个完全支持JMS1.1J2EE 1.4规范的JMS Provider实现

主要特点:

1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP

2. 完全支持JMS1.1J2EE 1.4规范(持久化,XA消息,事务)

3. Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性


发布形式:

1.点对点,即一个消息发布者,只有一个消息接受者

2.发布/订阅,一个消息发布者,可以有多个消息接受者




消息形式:

1. StreamMessage -- Java原始值的数据流

2.MapMessage--一套名称-值对

3.TextMessage--一个字符串对象

4.ObjectMessage--一个序列化的Java对象

5.BytesMessage--一个字节的数据流


原生的ActiveMQ使用方法不推荐,这里推荐和spring整合后使用方式。

第一步:配置ConnectionFactory

<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->

<bean id="targetConnectionFactory"  class="org.apache.activemq.ActiveMQConnectionFactory">

<property name="brokerURL" value="tcp://192.168.25.168:61616" />

</bean>

<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->

<bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">

<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->

<property name="targetConnectionFactory" ref="targetConnectionFactory" />

</bean>

第二步:配置生产者

<!-- 配置生产者 -->

<!-- Spring提供的JMS工具类,它可以进行消息发送、接收等 -->

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

<!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->

<property name="connectionFactory"  ref="connectionFactory" />

</bean>

第三步:配置生产者


<!--这个是队列目的地,点对点的 -->

<bean id="queueDestination"  class="org.apache.activemq.command.ActiveMQQueue">

<constructor-arg>

<value>spring-queue</value>

</constructor-arg>

</bean>

<!--这个是主题目的地,一对多的 -->

<bean id="topicDestination"  class="org.apache.activemq.command.ActiveMQTopic">

<constructor-arg value="topic" />

</bean>


基本的配置完成之后,就可以在程序中是用ActiveMQ来发布消息了。


铸剑团队签名:

【总监】十二春秋之,3483099@qq.com;

【Master】戈稻不苍,han169@126.com;

【Java开发】雨鸶,343691194@qq.com;思齐骏惠,qiangzhang1227@163.com;小王子,545106057@qq.com;巡山小钻风,840260821@qq.com;

【VS开发】豆点,2268800211@qq.com;

【系统测试】土镜问道,847071279@qq.com;尘子与自由,695187655@qq.com;

【大数据】沙漠绿洲,caozhipan@126.com;张三省,570417591@qq.com;

【网络】夜孤星,11297761@qq.com;

【系统运营】三石头,261453882@qq.com;平凡怪咖,591169003@qq.com;

【容灾备份】秋天的雨,18568921@qq.com;

【安全】保密,你懂的。

原创作者:小王子

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。





原创粉丝点击