Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
>> In the 3.1 release changelog I could see : >> >> EAR-style classpath application discovery groups individual modules as >> an EAR allowing sharing of persistence units and improved connector >> and custom MDB deployment. >> >> Did it what we discussed in this thread ? > > That's actually a different feature. This was another long release cycle > (binaries were rolled on the 9th). > > The global persistence unit feature might be a little tricky to turn around, > but I'm sure we can get it in. Filed a jira for it here: > > https://issues.apache.org/jira/browse/OPENEJB-932 > (get notifications - > https://issues.apache.org/jira/secure/ViewIssue.jspa?id=12407377&watch=true) Great, I hope you could do that, it will be a very very valuable in our configuration (tomcat with many webapps) Regards and thanks
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
On Oct 28, 2008, at 2:08 AM, Henri Gomez wrote: Could it be done for 3.1 release ? Hi to all, In the 3.1 release changelog I could see : EAR-style classpath application discovery groups individual modules as an EAR allowing sharing of persistence units and improved connector and custom MDB deployment. Did it what we discussed in this thread ? That's actually a different feature. This was another long release cycle (binaries were rolled on the 9th). The global persistence unit feature might be a little tricky to turn around, but I'm sure we can get it in. Filed a jira for it here: https://issues.apache.org/jira/browse/OPENEJB-932 (get notifications - https://issues.apache.org/jira/secure/ViewIssue.jspa?id=12407377&watch=true) -David
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
> Could it be done for 3.1 release ? Hi to all, In the 3.1 release changelog I could see : EAR-style classpath application discovery groups individual modules as an EAR allowing sharing of persistence units and improved connector and custom MDB deployment. Did it what we discussed in this thread ? If so, a big thanks to OpenEJB team ! > > Thanks > > Le 16 oct. 08 à 12:13, Maxime Thieu <[EMAIL PROTECTED]> a écrit : > >> >> Hi David, >> >> Thanks for your anwser. >> >> I allready try including persistence.xml in my webapp. >> But this doesn't works because I have Service in service.jar with >> Annotation >> @PersistenceContext under EntityManager. >> OpenEJB doesn't find it (because it's defined in the webapp) when it loads >> service.jar : >> ERROR - FAIL ... MyService:Missing required persistence.xml for >> @PersistenceContext ref "entityManager" to unit "jpa-service" >> >> Even if this has worked, it is not really what I'm after. >> >> Indeed, I will be very interested if "global" persistence units where >> managed by OpenEJB. >> >> Thanks in advance, >> >> Maxime >> >> >> >> David Blevins wrote: >>> >>> Hi Maxime, >>> >>> It should be possible to put the service.jar in the Tomcat lib/ >>> directory without a persistence.xml in it and then include that >>> persistence xml in your webapp. You should be able to include a >> file> element in the unit declaration that points to the C:/tomcat6/ >>> lib/service.jar so all the entities will be discovered without having >>> to explicitly list them via the element. You'd have to >>> include the same persistence.xml in each webapp that wanted to reuse >>> the classes in service.jar. >>> >>> Not entirely sure though if that's really what you're after. We don't >>> currently have any support for "global" persistence units. Meaning >>> say a persistence unit declared outside of an ear at server level and >>> available to all ears/apps deployed. It might be something we could >>> add if that's really what you're after. >>> >>> -David >>> >> >> -- >> View this message in context: >> http://www.nabble.com/persistence.xml-in-a-Jar-in-Tomcat-Common-classloader-%28ERROR-%3A-PersistenceUnit-already-deployed%29-tp20008468p20010734.html >> Sent from the OpenEJB User mailing list archive at Nabble.com. >> >
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
Any news about this request ? Could it be done for 3.1 release ? Thanks Le 16 oct. 08 à 12:13, Maxime Thieu <[EMAIL PROTECTED]> a écrit : Hi David, Thanks for your anwser. I allready try including persistence.xml in my webapp. But this doesn't works because I have Service in service.jar with Annotation @PersistenceContext under EntityManager. OpenEJB doesn't find it (because it's defined in the webapp) when it loads service.jar : ERROR - FAIL ... MyService:Missing required persistence.xml for @PersistenceContext ref "entityManager" to unit "jpa-service" Even if this has worked, it is not really what I'm after. Indeed, I will be very interested if "global" persistence units where managed by OpenEJB. Thanks in advance, Maxime David Blevins wrote: Hi Maxime, It should be possible to put the service.jar in the Tomcat lib/ directory without a persistence.xml in it and then include that persistence xml in your webapp. You should be able to include a file> element in the unit declaration that points to the C:/tomcat6/ lib/service.jar so all the entities will be discovered without having to explicitly list them via the element. You'd have to include the same persistence.xml in each webapp that wanted to reuse the classes in service.jar. Not entirely sure though if that's really what you're after. We don't currently have any support for "global" persistence units. Meaning say a persistence unit declared outside of an ear at server level and available to all ears/apps deployed. It might be something we could add if that's really what you're after. -David -- View this message in context: http://www.nabble.com/persistence.xml-in-a-Jar-in-Tomcat-Common-classloader-%28ERROR-%3A-PersistenceUnit-already-deployed%29-tp20008468p20010734.html Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
Hi David, Thanks for your anwser. I allready try including persistence.xml in my webapp. But this doesn't works because I have Service in service.jar with Annotation @PersistenceContext under EntityManager. OpenEJB doesn't find it (because it's defined in the webapp) when it loads service.jar : ERROR - FAIL ... MyService: Missing required persistence.xml for @PersistenceContext ref "entityManager" to unit "jpa-service" Even if this has worked, it is not really what I'm after. Indeed, I will be very interested if "global" persistence units where managed by OpenEJB. Thanks in advance, Maxime David Blevins wrote: > > Hi Maxime, > > It should be possible to put the service.jar in the Tomcat lib/ > directory without a persistence.xml in it and then include that > persistence xml in your webapp. You should be able to include a file> element in the unit declaration that points to the C:/tomcat6/ > lib/service.jar so all the entities will be discovered without having > to explicitly list them via the element. You'd have to > include the same persistence.xml in each webapp that wanted to reuse > the classes in service.jar. > > Not entirely sure though if that's really what you're after. We don't > currently have any support for "global" persistence units. Meaning > say a persistence unit declared outside of an ear at server level and > available to all ears/apps deployed. It might be something we could > add if that's really what you're after. > > -David > -- View this message in context: http://www.nabble.com/persistence.xml-in-a-Jar-in-Tomcat-Common-classloader-%28ERROR-%3A-PersistenceUnit-already-deployed%29-tp20008468p20010734.html Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
> Not entirely sure though if that's really what you're after. We don't > currently have any support for "global" persistence units. Meaning say a > persistence unit declared outside of an ear at server level and available to > all ears/apps deployed. It might be something we could add if that's really > what you're after. Well I'll be interested in such feature also :)
Re: persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
Hi Maxime, It should be possible to put the service.jar in the Tomcat lib/ directory without a persistence.xml in it and then include that persistence xml in your webapp. You should be able to include a file> element in the unit declaration that points to the C:/tomcat6/ lib/service.jar so all the entities will be discovered without having to explicitly list them via the element. You'd have to include the same persistence.xml in each webapp that wanted to reuse the classes in service.jar. Not entirely sure though if that's really what you're after. We don't currently have any support for "global" persistence units. Meaning say a persistence unit declared outside of an ear at server level and available to all ears/apps deployed. It might be something we could add if that's really what you're after. -David On Oct 16, 2008, at 12:25 AM, Maxime Thieu wrote: Hello everybody, I am developping ejb-jar module (let's call it service.jar) which contains EJB, Entity, Service and persistence.xml (in META-INF). I am developping webapp module (let's call it test.war) which contains Servlets who are calling some Service in service.jar (using entityManager to persist some data). I am trying to make this work under Tomcat 6.xx using OpenEJB 3.1 (build: 20081009-03:31). A.jar is present in the common classloader of Tomcat (in lib directory) in order to be visible by all webapps. In this case, during Tomcat starting, OpenEJB show the following Error : "ERROR - Unable to deploy collapsed ear in war /test: Exception: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar" If service.jar is present in the WEB-INF/lib of test.war, everything works well, but this is not I want (classes of service.jar should be visible by all webapps). Do I miss something? Is this possible with OpenEJB? I make several try and search but I do not find how to solve this (and I am a beginner in OpenEJB). Thanks in advance, any help would be appreciated. Maxime here is the complete StackTrace of the Error in the log : ERROR - Unable to deploy collapsed ear in war /test: Exception: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar org.apache.openejb.OpenEJBException: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar at org .apache .openejb .assembler.classic.Assembler.createApplication(Assembler.java:650) at org .apache .openejb .assembler.classic.Assembler.createApplication(Assembler.java:447) at org .apache .openejb .tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java: 241) at org .apache .openejb .tomcat .catalina.TomcatLoader.processRunningApplications(TomcatLoader.java: 228) at org .apache.openejb.tomcat.catalina.TomcatLoader.init(TomcatLoader.java: 139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.openejb.loader.Embedder.init(Embedder.java:75) at org.apache.openejb.tomcat.loader.TomcatHook.hook(TomcatHook.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org .apache .openejb.tomcat.loader.TomcatEmbedder.embed(TomcatEmbedder.java:74) at org .apache.openejb.tomcat.loader.LoaderServlet.init(LoaderServlet.java: 44) at org .apache .catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 981) at org .apache .catalina.core.StandardContext.loadOnStartup(StandardContext.java: 4055) at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4361) at org .apache .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java: 626) at org .apache .catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) at org.apache.catalina.startup.HostConfig.start(HostConfig.java: 1138) at org .apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311) at org .apache .catalina .util.
persistence.xml in a Jar in Tomcat Common classloader (ERROR : PersistenceUnit already deployed)
Hello everybody, I am developping ejb-jar module (let's call it service.jar) which contains EJB, Entity, Service and persistence.xml (in META-INF). I am developping webapp module (let's call it test.war) which contains Servlets who are calling some Service in service.jar (using entityManager to persist some data). I am trying to make this work under Tomcat 6.xx using OpenEJB 3.1 (build: 20081009-03:31). A.jar is present in the common classloader of Tomcat (in lib directory) in order to be visible by all webapps. In this case, during Tomcat starting, OpenEJB show the following Error : "ERROR - Unable to deploy collapsed ear in war /test: Exception: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar" If service.jar is present in the WEB-INF/lib of test.war, everything works well, but this is not I want (classes of service.jar should be visible by all webapps). Do I miss something? Is this possible with OpenEJB? I make several try and search but I do not find how to solve this (and I am a beginner in OpenEJB). Thanks in advance, any help would be appreciated. Maxime here is the complete StackTrace of the Error in the log : ERROR - Unable to deploy collapsed ear in war /test: Exception: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar org.apache.openejb.OpenEJBException: Creating application failed: C:\tomcat6\webapps\test: PersistenceUnit already deployed: /C:/tomcat6/lib/service.jar at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:650) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:447) at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java:241) at org.apache.openejb.tomcat.catalina.TomcatLoader.processRunningApplications(TomcatLoader.java:228) at org.apache.openejb.tomcat.catalina.TomcatLoader.init(TomcatLoader.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.openejb.loader.Embedder.init(Embedder.java:75) at org.apache.openejb.tomcat.loader.TomcatHook.hook(TomcatHook.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.openejb.tomcat.loader.TomcatEmbedder.embed(TomcatEmbedder.java:74) at org.apache.openejb.tomcat.loader.LoaderServlet.init(LoaderServlet.java:44) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4055) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:576) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap