Spring 使用嵌入式 ActiveMQ Artemis JMS 服务器启动
Spring Boot with embedded ActiveMQ Artemis JMS server
我正在使用以下代码自定义嵌入式 ActiveMQ Artemis 服务器。
@Override
public void customize(org.apache.activemq.artemis.core.config.Configuration configuration)
它工作正常,我发现我以后可以像这样访问 ->
Queue queue = embeddedActiveMQ.getActiveMQServer().locateQueue("queue");
QueueControl queueControl = new QueueControlImpl(queue,
queue.getAddress().toString(),embeddedActiveMQ.getActiveMQServer(),embeddedActiveMQ.getActiveMQServer().getStorageManager() ,embeddedActiveMQ.getActiveMQServer().getSecurityStore(),embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository());
queueControl.browse();
这样做有问题吗?
我正在尝试编写一个自定义端点来处理队列管理,而不是使用带有 Jolokia 的经典包。
从技术上讲,这样做并没有真正的问题,但可能有更好的方法来完成您想要的事情。例如,要获得一个 QueueControl
实例,您可以这样做:
QueueControl queueControl = embeddedActiveMQ.getActiveMQServer().getManagementService().getResource(ResourceNames.QUEUE + "queue");
这将获取已经为队列创建的QueueControl
,而不是从头开始创建新队列。
我正在使用以下代码自定义嵌入式 ActiveMQ Artemis 服务器。
@Override
public void customize(org.apache.activemq.artemis.core.config.Configuration configuration)
它工作正常,我发现我以后可以像这样访问 ->
Queue queue = embeddedActiveMQ.getActiveMQServer().locateQueue("queue");
QueueControl queueControl = new QueueControlImpl(queue,
queue.getAddress().toString(),embeddedActiveMQ.getActiveMQServer(),embeddedActiveMQ.getActiveMQServer().getStorageManager() ,embeddedActiveMQ.getActiveMQServer().getSecurityStore(),embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository());
queueControl.browse();
这样做有问题吗?
我正在尝试编写一个自定义端点来处理队列管理,而不是使用带有 Jolokia 的经典包。
从技术上讲,这样做并没有真正的问题,但可能有更好的方法来完成您想要的事情。例如,要获得一个 QueueControl
实例,您可以这样做:
QueueControl queueControl = embeddedActiveMQ.getActiveMQServer().getManagementService().getResource(ResourceNames.QUEUE + "queue");
这将获取已经为队列创建的QueueControl
,而不是从头开始创建新队列。