2010-12-07 80 views
1

使用我创建了一个小型的独立客户端:如何从Websphere服务器连接到Weblogic JMS?

weblogic.jndi.WLInitialContextFactory 
t3://weblogic-server:7001 

jms.xyz.jmsXyzCf 
jms/xyz/jmsXyzLogQueue 

它完美的作品。

当试图从我的websphere服务器运行相同的代码时,我得到NullPointerException。我明白这是因为我没有在Weblogic的CLASSPATH类:

Caused by: java.lang.NullPointerException 
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:235) 
at javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:327) 
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:357) 
at javax.naming.InitialContext.internalInit(InitialContext.java:295) 
at javax.naming.InitialContext.(InitialContext.java:212) 

当我尝试添加他们,我得到一些“安全”的错误

Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. 

java.security.AccessControlException: Access denied (java.lang.RuntimePermission exitVM.0) 
at java.security.AccessController.checkPermission(AccessController.java:108) 
at java.lang.SecurityManager.checkPermission(SecurityManager.java:533) 
at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java:211) 
at java.lang.SecurityManager.checkExit(SecurityManager.java:745) 
at java.lang.Runtime.exit(Runtime.java:100) 
at java.lang.System.exit(System.java:297) 

截至上的资源,我试着使用websphere自己的上下文工厂连接:com.ibm.websphere.naming.WsnInitialContextFactory,但当然因为它不理解t3而失败。

问题

我怎样才能连接到从WebSphere在WebLogic JMS?

+0

你得到一个安全权限错误的原因是因为某些东西试图调用一个System.exit。看看堆栈跟踪。 exitVM:该目标授予停止Java VM的权限。授予此权限可能会允许恶意代码通过自动强制虚拟机停止来发起拒绝服务攻击。 – Manglu 2010-12-10 01:50:55

回答

0

WebSphere并不完全以使用第三方实现来运行系统级功能(如JNDI)而闻名。最后,您将不得不使用WebSphere的类(包括WebSphere的InitialContextFactory实现)。

在WebSphere下运行时,您不需要(实际上,不应该)显式指定InitialContextFactory实现; WebSphere可以(也应该)自己对其进行总结。

如果我理解正确,您正试图从WebSphere服务器进程内连接到WebLogic JMS管理对象。我能想到的唯一方法就是获取WebLogic JMS的实现类并将其添加为JMS提供者,然后使用JNDI查找它。不过,我很乐意纠正。

相关问题