我有一个基于swing的应用程序正在与wildfly 10通信。该应用程序动态创建队列/主题。我不能在每次创建队列/主题时重新启动wildfly。我想实例化JMS队列/主题,并在不重新启动服务器的情况下使用它。
发布于 2017-05-30 16:48:15
您可以通过wildfly服务器的管理端口(默认情况下是9999)连接到wildfly服务器,并使用它的cli添加队列。
有一个java api,您可以在其中发出jms-queue:add command - 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
发布于 2017-05-31 18:18:39
我想出了一个解决这个问题的方法。我已经创建了一个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>
将其部署到deployments文件夹下,wildfly会将其与其他文件一起部署。通过使用简单的java代码,可以访问和修改该文件。一旦它被修改,服务器就会重新部署它。
有关更多详细信息,请参阅文档https://docs.jboss.org/author/display/WFLY8/Messaging+configuration
发布于 2019-09-19 16:27:12
您可以将auto-create-queue选项设置为true,
但正如前面提到的,仅仅因为你可以,并不意味着你应该:)
https://stackoverflow.com/questions/43982863
复制相似问题