Стандарт JMS касается только отправки и получения данных из объектов, таких как очереди и темы.Создание JMS-артефактов зависит от поставщика и чаще всего требует использования:
1) API-интерфейсов конкретного поставщика (не JMS)
2) сообщений команды / администратора, направленных на сервер JMS (агенты команд на activemq)
3) JMX API
Я использовал метод JMX, который является самым мощным, но также и наиболее эффективным.
Метод JMX для activemq (версия5.0 +)
a) Настройка сервера JMS
1) Включить JMX в сценариях запуска activemq и файлах activemq.xml
2)Если вы проходите аутентификацию на сервере, убедитесь, что у вашего пользователя есть настройки admin в файле activemq.xml (см. http://activemq.apache.org/security.html)
3), перезапустите сервер activemq
b) Ваш код клиента
1) создайте экземпляр org.apache.activemq.broker.jmx.BrokerViewMBean
(вам нужно будет подключиться с некоторым кодом подключения JMX, который немного запутан)
2)используйте метод addQueue
.Это создаст очередь на сервере
(Процесс похож на hornetq, но так как вы упомянули Activemq, я опускаю здесь детали hornetq.)
Я сам использовал этот метод, и он работает.
Альтернативой является использование Командных агентов в Activemq, но у меня нет личного опыта с ними.Это специальные сообщения, содержащие команды администратора, и могут делать то, что вы хотите.