【问题标题】:how to set ActiveMQ connection username and password through JNDI如何通过JNDI设置ActiveMQ连接用户名和密码
【发布时间】:2018-02-07 23:07:38
【问题描述】:

我正在使用 Oozie,尝试启用其 JMS 通知功能。 我使用以下 JNDI 字符串连接 activeMQ 代理

java.naming.factory.initial#org.apache.activemq.jndi.ActiveMQInitialContextFactory;
java.naming.provider.url#tcp://localhost:61616;
connectionFactoryNames#ConnectionFactory

目前oozie服务器会抛出异常:

javax.jms.JMSException: User name [null] or password is invalid.

但是,我不知道如何在上面的 JNDI 字符串中附加用户/密码信息。有人可以帮忙吗?谢谢!

【问题讨论】:

    标签: activemq jndi oozie


    【解决方案1】:

    tcp://localhost:61616?user=foo;password=bar为我工作

    【讨论】:

    • 为什么这比 e.g. 更受欢迎jms.userName,正如之前提出的,否则类似的答案?
    【解决方案2】:

    您可以尝试使用以下方式从 URI 设置它们:

    java.naming.provider.url#tcp://localhost:61616?jms.userName=foo&jms.password=bar;
    

    这些值也可能在没有 jms 的情况下提供。前缀,因为在某些情况下代码会剥离它们,它在某种程度上取决于使用哪个 ConnectionFactory 以及通过代码设置这些值的路径,似乎在 JNDI 中代码实际上可能使用非前缀版本。测试将胜出并显示哪些有效。

    【讨论】:

    • 用户名#foo;密码#bar
    【解决方案3】:

    只需在 JNDI 字符串中附加“userName#foo;password#bar”最终对我有用

    【讨论】:

      猜你喜欢
      • 2017-08-17
      • 1970-01-01
      • 2015-04-11
      • 2019-05-08
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      • 2014-01-01
      • 2011-10-24
      相关资源
      最近更新 更多