good catch: https://issues.apache.org/jira/browse/TOMEE-1069
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/10/31 Trevor Stevens <[email protected]>:
> When TomEE is shutting down with deployed resource adapters by calling 
> javax.resource.spi.ResourceAdapter.stop() if the code attempts to load a 
> class an exception is generated. I am assuming the issue here is that TomEE 
> is stopping the classloader before closing the resource adapters.
>
> To reproduce this I used hazelcast 3.1 on a TomEE+ 1.6.0-SNAPSHOT from ~Oct29
> Update tomee.xml to enable deployments
> Place hazelcast-3.1.jar in lib
> Place hazelcast-ra-3.1.rar in apps
>
> I get the following when shutting down:
>
> Oct 31, 2013 11:40:45 AM org.apache.openejb.assembler.classic.Assembler 
> destroyResource
> INFO: Stopping ResourceAdapter: hazelcast-ra-3.1RA
> Oct 31, 2013 11:40:45 AM org.apache.openejb.assembler.classic.Assembler 
> destroyResource
> SEVERE: ResourceAdapter Shutdown Failed: hazelcast-ra-3.1RA
> java.lang.IllegalStateException: zip file closed
>         at java.util.zip.ZipFile.ensureOpen(ZipFile.java:634)
>         at java.util.zip.ZipFile.getEntry(ZipFile.java:305)
>         at java.util.jar.JarFile.getEntry(JarFile.java:226)
>         at java.util.jar.JarFile.getJarEntry(JarFile.java:209)
>         at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:840)
>         at sun.misc.URLClassPath.getResource(URLClassPath.java:199)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:358)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>         at 
> org.apache.openejb.util.classloader.URLClassLoaderFirst.loadInternal(URLClassLoaderFirst.java:162)
>         at 
> org.apache.openejb.util.classloader.URLClassLoaderFirst.loadClass(URLClassLoaderFirst.java:115)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>         at 
> com.hazelcast.jca.ResourceAdapterImpl.stop(ResourceAdapterImpl.java:111)
>         at 
> org.apache.openejb.assembler.classic.Assembler.destroyResource(Assembler.java:1397)
>         at 
> org.apache.openejb.assembler.classic.Assembler.destroyResourceTree(Assembler.java:1382)
>         at 
> org.apache.openejb.assembler.classic.Assembler.destroy(Assembler.java:1352)
>         at org.apache.openejb.OpenEJB.destroy(OpenEJB.java:264)
>         at 
> org.apache.tomee.catalina.TomcatLoader.destroy(TomcatLoader.java:390)
>         at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.afterStop(TomcatWebAppBuilder.java:1868)
>         at 
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:154)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at 
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
>         at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:252)
>         at org.apache.catalina.startup.Catalina.stop(Catalina.java:764)
>         at 
> org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:910)
>
>
> Trevor Stevens
> [email protected]
>
>

Reply via email to