【发布时间】:2022-12-15 02:46:35
【问题描述】:
当向未配置的 ActiveMQ 中的队列发送消息时(例如使用JmsTemplate.convertAndSend()),队列是动态创建的(即时)。
是否有可能抛出异常(例如,如果队列不是在代理上显式创建的)?
【问题讨论】:
-
这里有什么反馈吗?
标签: activemq
当向未配置的 ActiveMQ 中的队列发送消息时(例如使用JmsTemplate.convertAndSend()),队列是动态创建的(即时)。
是否有可能抛出异常(例如,如果队列不是在代理上显式创建的)?
【问题讨论】:
标签: activemq
是的,如果未在代理上显式创建队列,则可能会抛出异常。 JMS 目标是为具有admin 权限的用户自动创建的。因此,您不希望代理为其自动创建 JMS 目的地的任何用户都应该不是担任具有admin 权限的角色。这是一个示例配置:
<broker>
..
<plugins>
..
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue="myQueue" read="consumers" write="producers" admin="admins" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
..
</plugins>
..
</broker>
在此配置中,admins 角色中的任何用户都将拥有 admin 权限,代理将自动为这些用户创建 JMS 目的地。
【讨论】: