代码之家  ›  专栏  ›  技术社区  ›  Chris Tien

如何通过JNDI设置ActiveMQ连接用户名和密码

  •  1
  • Chris Tien  · 技术社区  · 8 年前

    我正在使用Oozie,试图启用其JMS通知功能。

    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字符串中附加用户/密码信息。有人能帮忙吗?谢谢

    3 回复  |  直到 8 年前
        1
  •  1
  •   Tim Bish    8 年前

    您可以尝试使用以下内容从URI设置它们:

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

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

        2
  •  0
  •   Chris Tien    8 年前

    只需在JNDI字符串中添加“userName#foo;password#bar”就可以了

        3
  •  0
  •   Ilya V    4 年前

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