沃尔克斯!
我有问题。我想阅读一些来自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
错误是:
线程“main”中的异常javax.naming.NameNotFoundException:无法解析'QCF'。已解决''[根异常是javax.naming.NameNotFoundException:无法解析'QCF'。解决 ''];剩余名称'QCF'
我的服务器上有Queue和QueueConnection工厂。什么可以成为里程?
答案 0 :(得分:1)
消息显示您的命名服务(JNDI)中没有名为“QCF”的连接工厂绑定。
因此,您必须配置应用程序服务器以通过JNDI提供队列连接工厂。
如果已经是这种情况,则必须在客户端代码中更改该名称以匹配JNDI中的名称。
您必须在管理控制台中添加连接工厂和队列。
寻找服务 - JMS模块。可能添加JMS模块,并添加连接工厂和队列。
看一下这个tutorial,它会显示配置它的步骤。