Sure, will do the pull/request.

-----Original Message-----
From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com] 
Sent: July-25-16 12:00 PM
To: users@tomee.apache.org
Subject: Re: tomee:undeploy is not clean after long timeout since the last 
deployment

suspect it will need a try/finally on
https://github.com/apache/tomee/blob/master/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java#L408

do you want to give it a go with a pull/request? You can use tomee github
proxy: https://github.com/apache/tomee


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog 
<https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog 
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | 
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber 
<http://www.tomitribe.com> | JavaEE Factory 
<https://javaeefactory-rmannibucau.rhcloud.com>

2016-07-25 20:02 GMT+02:00 dimas <dmitry_shu...@kaltire.com>:

> Hi,
>
> I'm using tomee maven plugin to undeploy/deploy my war to the remote 
> server and It works pretty well when deployments are executed often, 
> but when there is long a timeout (10 hours for example) it fails to 
> cleanly undeploy the app.
>
> There are no logged exceptions in the app log file and in the 
> catalina.out during undeploy, only this one is logged in the  
> localhost.2016-07-25.log:
>
> 25-Jul-2016 11:27:23.760 SEVERE [http-nio-7080-exec-9] 
> org.apache.catalina.core.StandardContext.listenerStop Exception 
> sending context destroyed event to listener instan ce of class 
> org.apache.myfaces.webapp.StartupServletContextListener
>  javax.enterprise.inject.UnsatisfiedResolutionException: Api type 
> [javax.enterprise.inject.spi.BeanManager] is not found with the 
> qualifiers
> Qualifiers: [@javax.enterprise.inject.Default()]
> for injection into Method Injection Point, method name :
> camelBeansPostProcessor, Bean Owner : [CdiCamelExtension, 
> WebBeansType:EXTENSION, Name:null, API Types:[java.la
>
> ng.Object,org.apache.camel.cdi.CdiCamelExtension,javax.enterprise.inje
> ct.spi.Extension], 
> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
>         at
>
> org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:65)
>         at
>
> org.apache.webbeans.container.InjectionResolver.getInjectionPointBean(InjectionResolver.java:279)
>         at
>
> org.apache.webbeans.event.ObserverMethodImpl.getMethodArguments(ObserverMethodImpl.java:369)
>         at
>
> org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:215)
>         at
>
> org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:676)
>         at
>
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:485)
>         at
>
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:459)
>         at
>
> org.apache.webbeans.util.WebBeansUtil.fireProcessInjectionTargetEvent(WebBeansUtil.java:1035)
>         at
>
> org.apache.webbeans.util.WebBeansUtil.fireProcessInjectionTargetEvent(WebBeansUtil.java:1029)
>         at
>
> org.apache.webbeans.container.BeanManagerImpl.createInjectionTarget(BeanManagerImpl.java:1236)
>         at
>
> org.apache.myfaces.cdi.impl.CDIAnnotationInjectionProvider.preDestroy(CDIAnnotationInjectionProvider.java:70)
>         at
>
> org.apache.myfaces.spi.impl.CDIAnnotationDelegateInjectionProvider.preDestroy(CDIAnnotationDelegateInjectionProvider.java:78)
>         at
>
> org.apache.myfaces.webapp.AbstractFacesInitializer._callPreDestroyOnInjectedJSFArtifacts(AbstractFacesInitializer.java:713)
>         at
>
> org.apache.myfaces.webapp.AbstractFacesInitializer.destroyFaces(AbstractFacesInitializer.java:366)
>         at
>
> org.apache.myfaces.webapp.StartupServletContextListener.contextDestroyed(StartupServletContextListener.java:167)
>         at
>
> org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4778)
>         at
>
> org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5417)
>         at
> org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:229)
>         at
> org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:817)
>         at
>
> org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1583)
>         at
>
> org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1554)
>         at
>
> org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:754)
>         at
>
> org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2217)
>         at
> org.apache.openejb.assembler.DeployerEjb.undeploy(DeployerEjb.java:420)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>         at
>
> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>         at
>
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>         at
>
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:62)
>
> One side effect of this exception (i believe it is related) is that 
> the deployment record in the deployments.xml is not removed, so when 
> tomee:deploy is invoked another (duplicate) record is created. It 
> means it won't start up when TomEE is restarted.
>
> What can be done to make sure the deployments.xml is clean after undeploy?
>
> Cheers,
> Dmitry
>
>
>
>
> --
> View this message in context:
> http://tomee-openejb.979440.n4.nabble.com/tomee-undeploy-is-not-clean-
> after-long-timeout-since-the-last-deployment-tp4679481.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>

Reply via email to