我正在尝试在 Tomcat 中启动 hornetQ 2.0.0.GA。
我的应用程序在初始化时会尝试以这种方式启动 hornetq 服务器:
org.jnp.server.Main jndiServer;
jndiServer = new Main();
jndiServer.setNamingInfo(命名);
jndiServer.setPort(1099);
jndiServer.setBindAddress("localhost");
jndiServer.setRmiPort(1098);
jndiServer.setRmiBindAddress("localhost");
jndiServer.start();
...
jmsServer = new JMSServerManagerImpl(hornetqServer, jmsConfig);
jmsServer.start();
我需要启动 jndi 服务,这样我就可以查找 ConnectionFactory 以将其与 Bitronix TM 集成。
它在独立测试中运行正常,但是当我在 tomcat 中运行它时,
我在 jndiServer.start() 中遇到错误;
引起:java.lang.NullPointerException 在 sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:175) 在 java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:293) 在 java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:256) 在 org.jnp.server.Main.initJnpInvoker(Main.java:462) 在 org.jnp.server.Main.start(Main.java:422) ... 还有 50 个
有什么帮助吗?
Cảm ơn,
德棉
我相信 HQ 2.0 上的 JMSServerManager 中有一个方法 setJNDIContext(因为您正在实例化自己的上下文)。
在 2.2.5 上,有一个名为 BindingRegistry 的中间接口(interface)。您可以使用它来将命名上下文插入 Tomcat 上的任何内容(包括 JNDI)
Tôi là một lập trình viên xuất sắc, rất giỏi!