Unable to Cancel the Timers Created
819701Nov 30 2010 — edited Dec 7 2010Hi All,
Currently I am using Jboss 5.0.1 server and using EJB3 in my application. I have created the timers. I m calling the timers from the servlet (init method) during the server start up. And i have calling the cancelling the method from the destroy method. But while stopping the server i munable to cancel the server. I am getting the below exception. My application name is loa. It seems the destroy method of the servlet is getting called after all the EJBs are undeployed.
2010-11-29 22:27:20,642 [INFO ] -> com.covad.loa.ejb.bean.mdb.ResponseProcessorMDB [ - ] : @PreDestroy callback is invoked
2010-11-29 22:27:38,484 [ERROR] -> com.covad.loa.util.ServiceLocator [ - ] : Error in getLogFilePurgerTimer
javax.naming.NameNotFoundException: loa not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.covad.loa.util.ServiceLocator.getLogFilePurgerTimer(ServiceLocator.java:479)
at com.covad.loa.util.TimerUtility.cancelTimers(TimerUtility.java:39)
at com.covad.loa.web.loaDebugTool.util.servlet.UtilServlet.destroy(UtilServlet.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:307)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:167)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:98)
at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1246)
at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1568)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4564)
at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1175)
at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4668)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performUndeployInternal(TomcatDeployment.java:596)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performUndeploy(TomcatDeployment.java:570)
at org.jboss.web.deployers.AbstractWarDeployment.stop(AbstractWarDeployment.java:480)
at org.jboss.web.deployers.WebModule.stopModule(WebModule.java:133)
at org.jboss.web.deployers.WebModule.stop(WebModule.java:102)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy38.stop(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:56)
at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.secureUninstallAction(SimpleControllerContextAction.java:84)
at org.jboss.dependency.plugins.action.AccessControllerContextAction$2.run(AccessControllerContextAction.java:138)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:142)
at org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1666)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1277)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1180)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1236)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:828)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.stop(ServiceController.java:510)
at org.jboss.system.microcontainer.jmx.ServiceControllerStartStopLifecycleCallback.uninstall(ServiceControllerStartStopLifecycleCallback.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
at org.jboss.beans.info.plugins.AbstractBeanInfo.invoke(AbstractBeanInfo.java:300)
at org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext.invoke(AbstractKernelControllerContext.java:291)
at org.jboss.dependency.plugins.AbstractLifecycleCallbackItem.uninstall(AbstractLifecycleCallbackItem.java:112)
at org.jboss.dependency.plugins.AbstractController.handleLifecycleCallbacks(AbstractController.java:1572)
at org.jboss.dependency.plugins.AbstractController.handleUninstallLifecycleCallbacks(AbstractController.java:1548)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1275)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1180)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:655)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:568)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:153)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:51)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:112)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:196)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1470)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1377)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1370)
at org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1332)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1666)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1277)...more
2010-11-29 22:27:38,486 [ERROR] -> com.covad.loa.util.TimerUtility [ - ] : Error while cancelling timer service
java.lang.NullPointerException
at com.covad.loa.util.TimerUtility.cancelTimers(TimerUtility.java:39)
at com.covad.loa.web.loaDebugTool.util.servlet.UtilServlet.destroy(UtilServlet.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:307)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:167)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:98)
at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1246)
at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1568)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4564)
at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1175)
at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4668)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
Could you please help me out for resolving this issue. Thanks in adavnce!