ステートレス セッション EJB を含む 2 つの glassfish v2 ドメインを実行しています。場合によっては、あるドメインの EJB が別のドメインの EJB を呼び出さなければならないことがあります。
私の問題は、呼び出された EJB が例外で異常終了した場合、呼び出し元が例外のメッセージを受信せず、代わりに問題の診断にまったく役立たない内部エラーを報告することです。何が起こるかは次のようです:
- トランスポート層で
org.omg.CORBA.portable.ApplicationException
が作成されますが、クラスを除く例外に関する詳細情報はすべて失われています。 内部
com.sun.jts.CosTransactions.TopCoordinator.get_txcontext()
では、ロールバックされたトランザクションのステータスにより、 aorg.omg.CosTransactions.Unavailable
がスローされ、ラップされて数回渡され、最終的に次のエラーがユーザーに表示されます。org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x0 minor code: 0 completed: No at com.sun.jts.CosTransactions.CurrentTransaction.sendingRequest(CurrentTransaction.java:807) at com.sun.jts.CosTransactions.SenderReceiver.sending_request(SenderReceiver.java:139) at com.sun.jts.pi.InterceptorImpl.send_request(InterceptorImpl.java:344) at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeClientInterceptorStartingPoint(InterceptorInvoker.java:271) at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeClientPIStartingPoint(PIHandlerImpl.java:348) at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:284) at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:184) at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:186) at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152) at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
問題の実際の原因に関する情報を保持するために、ここでできることはありますか?