我最初的问题是尝试发现并嵌入 HornetQ,使其具有最低限度的依赖性。
我想避免的一项是对 JNDI 的需求。我相信应该可以直接定位所有对象,而不是做 jndi 定位器的事情。
我不是 jndi 的粉丝,因为它似乎是一个全局性的垃圾桶,需要跟踪名称,确保它们不会与其他东西发生冲突等等,很多事情在当请记住,良好的抽象使最低限度的公开。
顺便说一句,这不是咆哮,只是一般性的观察......
最佳答案
我在浏览示例特别是 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);
关于java - 是否可以在没有 JNDI 的情况下将 HornetQ 用作 bean(即使它在某种抽象之后)...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559838/