问题标签 [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.

0 投票
1 回答
871 浏览

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 的所有节点上传递吗?我错过了什么?

0 投票
1 回答
245 浏览

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 ?

0 投票
3 回答
830 浏览

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为零值。

我怎样才能让消息重新分发工作?

0 投票
2 回答
627 浏览

java - 如何使用消费者从wildfly jms队列接收消息

从 WildFly JMS 队列接收消息时,我遇到了一个棘手的问题。我的代码如下:

然后进入receiveD90Result():

但是在实施时consumer.receive(10000),项目无法从队列中获取消息。如果我使用 MDB 的异步方式来监听队列,我可以从队列中获取消息。如何解决?

0 投票
1 回答
3749 浏览

wildfly - 使用 Jolokia 监控 activemq 队列

使用 activemq jms 队列机制,我想监控我的队列,例如队列的大小。我使用 Jolokia 作为在 JMX 上执行休息请求的桥梁。

队列在 wildfly 中配置并且工作正常:

我已经在部署下的 Wildfly 上部署了 Jolokia 战争文件,以下 url 为我带来了属性列表:

现在我想阅读有关我的队列的信息,所以我使用以下休息请求:

但是,这会引发以下异常:

我试图通过添加 jmx 子系统来独立启用 jmx,如下所示:

但它仍然不起作用。任何有关我的方法或替代方法的更正的帮助将不胜感激。

0 投票
1 回答
71 浏览

jms - 与 ArtemisActiveMQ 建立连接的 Java 代码

寻找与 ArtemisActiveMQ 连接的 java 代码。早期使用 HornetQ 进行消息传递,但现在需要在 ArtemisActiveMQ 上迁移。

0 投票
0 回答
312 浏览

wildfly-10 - 如何在 Wildfly 10 中将 Keycloak 安全性添加到消息传递中?

我尝试将消息传递服务器的安全域设置为启用 Keycloak 的安全域,但消息传递子系统(Apache activeMQ artemis)找不到 keycloak 类。如何使消息传递系统可以看到 keycloak 类?

0 投票
1 回答
1922 浏览

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 将消息从一个队列移动到另一个队列?

0 投票
3 回答
6635 浏览

activemq-artemis - 如何从命令行进行artemis队列?

有什么办法可以清除阿尔忒弥斯的队列吗?我已经通过去净化了cd data/paging。这是我安装我的 artemis 代理的位置。

有一个名为haw.ioartemis 的 UI,虽然我已经删除了分页目录中的所有文件,但它仍然在 UI 上显示消息,在正确的情况下不应该存在。

请建议。

0 投票
1 回答
702 浏览

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 堆转储中看到的嫌疑人是

  1. EJB bean 注入导致内存泄漏 https://blog.akquinet.de/2017/01/04/dont-get-trapped-into-a-memory-leak-using-cdi-instance-injection/
  2. ActiveMQConnection.finalize()。如果它是罪魁祸首,那么它必须发生在所有这些 wildfly activemq 部署中。任何提示表示赞赏。

ActiveMQConnection.java

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

工作控制器

@Stateless 公共类JobsController
{

}

JMSMessageListener.java