2012-09-14 23 views
5

私はクライアントアプリケーションとJBoss AS 7.1.1を使用しているサーバーを持っています。起動時に、私のクライアントはサーバにうまく接続し、使用するためのリモートインタフェースを提供します。しかし、私はインターフェイスを介して関数を実行しようとすると、この例外が発生します:IllegalStateException:処理可能なEJBレシーバーがありません

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: 
No EJB receiver available for handling [appName:GrahamsProjServer,modulename:GrahamsProjServer,distinctname:] 
combination for invocation context [email protected] 
     at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584) 
     at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119) 
     at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) 
     at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) 
     at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) 
     at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) 
     at $Proxy0.persistSchemas(Unknown Source) 
     at grahamsprojclient.main.GrahamsProjScreen.btnPersistActionPerformed(Unknown Source) 
     at grahamsprojclient.main.GrahamsProjScreen.access$400(Unknown Source) 
     at grahamsprojclient.main.GrahamsProjScreen$5.actionPerformed(Unknown Source) 
     at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
     at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
     at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
     at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
     at java.awt.Component.processMouseEvent(Unknown Source) 
     at javax.swing.JComponent.processMouseEvent(Unknown Source) 
     at java.awt.Component.processEvent(Unknown Source) 
     at java.awt.Container.processEvent(Unknown Source) 
     at java.awt.Component.dispatchEventImpl(Unknown Source) 
     at java.awt.Container.dispatchEventImpl(Unknown Source) 
     at java.awt.Component.dispatchEvent(Unknown Source) 
     at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
     at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
     at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
     at java.awt.Container.dispatchEventImpl(Unknown Source) 
     at java.awt.Window.dispatchEventImpl(Unknown Source) 
     at java.awt.Component.dispatchEvent(Unknown Source) 
     at java.awt.EventQueue.dispatchEvent(Unknown Source) 
     at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
     at java.awt.EventDispatchThread.run(Unknown Source) 

サーバにエラーはありません。それは、私がその機能を実行するときにサーバーと話していないかのように見えます。私のクライアントがサーバに接続しているときに起動するとどうなるでしょうか?機能を実行しようとすると接続しません。

答えて

5

メッセージそのものが接続しない理由はあまりありません。あなたの質問には答えられませんが、少なくとも正しい方向を指しているかもしれません。

JBoss EJBクライアントライブラリではLog4jを使用しているため、System.outまたはSystem.errには出力されません。実際に何が起きているのかを知るには、org.jboss.ejb.clientパッケージのログを有効にする必要があります。あなたのlog4j.propertiesでこのラインを含むことによって:これで

log4j.logger.org.jboss.ejb.client=TRACE 

をあなたはより良いクライアントがあなたのためにやっているかを見ることができますし、おそらく根本的なエラーが出力されますが有効。

また、JBossの7.1.0のように、security-realmはその1は、次のいずれかを行う必要があり、リモート呼び出しを行うために、デフォルトで有効になっています:

  • standalone.xmlファイルから<security-realm/>を除去することによって、それを無効に

OR

  • bin/add-user(.bat)(.sh)スクリプトを使用してサーバーにユーザーを追加します。追加したら、jboss-ejb-client.propertiesファイルにuser/pwd情報を含めてください。

HereリモートクライアントからEJBコールを作成する方法についての詳細なガイドがあります。

+0

これは私にとって正しい答えです。 –

関連する問題