我正在運行兩個包含無狀態會話EJB的glassfish v2域。在少數情況下,一個域中的EJB必須在另一個域中調用一個。在glassfish域之間的IIOP中丟失的異常消息
我的問題是,當被調用的EJB異常中止時,調用者不會收到異常的消息,而是報告一個內部錯誤,在診斷問題時根本沒有任何幫助。發生什麼似乎是這樣的:
- 在傳輸層,創建了一個
org.omg.CORBA.portable.ApplicationException
,它已經失去了除該類以外的所有異常的詳細信息。 內
com.sun.jts.CosTransactions.TopCoordinator.get_txcontext()
,交易屁股的狀態回滾導致org.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)
有什麼我可以在這裏做的,以保存有關問題的實際原因的信息?