是否可以在没有 JNDI 的情况下将 HornetQ 用作 beans(即使它位于某些抽象后面)...?

发布于 2024-10-09 08:56:33 字数 233 浏览 7 评论 0原文

我最初的问题是尝试发现并嵌入 HornetQ,使其具有最少的依赖关系。

我想避免的一项是需要 JNDI。我相信应该可以直接定位所有对象,而不是执行 jndi 定位器的操作。

我不是 jndi 的粉丝,因为它似乎是一个全球性的垃圾桶,需要跟踪名称,确保它们不与其他事物发生冲突等等,当人们记住这一点时,许多事情似乎都是错误的好的抽象可以使公众达到最低限度。

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

My original problem is an attempt to discover and embed HornetQ with a bare minimum of dependencies.

One item i would like to avoid is the need for JNDI. I believe it should be possible locate all the objects directly rather than doing the jndi locator thing.

I am not a fan of jndi because it seems to be like a global bucket of crap, where one needs to keep track of names, make sure they dont conflict w/ other things and so on, many things which seem wrong when one remembers that good abstractions make a bare minimum public.

BTW this is not a rant just a general observation...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

上课铃就是安魂曲 2024-10-16 08:56:33

我在浏览示例时找到了我自己的问题的答案,特别是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);

I found an answer to my own q while browsing the examples particularly EmbeddedExample.java which says "yes" one can does not need 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文