Можно ли использовать HornetQ в качестве bean-компонентов без JNDI (даже если он стоит за какой-то абстракцией)...?

Моя первоначальная проблема - попытка обнаружить и внедрить HornetQ с минимальным количеством зависимостей.

Один пункт, который я хотел бы избежать - это необходимость в JNDI. Я полагаю, что можно найти все объекты напрямую, а не делать jndi-локатор.

Я не фанат jndi, потому что это похоже на глобальное дерьмо, где нужно отслеживать имена, следить за тем, чтобы они не конфликтовали с другими вещами и т. Д., Многие вещи кажутся неправильными, когда кто-то вспоминает, что хорошие абстракции делают минимум общественности.

Кстати, это не напыщенная речь, просто общее наблюдение...

1 ответ

Решение

Я нашел ответ на свой вопрос q, просматривая примеры, в частности EmbeddedExample.java, который говорит: "Да" - можно не использовать JNDI.

 // Step 1. Create the Configuration, and set the properties accordingly
     Configuration configuration = new ConfigurationImpl();
     configuration.setPersistenceEnabled(false);
     configuration.setSecurityEnabled(false);
     configuration.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));

     // Step 2. Create and start the server
     HornetQServer server = HornetQServers.newHornetQServer(configuration);
     server.start();

     // Step 3. As we are not using a JNDI environment we instantiate the objects directly
     ClientSessionFactory sf = HornetQClient.createClientSessionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));

     // Step 4. Create a core queue
     ClientSession coreSession = sf.createSession(false, false, false);
Другие вопросы по тегам