Jms JNDI未通过查找传递凭据

Jms JNDI未通过查找传递凭据,jms,jndi,weblogic-10.x,tibco-ems,Jms,Jndi,Weblogic 10.x,Tibco Ems,我正在使用Weblogic 10.3.3定义到外部Tibco JMS队列的连接 我已设置: JMS模块 添加了外部服务器详细信息,包括 tibco初始上下文工厂 jndi连接url jndi属性凭证 设置java.naming.security.principal 增加2个国外目的地 设置外部连接工厂详细信息,包括用户名和密码。 在我的代码中,我正在从JNDI执行一个简单的查找 QueueConnectionFactory queueConnectionFactory = (QueueConne

我正在使用Weblogic 10.3.3定义到外部Tibco JMS队列的连接

我已设置:

JMS模块 添加了外部服务器详细信息,包括 tibco初始上下文工厂 jndi连接url jndi属性凭证 设置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=server]

如果我通过了认证,那么就可以了

    QueueConnection connection = queueConnectionFactory.createQueueConnection(user, password);
但是,使用这种方法,我必须在代码中保护我的凭据。关于为什么无参数createQueueConnection无法工作,您有什么想法吗


提前感谢。

本文档提供了答案。一定要使用容器