首页 文章

ActiveMQ JNDI如何工作

提问于
浏览
0

我是ActiveMQ的新手,我正在努力了解ActiveMQ命名服务的工作原理 . 如果我已正确理解,为了能够使用activeMQ代理,必须通过JNDI来检索connectionFactory和目标(主题,队列) .

ActiveMQ提供命名服务,其位置通过jndi.properties文件中的 java.naming.provider.url 变量定义 . 读取类代码ActiveMQInitialContextFactoryActiveMQConnectionFactory我注意到变量java.naming.provider.url( Context.PROVIDER_URL )用于启动BrokerURL的值,该值用于定位JMS代理而不是定位命名服务 .

我的问题如下:

  • 我的句子和推理是否正确?

  • ActiveMQ实际上没有提供命名服务实现?

  • 对于activeMQ,JNDI管理的对象是不是真正创建了提供者端?相反,它们是在JMS客户端创建的吗?

1 回答

  • 0

    据我所知,ActiveMQ不提供服务器端命名服务 . 也就是说,没有单独的服务侦听某些特定端口,它只响应名称查询 . 通常在使用JNDI查找来定位ActiveMQ代理或目标时,这将位于应用程序服务器上下文中,其中应用程序服务器提供JNDI基础结构 .

    在应用程序服务器上下文之外,我的经验是开发人员通常实例化 ActiveMQConnectionFactory 并直接设置其属性,而不使用JNDI .

相关问题