3

我最初的问题是尝试以最少的依赖项发现和嵌入 HornetQ。

我想避免的一项是对 JNDI 的需求。我相信应该可以直接定位所有对象,而不是做 jndi 定位器的事情。

我不是 jndi 的粉丝,因为它似乎就像一个全球性的垃圾桶,需要跟踪名称,确保它们不会与其他事情发生冲突等等,当人们记得时,很多事情看起来都是错误的好的抽象使最低限度的公开。

顺便说一句,这不是咆哮,只是一般观察......

4

1 回答 1

4

我在浏览示例时找到了我自己 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);
于 2010-12-30T06:17:35.540 回答