JNDI没有通过查找传递凭据

时间:2015-03-23 14:43:23

标签: jms jndi weblogic-10.x tibco-ems

我使用Weblogic 10.3.3定义与外部Tibco JMS队列的连接。

我已经设置好了:

  • JMS模块
    • 添加了外国服务器详情,包括
      • tibco初始背景工厂
      • jndi connection url
      • jndi properties credential
      • 设置java.naming.security.principal
    • 新增2个外国目的地
    • 设置外部连接工厂详细信息,包括用户名和密码。

在我的代码中,我正在从JNDI进行简单的查找。

QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) _context.lookup(JNDI_JMS_FACTORY_NAME);

由于我在weblogic上配置了凭据,因此我希望以下内容可以正常工作。

QueueConnection connection = queueConnectionFactory.createQueueConnection();

然而,我得到:
javax.jms.JMSSecurityException:无法连接到任何服务器: server [错误:身份验证失败:返回此异常的url = 服务器]

如果我通过了凭据,那么它可以正常工作。

    QueueConnection connection = queueConnectionFactory.createQueueConnection(user, password);

但是,使用这种方法我必须在我的代码中保护我的凭据。关于无参数createQueueConnection无法工作的任何想法?

提前致谢。

1 个答案:

答案 0 :(得分:0)

本文档提供了答案。确保使用容器

http://docs.oracle.com/cd/E14571_01/web.1111/e13727/j2ee.htm#JMSPG367