一: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文件中,内容如下:
值得注意的是 用户名和密码的格式是
用户名 : 密码 ,角色名