Я настраиваю встроенный сервер 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
, который уже был создан для очереди, а не создавать новую с нуля.
Да! большое спасибо