swarm 本地管理远程
我再次在博客中谈论WildFly群? 简短的版本是:我需要对远程JMS访问进行测试,并且拒绝设置复杂的功能(如完整的应用程序服务器)。 这个想法是要有一个简单的WildFly Swarm应用程序,该应用程序配置了队列和主题。 两者都可以从独立的Java应用程序远程访问。 当主题接收消息时,消息驱动Bean(MDB)将输出转储到控制台。 单例计时器bean在队列中填充了随机文本+时间戳消息。
原来,WildFly Swarm可以做到,但目前仅在快照发行版中。
代码
在我的GitHub存储库中找到完整的代码。 这不是我写过的最漂亮的东西,但实际上它向您显示了Swarm的完整配置以及相关的安全设置,以及队列和主题的构造。 简而言之,MessagingFraction需要启用远程访问的相关安全设置,并且还需要定义远程主题。 NamingFraction需要启用远程命名服务,最后ManagamentFraction需要定义授权处理程序。
如何运行示例
要运行服务器,只需在启动后使用'mvn wildfly-swarm:run',您会看到计时器bean开始向队列发出消息:
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 / ,则可以触发一条消息发送到topic 。 这也将记录到控制台:
2016-08-05 08:44:36,220信息[sample.SampleTopicMDB](线程250(ActiveMQ-client-global-threads-859113460))收到:某物
当您查看独立的Java客户端时,真正的魔力发生了。 它执行相关的JNDI查找,并使用用户和密码,会话和生产者创建JMS连接 ,最后产生并发送文本消息 。
在即将发布的一些博客文章中,详细介绍了“ 为什么他又需要Java EE呢? ”
学分
非常感谢Ken Finnigan ,他解决了我整夜遇到的问题 !
翻译自: https://www.javacodegeeks.com/2016/08/remote-jms-wildfly-swarm.html
swarm 本地管理远程