java - 通过 URI 配置 ActiveMQ 的优先级

标签 java activemq

我有一些关于 ActiveMQ 配置和优先级的类似区域的问题。我当前正在配置 ActiveMQ 代理以关闭消息持久性。

根据文档,我知道它可以通过以下位置的代理配置来实现:

  • xml配置文件()
  • 客户端的 URI (tcp://localhost:61616?persistent=false)
  • 代理端的 URI - xml 配置文件 (tcp://localhost:61616?persistent=false)。

我的第一个问题是,当我在代理端的 URI 中设置 persistence=false 但客户端将使用 URI persistence=true 进行连接时会发生什么?

如果我进行了设置,但在代理端的 URI 中提供了 permanent=false 并且客户端在连接时不会提供任何其他设置,会发生什么情况?

关于connectionTimeout或maximumConnections参数的类似问题。根据文档( http://activemq.apache.org/tcp-transport-reference.html ),它“可以在 JMS 客户端的连接 URI 字符串或代理传输绑定(bind) URI 上进行配置”。如果经纪商端和客户端有不同的设置怎么办?如果两个客户端使用不同的设置连接怎么办?连接超时可能仅与一个特定的连接相关(当客户端提供此参数时),但我不明白 MaximumConnections 如何对每个连接有意义。

从安全角度来看,我的理解是,当我将服务器/代理端的最大连接数限制为 100 时,不应允许客户端增加该数量。

最佳答案

实际上,Broker 上的持久性仅在 XML 配置或嵌入式 Broker 的配置中进行控制,传输连接器无法对此进行控制,客户端也无法更改它。

至于仅基于 TransportConnector 的连接配置,因此设置允许的最大连接数等这些值客户端无法更改,如果可以更改,那将是非常糟糕的。客户端设置仅影响客户端的行为,而不影响代理的行为。如果将代理的 TCP 传输连接器配置的最大值设置为 100,则在任何给定时间仅允许 100 个客户端,并且任何客户端都无法更改该设置。

关于java - 通过 URI 配置 ActiveMQ 的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901412/

相关文章:

java - 使用 activemq 添加 camunda-bpm-wildfly 并在同一个 docker 容器中运行

c++ - ActiveMQ 3.8.3 (CPP) priorityBackup 不工作的问题

java - 扩展 java.util.Random 来控制数字的生成

java - 在 Selenium Java 中从 Excel 文件读取数据

java - MongoDB、Java : Retrieve date property as UTC

java - 如何使用基于java的配置将队列绑定(bind)到交换

java - ActiveMQ - 无法加载 : class path resource [activemq. xml]

activemq - 使用 Cisco VPN 连接时本地主机解决问题

activemq - 如何在 TomEE ActiveMQ 中开启 schedulerSupport

api - 读取 JAR 文件的内容(在运行时)?