我有一个基于swing的应用程序与wildfly 10进行通信。应用程序动态创建队列/主题。每次创建队列/主题时我都无法重启wildfly。我想实例化JMS队列/主题并在不重新启动服务器的情况下使用它。
答案 0 :(得分:0)
您可以通过它的管理端口(默认为9999)连接到wildfly服务器,并使用它的cli添加队列。
有一个java api,您可以发出jms-queue:add命令 - https://docs.jboss.org/author/display/WFLY10/The+native+management+API
您应该执行以创建jms /主题的命令如下:
/subsystem=messaging-activemq/server=default/jms-queue=queueName:add(entries=["java:/jms/queue/queueName"])
/subsystem=messaging-activemq/server=default/jms-topic=topicName:add(entries=["java:/jms/topic/topicName"])
您还可以使用cli为所有队列添加地址和安全设置。查看此答案,获取可以为消息传递子系统执行的相对完整的命令列表 - How to set up messaging subsystem using CLI in Wildfly
答案 1 :(得分:0)
我找到了解决此问题的方法。我创建了一个xml文件FileName-jms.xml,并开始在标记
下附加新的队列/主题<?xml version="1.0" encoding="UTF-8"?><messaging-deployment xmlns="urn:jboss:messaging-activemq-deployment:1.0">
<server name="default">
<jms-destinations>
<jms-topic name="topic/response">
<entry name="java:/jms/topic/response"/>
<entry name="java:jboss/exported/jms/topic/response"/>
</jms-topic>
<jms-queue name="queue/request">
<entry name="java:/jms/queue/request"/>
<entry name="java:jboss/exported/jms/queue/request"/>
</jms-queue>
</jms-destinations>
</server>
</messaging-deployment>
在部署文件夹下部署此文件,wildfly会将其与其他文件一起部署。通过使用简单的Java代码,可以访问和修改该文件。修改后,服务器会重新部署。
请查看文档以获取更多详细信息 https://docs.jboss.org/author/display/WFLY8/Messaging+configuration
答案 2 :(得分:0)
您可以将auto-create-queue选项设置为true
但是如上所述,仅仅是因为您可以,实际上并不意味着您应该:)