当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ Artemis中的筛选。在群集中重新加载配置

郁宾鸿
2023-03-14

关于ActiveMQ Artemis中筛选的一个问题。

在broker.xml中的标记下

<core>
      <configuration-file-refresh-period>5000</configuration-file-refresh-period>

  <queues>
    <queue name="MyQueue.IN">
        <address>MyQueue.IN</address>
        <filter string="TOSTATUS='ORDER'"/>
        <durable>true</durable>
    </queue>
  </queues>
</core>

当我阅读手册时,更改broker.xml时,现在应该每5秒在broker.xml中重新配置一次。

但当我将过滤器更改为

<filter string="TOSTATUS='ORDERPICKUP'"/>

共有1个答案

林俭
2023-03-14

您正在看到预期的行为。尽管这种行为可能不是直观的,也不是特别友好的用户,但它是为了保护数据完整性。队列是不可变的,所以一旦创建了它们,就不能更改它们。因此,要“更改”队列,必须删除并重新创建它。当然,删除队列意味着丢失队列中的所有消息,这可能是灾难性的。一般来说,有两种方法可以删除队列并重新创建它:

  1. 设置 强制 在匹配的 中。但是,目前这种方法存在一个问题,将通过Artemis-2076.
  2. 来解决这个问题
  3. 在代理运行时通过管理删除队列。这可以通过JMX(例如使用JConsole)、web控制台、Artemis CLI等来完成。一旦代理停止,更新XML,然后重新启动代理。
 类似资料:
  • 问题内容: 我正在编写一个托管云堆栈(在诸如EC2之类的硬件级云提供程序之上),我不久将面临的一个问题是: 几个相同的节点如何确定其中一个成为主节点?(即,考虑在EC2上运行的5台服务器。其中一台必须成为主服务器,而其他服务器必须成为从服务器。) 我阅读了MongoDB使用的算法的说明,它看起来非常复杂,并且还取决于投票的概念—即,两个单独的节点将无法决定任何事情。同样,他们的方法在产生结果之前有

  • 现在我花了几天时间在java logger:log4j2上。如果您决定使用一个java logger,那么这种方法相对容易。xml文件。但是,如果您想通过代码创建配置,并通过java进行调整,那么这就有点复杂了。 下面的代码我现在可以管理。我没有成功地重新配置日志级别 每次深度在错误级别停止 您能否帮助指定如何重新加载已编程的log4j2配置? 谢谢

  • 我在我的应用程序中使用导航栏,每次我选择一个项目时,它都会加载一个片段。 我能够使用相同的文本字段和按钮保存片段的状态,但有一个片段可以加载地图、添加标记、集群并执行。 每次我转到另一个菜单项并返回时,它都会重新加载所有内容,例如AsyncTask、Cluster、Markers。我如何停止此片段以不再重新创建地图并在返回时保存状态: Udate 1:我更新了代码,但问题仍然存在 主要活动: 主片

  • 我想更改页面加载时的“选择组件”值。我读了相关的帖子,那里提出的每一个解决方案都适用于点击按钮。然而,我想要的是在页面加载后设置值,而不需要任何用户操作。我拥有的是: 以及: 我有相同的代码附加到按钮上,并且它可以工作。它只是不适用于准备()函数。所以我的问题是:如何在页面加载后设置选择值? 完整html

  • 而且,查询只请求插入的一小部分最新行。我现在遇到的问题是,这些查询的性能与表大小呈负相关。随着表的增长,即使查询只返回几行,获取响应的时间也要长得多。 您能否建议我应该如何修改表模式以避免性能下降(例如,创建索引或设置集群)?谢了!

  • 我有一个3节点Hadoop集群(Apache Hadoop-2.8.0)设置。我已经部署了2个使用QJM在HA模式下配置的名称代码。在安装namenode的同一台计算机上配置了2个数据阳极。第三个节点仅用于仲裁目的。 需要帮助..