我最初的问题是尝试以最少的依赖项发现和嵌入 HornetQ。
我想避免的一项是对 JNDI 的需求。我相信应该可以直接定位所有对象,而不是做 jndi 定位器的事情。
我不是 jndi 的粉丝,因为它似乎就像一个全球性的垃圾桶,需要跟踪名称,确保它们不会与其他事情发生冲突等等,当人们记得时,很多事情看起来都是错误的好的抽象使最低限度的公开。
顺便说一句,这不是咆哮,只是一般观察......
我最初的问题是尝试以最少的依赖项发现和嵌入 HornetQ。
我想避免的一项是对 JNDI 的需求。我相信应该可以直接定位所有对象,而不是做 jndi 定位器的事情。
我不是 jndi 的粉丝,因为它似乎就像一个全球性的垃圾桶,需要跟踪名称,确保它们不会与其他事情发生冲突等等,当人们记得时,很多事情看起来都是错误的好的抽象使最低限度的公开。
顺便说一句,这不是咆哮,只是一般观察......
我在浏览示例时找到了我自己 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);