问题标签 [activemq-artemis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jms - 集群 WildFly 10 域消息传递
我有三台机器位于不同的网络中:
- 作为主人
- 作为节点 1
- 作为节点 2
在 as-master 中,我将 WildFly 作为域主机主机,两个节点将 WildFly 作为域主机从机,每个节点都在 full-ha 服务器组中启动一个实例。从 as-master Web 控制台中,我可以看到 full-ha 配置文件运行时中的两个节点,如果我部署 WAR,它会在两个节点上正确启动。
现在,我想要实现的是两个 WAR 实例之间的消息传递,即从 as-node-1 中的生产者实例发送消息,所有节点中的消费者都应该收到消息。
这是我尝试过的:向 WildFly 添加了一个主题domain.xml
:
创建一个 JAX-RS 端点以触发绑定到该主题的生产者:
创建一个监听主题的MDB:
但是当我curl as-node-1/jms
只在 as-node-1 中curl as-node-2/jms
看到日志时,当我只在 as-node-2 中看到日志时。
消息不应该在部署了 WAR 的所有节点上传递吗?我错过了什么?
mqtt - Artemis broker Intercept mqtt client connection
I added a mqtt interceptor into my artemis broker in order to intercept mqtt client connection:
My client apache paho connect to the broker via this port "ws://0.0.0.0:61614".
My problem is that only message published to topics are intercepted.
Why this doesn't intercept CONNECT message ?
hornetq - ArtemisMQ 2.x 上的消息重新分发不起作用
我想在我的带有静态主机的 2 节点集群上启用消息重新分发。但这似乎不起作用。
1)我有 10 个生产者写入节点 1 上的队列“MyTestQueue”(但没有消费者)。
2)我在节点 2 上有 1 个消费者(但没有生产者),它使用来自节点 2 的消息。
我希望节点 1 将消息重新分发到消费者所在的节点 2,但事实并非如此。节点 1 上的消息计数仍然等于发送到节点 1 的消息数量。
我的 broker.xml 中有以下配置设置forward-when-no-consumers
为 false。我也设置redistribution-delay
为零值。
我怎样才能让消息重新分发工作?
java - 如何使用消费者从wildfly jms队列接收消息
从 WildFly JMS 队列接收消息时,我遇到了一个棘手的问题。我的代码如下:
然后进入receiveD90Result():
但是在实施时consumer.receive(10000)
,项目无法从队列中获取消息。如果我使用 MDB 的异步方式来监听队列,我可以从队列中获取消息。如何解决?
wildfly - 使用 Jolokia 监控 activemq 队列
使用 activemq jms 队列机制,我想监控我的队列,例如队列的大小。我使用 Jolokia 作为在 JMX 上执行休息请求的桥梁。
队列在 wildfly 中配置并且工作正常:
我已经在部署下的 Wildfly 上部署了 Jolokia 战争文件,以下 url 为我带来了属性列表:
现在我想阅读有关我的队列的信息,所以我使用以下休息请求:
但是,这会引发以下异常:
我试图通过添加 jmx 子系统来独立启用 jmx,如下所示:
但它仍然不起作用。任何有关我的方法或替代方法的更正的帮助将不胜感激。
jms - 与 ArtemisActiveMQ 建立连接的 Java 代码
寻找与 ArtemisActiveMQ 连接的 java 代码。早期使用 HornetQ 进行消息传递,但现在需要在 ArtemisActiveMQ 上迁移。
wildfly-10 - 如何在 Wildfly 10 中将 Keycloak 安全性添加到消息传递中?
我尝试将消息传递服务器的安全域设置为启用 Keycloak 的安全域,但消息传递子系统(Apache activeMQ artemis)找不到 keycloak 类。如何使消息传递系统可以看到 keycloak 类?
activemq-artemis - Apache Artemis:如何将 JMS 消息移动到不同的队列
新版本的 Artemis删除了该类JMSQueueControl
以及与之关联的所有类。
我们的项目使用 JMS API 来发送/接收/收听,以及管理。我们需要管理队列,包括通过 JMS 消息 ID 将消息从一个队列移动到另一个队列,它是String
.
新版本的 Artemis 2.2.0 有一个QueueControl#moveMessage(long)
,它显然对内部消息 ID(而不是 JMS 消息 ID)进行操作。
问题是:如何使用 Artemis 版本 2.X 中的 JMS 消息 ID 将消息从一个队列移动到另一个队列?
activemq-artemis - 如何从命令行进行artemis队列?
有什么办法可以清除阿尔忒弥斯的队列吗?我已经通过去净化了cd data/paging
。这是我安装我的 artemis 代理的位置。
有一个名为haw.io
artemis 的 UI,虽然我已经删除了分页目录中的所有文件,但它仍然在 UI 上显示消息,在正确的情况下不应该存在。
请建议。
java - Wildfly 10.1.0.FINAL (java.lang.ref.Finalizer / ActiveMQConnection) 上的内存泄漏
我们有一个 java web 应用程序,它通过 JMS 发送 (JobsController.java) 和接收消息 (JMSMessageListener.java)。在恒定负载下运行应用程序 24 小时并进行堆转储后,我观察到内存使用量不断增加,应用程序在空闲状态下不会放手。我知道这会导致 java 堆内存不足的问题。
JobsController 是一个 ejb 无状态 bean,它的资源在每次调用后都会被正确销毁。JMSMessageListener 由 ejb 全局 bean 池处理,并重用其实例。
我可以从 Java 堆转储中看到的嫌疑人是
- EJB bean 注入导致内存泄漏 https://blog.akquinet.de/2017/01/04/dont-get-trapped-into-a-memory-leak-using-cdi-instance-injection/
- ActiveMQConnection.finalize()。如果它是罪魁祸首,那么它必须发生在所有这些 wildfly activemq 部署中。任何提示表示赞赏。
ActiveMQConnection.java
工作控制器
@Stateless 公共类JobsController
{
}
JMSMessageListener.java