【问题标题】:JMS Unable to resolve QueueConnectionFactoryJMS 无法解析 QueueConnectionFactory
【发布时间】:2017-05-19 22:51:55
【问题描述】:

大众!

我有问题。我想阅读一些来自 Weblogic 12c 的消息。此代码当前正在与我未配置的另一台服务器一起使用。所以问题可能出在服务器的配置上。

问题是当我使用代码时:

public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
public final static String JMS_FACTORY="QCF";
public final static String QUEUE="dizzyworldQueue";
public final static String USER_NAME="weblogic";
public final static String USER_PASSWORD="Welcome1";
public final static String URL="t3://localhost:8001";

private static InitialContext getInitialContext(String url) throws NamingException
{
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
    env.put(Context.PROVIDER_URL, url);
    env.put(Context.SECURITY_PRINCIPAL, USER_NAME);
    env.put(Context.SECURITY_CREDENTIALS, USER_PASSWORD);
    return new InitialContext(env);
}


    qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
    qcon = qconFactory.createQueueConnection(); // here it falls

错误是:

线程“主”javax.naming.NameNotFoundException 中的异常:无法解析“QCF”。已解决 '' [根异常是 javax.naming.NameNotFoundException:无法解析 'QCF'。解决 ''];剩余名称“QCF”

我的服务器上有 Queue 和 QueueConnection 工厂。可能是什么?

【问题讨论】:

    标签: queue jms weblogic12c


    【解决方案1】:

    消息表明在您的命名服务 (JNDI) 中没有绑定名称为“QCF”的连接工厂。

    所以你必须配置你的应用服务器通过 JNDI 提供队列连接工厂。

    如果情况已经如此,您必须在客户端代码中更改该名称以匹配 JNDI 中的名称。

    您必须在管理控制台中添加连接工厂和队列。

    查找服务 - JMS 模块。可能添加一个 JMS 模块,并添加一个连接工厂和队列。

    看看这个tutorial,它显示了配置它的步骤。

    【讨论】:

    • 很棒的教程。我做了两次这样的步骤,但它们之间的差异很小。谢谢!
    • @NarendraJaggi 那个教程已经过去了,看看新的。
    猜你喜欢
    • 2015-07-19
    • 2016-09-20
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    相关资源
    最近更新 更多