2010-12-07 13 views
1

私が使用して小さなスタンドアロンクライアントを作成しました:WebsphereサーバーからWeblogic JMSに接続するにはどうすればよいですか?

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

jms.xyz.jmsXyzCf 
jms/xyz/jmsXyzLogQueue 

をそして、それは完璧に動作します。

私のwebsphereサーバーから同じコードを実行しようとすると、私はNullPointerExceptionとなります。私はクラスパスにWebLogicクラスを持っていないので、これが起こる理解:

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

Security Permissionエラーが発生するのは、何かがSystem.exitを呼び出そうとしているからです。スタックトレースを見てください。 exitVM:このターゲットはJava VMを停止する権限を与えます。このアクセス許可を与えると、自動的に強制的にVMを停止させることにより、悪質なコードがDoS攻撃を仕掛ける可能性があります。 – Manglu

+0

ここに投稿したスタックトレースから(System.exit)がどのようにトリガされるのかわかりません。これは、サーバーが、確かに興味がないであろうシャットダウンされるだろうWAS J2セキュリティポリシーは、あなたの実行時asotherwiseアクセスを妨げているように私には良い意味があります。ログ内の他のものがあります(この出口は何かに関係している可能性がありますそうでなければ、例として同じサーバー上にホストされている別のアプリ。 – Manglu

答えて

0

WebSphereは、サードパーティーの実装を使用してシステムレベルの機能(JNDIなど)を実行するのに適しているとは厳密には分かっていません。最後に、WebSphereのクラス(WebSphereのInitialContextFactory実装を含む)を使用する必要があります。

WebSphereで実行している場合、InitialContextFactory実装を明示的に指定する必要はありません(実際にはではありません)。 WebSphereはそれ自体を結論づけることができます。

私が正しく理解している場合、WebSphereサーバープロセス内からWebLogic JMS管理対象オブジェクトに接続しようとしています。私が考えることができる唯一の方法は、WebLogic JMSの実装クラスを取得してJMSプロバイダとして追加し、JNDIを使用してそれを参照することです。私は訂正してもうれしいです。

関連する問題