天天看點

使用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檔案中,内容如下:

值得注意的是 使用者名和密碼的格式是

使用者名 : 密碼 ,角色名

繼續閱讀