我在域模式下运行Wildfly17。我们一直在手动添加JMS队列,但我宁愿将配置作为部署脚本的一部分添加。我可以使用jboss-cli
创建服务器和数据源,但在队列方面似乎没有任何进展。我希望domain_config.xml的结尾如下所示:
<subsystem xmlns="urn:jboss:domain:messaging-activemq:7.0">
<server name="default">
...
<jms-queue name="MyQueue" entries="java:/queue/MyQueue" durable="true"/>
我已经研究了如何在Wildfly中使用CLI设置消息传递子系统,但我得到的都是错误。
[domain@machine.foo.com:9990 /] /subsystem=messaging-activemq/server=default/jms- queue=MyQueue:add(entries=[java:/jms/queue/MyQueue])
Failed to get the list of the operation properties: "WFLYCTL0030: No resource definition is
registered for address [
("subsystem" => "messaging-activemq"),
("server" => "default"),
("jms-queue" => "MyQueue")
]"
domain_config.xml的完整嵌套是:
<domain xmlns="urn:jboss:domain:10.0">
<profiles>
<profile name="full">
<subsystem xmlns="urn:jboss:domain:messaging-activemq:7.0">
<server name="default">
<jms-queue name="MyQueue" entries="java:/queue/MyQueue" durable="true"/>
在域模式下工作与独立模式有很大不同,主要是因为您必须指定命令应该应用的“配置文件”。例如,如果您处于域模式,并且域中有一个名为“full”的配置文件,并且您希望向该域添加一个名为“foo”的JMS,那么您可以执行以下命令:
jms-queue --profile=full add --queue-address=foo --entries=["java:/jms/queue/foo"]
您可以使用help--commands
命令查看可用命令的列表,然后深入到任何这些命令的帮助中。
我认为最初的作者认为这将创建一个持久的队列,但显然不是。我找不到这方面的好文档,想知道是否有人能证实/否认这一点。 提前谢了。
我正在将JavaLite Async从Artemis 2.3.0迁移到2.11.0版本。JavaLite Async不使用任何文件基配置,而是依赖于代码。 在V2.3.0和2.11.0之间,JMS管理API现在已经消失/不推荐使用,我们被鼓励使用核心管理API。 不幸的是,我找不到办法: null 但是,如果我删除这一行: 则JNDI找不到队列。 从表面上看,I似乎可以通过将队列名称添加到JNDI
要在redis中使用和创建队列,在python中,我是这样做的: 但是如何在redis队列中存储key:value对呢? 假设和可以是任何字符串(因此不能使用进行拆分),推送的最佳方式是什么 4个项目进入队列,并且当第5对被推入队列时,它弹出?
我已经配置了位于 NAT 网关后面的 JBoss EAP 7.0。我的 JMS 客户机可以从同一服务器或同一网络的其他服务器成功连接到 JMS 队列,但是当同一个 JMS 客户机移出该网络并尝试通过 NAT 网关连接到 JMS 时,它无法连接到队列。在 VPC 中的开发环境和 AWS EC2 中都会遇到相同的行为。开发环境有一个NAT网关,我假设VPC也使用相同或类似的东西。 我从如何在 JBos
但这在Swift3中无法编译。 在Swift 3中编写这个的首选方式是什么?
如果要在spring integration jms上为消息发布者创建qpid目标。例如,我可以创建如下队列: 之后,我将此队列设置为通道适配器: 如果发布者发送第一条消息,将在消息代理上创建队列。 但是如果我想动态设置队列,我能做什么呢? 发布者看起来像: } publisher方法的第二个参数是目标的名称。如果我在发送消息之前在brokerside上创建队列,那么这是可行的。我当前的解决方案是