【发布时间】:2010-11-22 22:10:35
【问题描述】:
我正在尝试通过 Geronimo 的 JNDI 查找 QueueConnectionFactory 和 Queue。 Queue 返回正常,但 QueueConnectionFactory 查找始终返回 null。它不会抛出 NamingException,如果 JNDI 名称不正确,这是我所期望的。
谁能看到我做错了什么?下面的测试代码输出:
真的 错误的
import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class JndiTest
{
private final static String QUEUE_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAAdminObject/SendReceiveQueue";
private final static String FACTORY_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAManagedConnectionFactory/DefaultActiveMQConnectionFactory";
public static void main(String[] args) throws NamingException
{
InitialContext ctx = new InitialContext();
QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(FACTORY_NAME);
Queue queue = (Queue)ctx.lookup(QUEUE_NAME);
System.out.println(factory == null);
System.out.println(queue == null);
}
}
以防万一:我在课堂上添加了 openejb-client-3.0.1.jar、geronimo-ejb_3.0_spec-1.0.1.jar 和 activemq-core-4.1.2-G20090207.jar路径,我的 jndi.properties 文件具有以下属性:
java.naming.factory.initial = org.apache.openejb.client.RemoteInitialContextFactory java.naming.provider.url = ejbd://127.0.0.1:4201【问题讨论】:
标签: java jakarta-ee jms jndi geronimo