带有WildFly Swarm的远程JMS
我再次在博客上談?wù)揥ildFly群? 簡短的版本是:我需要對(duì)遠(yuǎn)程JMS訪問進(jìn)行測試,并且拒絕設(shè)置復(fù)雜的功能(如完整的應(yīng)用程序服務(wù)器)。 這個(gè)想法是要有一個(gè)簡單的WildFly Swarm應(yīng)用程序,該應(yīng)用程序配置了隊(duì)列和主題。 兩者都可以從獨(dú)立的Java應(yīng)用程序遠(yuǎn)程訪問。 當(dāng)主題接收消息時(shí),消息驅(qū)動(dòng)Bean(MDB)將輸出轉(zhuǎn)儲(chǔ)到控制臺(tái)。 單例計(jì)時(shí)器bean在隊(duì)列中填充了隨機(jī)的文本+時(shí)間戳消息。
原來,WildFly Swarm可以做到,但目前僅在快照發(fā)行版中。
編碼
在我的GitHub存儲(chǔ)庫中找到完整的代碼。 這不是我寫過的最漂亮的東西,但實(shí)際上它向您顯示了Swarm的完整配置以及相關(guān)的安全設(shè)置,以及隊(duì)列和主題的構(gòu)造。 簡而言之,MessagingFraction需要啟用遠(yuǎn)程訪問的相關(guān)安全設(shè)置,并且還需要定義遠(yuǎn)程主題。 NamingFraction需要啟用遠(yuǎn)程命名服務(wù),最后ManagamentFraction需要定義授權(quán)處理程序。
如何運(yùn)行示例
要運(yùn)行服務(wù)器,只需在啟動(dòng)后使用'mvn wildfly-swarm:run',您會(huì)看到計(jì)時(shí)器bean開始向隊(duì)列發(fā)出消息:
2016-08-05 08:44:48,003 INFO? [sample.SampleQueueTimer] (EJB default - 5) Send: Test 14703794880032016-08-05 08:44:49,005 INFO? [sample.SampleQueueTimer] (EJB default - 6) Send: Test 1470379489005如果將瀏覽器指向http:// localhost:8080 / ,則可以觸發(fā)一條消息發(fā)送到topic 。 這也將記錄到控制臺(tái):
2016-08-05 08:44:36,220信息[sample.SampleTopicMDB](線程250(ActiveMQ-client-global-threads-859113460))收到:某些
當(dāng)您查看獨(dú)立的Java客戶端時(shí),真正的魔力發(fā)生了。 它執(zhí)行相關(guān)的JNDI查找,并使用用戶和密碼,會(huì)話和生產(chǎn)者創(chuàng)建JMS連接 ,最后產(chǎn)生并發(fā)送文本消息 。
在即將發(fā)布的一些博客文章中,詳細(xì)介紹了“ 為什么他又需要Java EE? ”
學(xué)分
非常感謝Ken Finnigan ,他解決了我一夜之間遇到的問題 !
翻譯自: https://www.javacodegeeks.com/2016/08/remote-jms-wildfly-swarm.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的带有WildFly Swarm的远程JMS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux锁文件命令(linux锁文件)
- 下一篇: delayqueue_在DelayQue