|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
InitialContext / Comms protocol recovery from a SystemExceptionHey,
When I get a SystemException from the container during remote EJB invocation, all future requests for the InitialContext are "broken". My exact situation (reason for causing the SystemException) is on my fault, but if there is another reason I think it's good to recover from it so to be able to continue serving requests. I got the following by invoking on a method which isn't in the remote EJB class/Remote interface. This is what I got: ------- SNIP ------- 02 Nov 2009 20:28:33,649 ERROR -- Exception: Error deleting employee: XXXXXX (javax.ejb.EJBException) javax.ejb.EJBException: Container has suffered a SystemException org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:178) org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) $Proxy7.deletePerson(Unknown Source) net.kunye.personnel.client.employees.delete.DeleteEmployeeWizardAction.performAction(DeleteEmployeeWizardAction.java:87) net.kunye.personnel.client.employees.delete.DeleteEmployeeWizardAction.performAction(DeleteEmployeeWizardAction.java:55) org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:589) org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77) org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:585) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.AbstractButton.doClick(AbstractButton.java:357) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121) java.rmi.RemoteException: The server has encountered a fatal error: Unknown error in container java.lang.NullPointerException; nested exception is: java.lang.NullPointerException org.apache.openejb.server.ejbd.EjbRequestHandler.replyWithFatalError(EjbRequestHandler.java:425) org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:205) org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149) org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213) org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) java.lang.NullPointerException: null org.apache.geronimo.openejb.GeronimoSecurityService.isCallerAuthorized(GeronimoSecurityService.java:96) org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:151) org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:136) org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238) org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129) org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149) org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213) org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619) ------- SNIP ------- There after, when I try to invoke OTHER methods, I get this: 02 Nov 2009 20:29:45,990 ERROR -- Exception: Error creating new employee: XXXXXX (javax.ejb.EJBException) javax.ejb.EJBException: Unknown Container Exception: java.rmi.RemoteException: Received invalid response code from server: -1 org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:184) org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) $Proxy7.registerPerson(Unknown Source) net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java:69) net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java:47) net.kunye.personnel.client.navigation.NavigationRootTopComponent.btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) net.kunye.personnel.client.navigation.NavigationRootTopComponent.access$000(NavigationRootTopComponent.java:36) net.kunye.personnel.client.navigation.NavigationRootTopComponent$1.actionPerformed(NavigationRootTopComponent.java:67) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121) java.rmi.RemoteException: Received invalid response code from server: -1 org.apache.openejb.client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:239) org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:157) org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) $Proxy7.registerPerson(Unknown Source) net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java:69) net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java:47) net.kunye.personnel.client.navigation.NavigationRootTopComponent.btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) net.kunye.personnel.client.navigation.NavigationRootTopComponent.access$000(NavigationRootTopComponent.java:36) net.kunye.personnel.client.navigation.NavigationRootTopComponent$1.actionPerformed(NavigationRootTopComponent.java:67) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Quintin Beukes |
|
|
Re: InitialContext / Comms protocol recovery from a SystemExceptionHaven't seen this before, looks like the null is coming from the
GeronimoSecurityService. We test system and application exceptions in the itests for each bean type on both the remote and local servers as well as on Tomcat. We don't run those on Geronimo though, which we really should. There was some code in Geronimo to do that at one point, but it got axed as being too hard to maintain quite a while ago. I think we should bring it back. I'm not sure what it might take Geronimo plan-wise, but here's the app: http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-beans/3.1.2/openejb-itests-beans-3.1.2.jar And the client which includes all deps and is an executable jar: http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-standalone-client/3.1.2/openejb-itests-standalone-client-3.1.2.jar -David On Nov 2, 2009, at 10:44 AM, Quintin Beukes wrote: > Hey, > > When I get a SystemException from the container during remote EJB > invocation, all future requests for the InitialContext are "broken". > My > exact situation (reason for causing the SystemException) is on my > fault, but > if there is another reason I think it's good to recover from it so > to be > able to continue serving requests. I got the following by invoking > on a > method which isn't in the remote EJB class/Remote interface. > > This is what I got: > ------- SNIP ------- > 02 Nov 2009 20:28:33,649 ERROR -- Exception: Error deleting > employee: XXXXXX > (javax.ejb.EJBException) > javax.ejb.EJBException: Container has suffered a SystemException > > org > .apache > .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:178) > > org > .apache > .openejb > .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) > > org > .apache > .openejb > .client > .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) > $Proxy7.deletePerson(Unknown Source) > > net > .kunye > .personnel > .client > .employees > .delete > .DeleteEmployeeWizardAction > .performAction(DeleteEmployeeWizardAction.java:87) > > net > .kunye > .personnel > .client > .employees > .delete > .DeleteEmployeeWizardAction > .performAction(DeleteEmployeeWizardAction.java:55) > > org.openide.util.actions.NodeAction$DelegateAction > $1.run(NodeAction.java:589) > > org > .netbeans > .modules > .openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77) > > org.openide.util.actions.NodeAction > $DelegateAction.actionPerformed(NodeAction.java:585) > > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: > 1995) > > javax.swing.AbstractButton > $Handler.actionPerformed(AbstractButton.java:2318) > > javax > .swing > .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: > 242) > javax.swing.AbstractButton.doClick(AbstractButton.java:357) > > javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java: > 1220) > > javax.swing.plaf.basic.BasicMenuItemUI > $Handler.mouseReleased(BasicMenuItemUI.java:1261) > java.awt.Component.processMouseEvent(Component.java:6041) > javax.swing.JComponent.processMouseEvent(JComponent.java:3265) > java.awt.Component.processEvent(Component.java:5806) > java.awt.Container.processEvent(Container.java:2058) > java.awt.Component.dispatchEventImpl(Component.java:4413) > java.awt.Container.dispatchEventImpl(Container.java:2116) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: > 4322) > java.awt.LightweightDispatcher.processMouseEvent(Container.java: > 3986) > java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) > java.awt.Container.dispatchEventImpl(Container.java:2102) > java.awt.Window.dispatchEventImpl(Window.java:2440) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > > org > .netbeans > .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) > > java > .awt > .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: > 273) > > java > .awt > .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) > > java > .awt > .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: > 173) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 168) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 160) > java.awt.EventDispatchThread.run(EventDispatchThread.java:121) > > java.rmi.RemoteException: The server has encountered a fatal error: > Unknown > error in container java.lang.NullPointerException; nested exception > is: > java.lang.NullPointerException > > org > .apache > .openejb > .server > .ejbd.EjbRequestHandler.replyWithFatalError(EjbRequestHandler.java: > 425) > > org > .apache > .openejb > .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: > 205) > > org > .apache > .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) > org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: > 149) > org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) > > org.apache.openejb.server.ejbd.KeepAliveServer > $Session.service(KeepAliveServer.java:213) > > org > .apache > .openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) > org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) > org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) > org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) > > java.util.concurrent.ThreadPoolExecutor > $Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor > $Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:619) > > java.lang.NullPointerException: null > > org > .apache > .geronimo > .openejb > .GeronimoSecurityService > .isCallerAuthorized(GeronimoSecurityService.java:96) > > org > .apache > .openejb > .core.stateless.StatelessContainer.invoke(StatelessContainer.java:151) > > org > .apache > .openejb > .core.stateless.StatelessContainer.invoke(StatelessContainer.java:136) > > org > .apache > .openejb > .server > .ejbd > .EjbRequestHandler > .doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238) > > org > .apache > .openejb > .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: > 129) > > org > .apache > .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) > org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: > 149) > org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) > > org.apache.openejb.server.ejbd.KeepAliveServer > $Session.service(KeepAliveServer.java:213) > > org > .apache > .openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) > org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) > org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) > org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) > > java.util.concurrent.ThreadPoolExecutor > $Worker.runTask(ThreadPoolExecutor.java:886) > > java.util.concurrent.ThreadPoolExecutor > $Worker.run(ThreadPoolExecutor.java:908) > java.lang.Thread.run(Thread.java:619) > > ------- SNIP ------- > > There after, when I try to invoke OTHER methods, I get this: > > > > 02 Nov 2009 20:29:45,990 ERROR -- Exception: Error creating new > employee: > XXXXXX (javax.ejb.EJBException) > javax.ejb.EJBException: Unknown Container Exception: > java.rmi.RemoteException: Received invalid response code from > server: -1 > > org > .apache > .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:184) > > org > .apache > .openejb > .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) > > org > .apache > .openejb > .client > .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) > $Proxy7.registerPerson(Unknown Source) > > net > .kunye > .personnel > .client > .employees > .add > .AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java: > 69) > > net > .kunye > .personnel > .client > .employees > .add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java: > 47) > > net > .kunye > .personnel > .client > .navigation > .NavigationRootTopComponent > .btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) > > net > .kunye.personnel.client.navigation.NavigationRootTopComponent.access > $000(NavigationRootTopComponent.java:36) > > net.kunye.personnel.client.navigation.NavigationRootTopComponent > $1.actionPerformed(NavigationRootTopComponent.java:67) > > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: > 1995) > > javax.swing.AbstractButton > $Handler.actionPerformed(AbstractButton.java:2318) > > javax > .swing > .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: > 242) > > javax > .swing > .plaf > .basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) > java.awt.Component.processMouseEvent(Component.java:6041) > javax.swing.JComponent.processMouseEvent(JComponent.java:3265) > java.awt.Component.processEvent(Component.java:5806) > java.awt.Container.processEvent(Container.java:2058) > java.awt.Component.dispatchEventImpl(Component.java:4413) > java.awt.Container.dispatchEventImpl(Container.java:2116) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: > 4322) > java.awt.LightweightDispatcher.processMouseEvent(Container.java: > 3986) > java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) > java.awt.Container.dispatchEventImpl(Container.java:2102) > java.awt.Window.dispatchEventImpl(Window.java:2440) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > > org > .netbeans > .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) > > java > .awt > .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: > 273) > > java > .awt > .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) > > java > .awt > .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: > 173) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 168) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 160) > java.awt.EventDispatchThread.run(EventDispatchThread.java:121) > > java.rmi.RemoteException: Received invalid response code from > server: -1 > > org > .apache > .openejb > .client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:239) > > org > .apache > .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:157) > > org > .apache > .openejb > .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) > > org > .apache > .openejb > .client > .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) > $Proxy7.registerPerson(Unknown Source) > > net > .kunye > .personnel > .client > .employees > .add > .AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java: > 69) > > net > .kunye > .personnel > .client > .employees > .add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java: > 47) > > net > .kunye > .personnel > .client > .navigation > .NavigationRootTopComponent > .btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) > > net > .kunye.personnel.client.navigation.NavigationRootTopComponent.access > $000(NavigationRootTopComponent.java:36) > > net.kunye.personnel.client.navigation.NavigationRootTopComponent > $1.actionPerformed(NavigationRootTopComponent.java:67) > > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: > 1995) > > javax.swing.AbstractButton > $Handler.actionPerformed(AbstractButton.java:2318) > > javax > .swing > .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: > 242) > > javax > .swing > .plaf > .basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) > java.awt.Component.processMouseEvent(Component.java:6041) > javax.swing.JComponent.processMouseEvent(JComponent.java:3265) > java.awt.Component.processEvent(Component.java:5806) > java.awt.Container.processEvent(Container.java:2058) > java.awt.Component.dispatchEventImpl(Component.java:4413) > java.awt.Container.dispatchEventImpl(Container.java:2116) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: > 4322) > java.awt.LightweightDispatcher.processMouseEvent(Container.java: > 3986) > java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) > java.awt.Container.dispatchEventImpl(Container.java:2102) > java.awt.Window.dispatchEventImpl(Window.java:2440) > java.awt.Component.dispatchEvent(Component.java:4243) > java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > > org > .netbeans > .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) > > java > .awt > .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: > 273) > > java > .awt > .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) > > java > .awt > .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: > 173) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 168) > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: > 160) > java.awt.EventDispatchThread.run(EventDispatchThread.java:121) > > Quintin Beukes |
|
|
Re: InitialContext / Comms protocol recovery from a SystemExceptionThough, isn't there a way if a 3rd party SecurityService fails for some
reason for OpenEJB to recover from it? Quintin Beukes On Tue, Nov 3, 2009 at 11:12 PM, David Blevins <david.blevins@...>wrote: > Haven't seen this before, looks like the null is coming from the > GeronimoSecurityService. > > We test system and application exceptions in the itests for each bean type > on both the remote and local servers as well as on Tomcat. We don't run > those on Geronimo though, which we really should. There was some code in > Geronimo to do that at one point, but it got axed as being too hard to > maintain quite a while ago. I think we should bring it back. > > I'm not sure what it might take Geronimo plan-wise, but here's the app: > > > http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-beans/3.1.2/openejb-itests-beans-3.1.2.jar > > And the client which includes all deps and is an executable jar: > > > http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-standalone-client/3.1.2/openejb-itests-standalone-client-3.1.2.jar > > -David > > > On Nov 2, 2009, at 10:44 AM, Quintin Beukes wrote: > > Hey, >> >> When I get a SystemException from the container during remote EJB >> invocation, all future requests for the InitialContext are "broken". My >> exact situation (reason for causing the SystemException) is on my fault, >> but >> if there is another reason I think it's good to recover from it so to be >> able to continue serving requests. I got the following by invoking on a >> method which isn't in the remote EJB class/Remote interface. >> >> This is what I got: >> ------- SNIP ------- >> 02 Nov 2009 20:28:33,649 ERROR -- Exception: Error deleting employee: >> XXXXXX >> (javax.ejb.EJBException) >> javax.ejb.EJBException: Container has suffered a SystemException >> >> >> org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:178) >> >> >> org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) >> >> >> org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) >> $Proxy7.deletePerson(Unknown Source) >> >> >> net.kunye.personnel.client.employees.delete.DeleteEmployeeWizardAction.performAction(DeleteEmployeeWizardAction.java:87) >> >> >> net.kunye.personnel.client.employees.delete.DeleteEmployeeWizardAction.performAction(DeleteEmployeeWizardAction.java:55) >> >> >> org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:589) >> >> >> org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77) >> >> >> org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:585) >> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) >> >> >> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) >> >> >> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) >> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) >> javax.swing.AbstractButton.doClick(AbstractButton.java:357) >> >> javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220) >> >> >> javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261) >> java.awt.Component.processMouseEvent(Component.java:6041) >> javax.swing.JComponent.processMouseEvent(JComponent.java:3265) >> java.awt.Component.processEvent(Component.java:5806) >> java.awt.Container.processEvent(Container.java:2058) >> java.awt.Component.dispatchEventImpl(Component.java:4413) >> java.awt.Container.dispatchEventImpl(Container.java:2116) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) >> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) >> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) >> java.awt.Container.dispatchEventImpl(Container.java:2102) >> java.awt.Window.dispatchEventImpl(Window.java:2440) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.EventQueue.dispatchEvent(EventQueue.java:599) >> >> >> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) >> >> >> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) >> >> >> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) >> >> >> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) >> java.awt.EventDispatchThread.run(EventDispatchThread.java:121) >> >> java.rmi.RemoteException: The server has encountered a fatal error: >> Unknown >> error in container java.lang.NullPointerException; nested exception is: >> java.lang.NullPointerException >> >> >> org.apache.openejb.server.ejbd.EjbRequestHandler.replyWithFatalError(EjbRequestHandler.java:425) >> >> >> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:205) >> >> >> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) >> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149) >> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) >> >> >> org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213) >> >> >> org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) >> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) >> org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) >> org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) >> >> >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> >> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> java.lang.Thread.run(Thread.java:619) >> >> java.lang.NullPointerException: null >> >> >> org.apache.geronimo.openejb.GeronimoSecurityService.isCallerAuthorized(GeronimoSecurityService.java:96) >> >> >> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:151) >> >> >> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:136) >> >> >> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238) >> >> >> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129) >> >> >> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) >> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149) >> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) >> >> >> org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213) >> >> >> org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) >> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) >> org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) >> org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) >> >> >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> >> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> java.lang.Thread.run(Thread.java:619) >> >> ------- SNIP ------- >> >> There after, when I try to invoke OTHER methods, I get this: >> >> >> >> 02 Nov 2009 20:29:45,990 ERROR -- Exception: Error creating new employee: >> XXXXXX (javax.ejb.EJBException) >> javax.ejb.EJBException: Unknown Container Exception: >> java.rmi.RemoteException: Received invalid response code from server: -1 >> >> >> org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:184) >> >> >> org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) >> >> >> org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) >> $Proxy7.registerPerson(Unknown Source) >> >> >> net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java:69) >> >> >> net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java:47) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent.btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent.access$000(NavigationRootTopComponent.java:36) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent$1.actionPerformed(NavigationRootTopComponent.java:67) >> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) >> >> >> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) >> >> >> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) >> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) >> >> >> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) >> java.awt.Component.processMouseEvent(Component.java:6041) >> javax.swing.JComponent.processMouseEvent(JComponent.java:3265) >> java.awt.Component.processEvent(Component.java:5806) >> java.awt.Container.processEvent(Container.java:2058) >> java.awt.Component.dispatchEventImpl(Component.java:4413) >> java.awt.Container.dispatchEventImpl(Container.java:2116) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) >> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) >> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) >> java.awt.Container.dispatchEventImpl(Container.java:2102) >> java.awt.Window.dispatchEventImpl(Window.java:2440) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.EventQueue.dispatchEvent(EventQueue.java:599) >> >> >> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) >> >> >> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) >> >> >> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) >> >> >> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) >> java.awt.EventDispatchThread.run(EventDispatchThread.java:121) >> >> java.rmi.RemoteException: Received invalid response code from server: -1 >> >> >> org.apache.openejb.client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:239) >> >> >> org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:157) >> >> >> org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117) >> >> >> org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52) >> $Proxy7.registerPerson(Unknown Source) >> >> >> net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java:69) >> >> >> net.kunye.personnel.client.employees.add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java:47) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent.btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent.access$000(NavigationRootTopComponent.java:36) >> >> >> net.kunye.personnel.client.navigation.NavigationRootTopComponent$1.actionPerformed(NavigationRootTopComponent.java:67) >> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) >> >> >> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) >> >> >> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) >> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) >> >> >> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) >> java.awt.Component.processMouseEvent(Component.java:6041) >> javax.swing.JComponent.processMouseEvent(JComponent.java:3265) >> java.awt.Component.processEvent(Component.java:5806) >> java.awt.Container.processEvent(Container.java:2058) >> java.awt.Component.dispatchEventImpl(Component.java:4413) >> java.awt.Container.dispatchEventImpl(Container.java:2116) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) >> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) >> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) >> java.awt.Container.dispatchEventImpl(Container.java:2102) >> java.awt.Window.dispatchEventImpl(Window.java:2440) >> java.awt.Component.dispatchEvent(Component.java:4243) >> java.awt.EventQueue.dispatchEvent(EventQueue.java:599) >> >> >> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) >> >> >> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) >> >> >> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) >> >> >> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) >> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) >> java.awt.EventDispatchThread.run(EventDispatchThread.java:121) >> >> Quintin Beukes >> > > |
| Free embeddable forum powered by Nabble | Forum Help |