【问题标题】:How ActiveMQ JNDI worksActiveMQ JNDI 的工作原理
【发布时间】:2018-04-04 09:27:03
【问题描述】:

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

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

我的问题如下:

  1. 我的句子和推理是否正确?
  2. ActiveMQ 并没有真正提供命名服务实现?
  3. 在activeMQ的情况下,JNDI管理的对象并不是真的 创建提供方?相反,它们是在 JMS 客户端创建的?

【问题讨论】:

  • 你要的是 JNDI 还是 HASH ?

标签: java activemq jndi


【解决方案1】:

据我所知,ActiveMQ 不提供服务器端命名服务。也就是说,在某个特定端口上没有单独的服务监听,它只响应名称查询。通常当使用 JNDI 查找来定位 ActiveMQ 代理或目的地时,这将在应用服务器上下文中,应用服务器提供 JNDI 基础设施。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2012-01-21
    • 2010-10-01
    • 2019-01-24
    • 2021-03-20
    • 2011-10-26
    相关资源
    最近更新 更多