天天看点

使用activeMQ实现jms

一:jms介绍

         jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现,然后使用者使用他们的jar包进行开发使用即可。

        另外在jms的API中,jms传递消息有两种方式,一种是点对点的Queue,还有一个是发布订阅的Topic方式。区别在于:

        对于Queue模式,一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个消息,两个接收者A,B那就是A,B总共会收到10条消息,不重复。

        对于Topic模式,一个发布者发布消息,有两个接收者A,B来订阅,那么发布了10条消息,A,B各收到10条消息。

       关于api的简单基础可以看下:http://www.javaeye.com/topic/64707,简单的参考!

二:ActiveMQ介绍

         activeMQ是apache下的一个开源jms产品,具体参见 apache官方网站;

         Apache ActiveMQ is fast, supports many  Cross Language Clients and Protocols , comes with easy to use  Enterprise Integration Patterns   and many  advanced features   while fully supporting  JMS 1.1   and J2EE 1.4. Apache ActiveMQ is released under the  Apache   2.0 License

三:开始实现代码

       1:使用activeMQ来完成jms的发送,必须要下载activeMQ,然后再本机安装,并且启动activeMQ的服务才行。在官网下载完成之后,运行bin目录下面的activemq.bat,将activeMQ成功启动。

       启动成功之后可以运行:http://localhost:8161/admin/index.jsp  查看一下。

       2:发送端,sender

 3:接收端,receive 

4:发送端,sender 上面的是用Queue的方式来创建,下面再用topic的方式实现同样的功能。

<a href="http://blog.sina.com.cn/s/blog_4b5bc0110100kb8d.html">http://blog.sina.com.cn/s/blog_4b5bc0110100kb8d.html</a>

<a href="http://blog.sina.com.cn/s/blog_4b5bc0110100kboh.html">http://blog.sina.com.cn/s/blog_4b5bc0110100kboh.html</a>

<a href="http://blog.sina.com.cn/s/blog_4b5bc0110100kbxa.html">http://blog.sina.com.cn/s/blog_4b5bc0110100kbxa.html</a>

activeMQ密码配置(默认用户名/密码是admin/admin) 

<a href="http://blog.163.com/czg_e/blog/static/4610456120133109443755/">http://blog.163.com/czg_e/blog/static/4610456120133109443755/</a>

<a href="http://blog.csdn.net/stevenprime/article/details/7091224">http://blog.csdn.net/stevenprime/article/details/7091224</a>

ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到

将property name为authenticate的属性value="false" 改为"true",

控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:

值得注意的是 用户名和密码的格式是

用户名 : 密码 ,角色名

继续阅读