You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by "adam.z" <zi...@gmail.com> on 2009/08/10 21:28:41 UTC
OpenEjb undeploying app on startup
Hello,
I'm trying to deploy an EJB 3.0 Hibernate code with two data sources under
OpenEJB without a success. Basically, it's a data access layer with
stateless EJBs modeled as DAOs. After a week of configuration and playing
with docs, I got to the point where the container starts up, but in the log
EJB deployment fails. The error doesn't make sense to me, because OpenEJB
complains about EJB deployments not being found, such as:
2009-08-10 14:04:10,671 - DEBUG - Clearing Sun JarFileFactory cache for
directory /opt/openejb-3.1.1/apps/ch
2009-08-10 14:04:10,672 - DEBUG - App failing deployment may not have
undeployed cleanly: /opt/openejb-3.1.1/apps/ch
org.apache.openejb.UndeployException: Failed undeploying application:
id=/opt/openejb-3.1.1/apps/ch
Nested caused by:
java.lang.Exception: deployment not found: PsProxyOrderCommitDaoEjb
but earlier in the log it shows it has deployed the very EJB (???):
2009-08-10 14:04:03,347 - INFO - Auto-deploying ejb
PsProxyOrderCommitDaoEjb:
EjbDeployment(deployment-id=PsProxyOrderCommitDaoEjb)
My app is deployed as exploded JAR (inside /opt/openejb/apps/), and my
entities for the two respective data sources live in:
/opt/openejb/lib/ecommerce-ps-entities.jar
/opt/openejb/lib/ecommerce-web-entities.jar
My interfaces are also bundled separately, and live in:
/opt/openejb/lib/ecommerceejb-api-1.0.jar
In persistence.xml I'm telling hibernate that it can find entities using
<jar-file>../../lib/<jar></jar> and it seems to be happy.
Why is OpenEJB failing though?
adam
PS. clean log is attached from a signle failed deployment
http://www.nabble.com/file/p24905914/openejb.log openejb.log
--
View this message in context: http://www.nabble.com/OpenEjb-undeploying-app-on-startup-tp24905914p24905914.html
Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: OpenEjb undeploying app on startup
Posted by "adam.z" <zi...@gmail.com>.
Hi - just want to let you know that I figured out the problem. What happened
was that one of the entities compiled into ecommerce-ps-entities.jar was
referencing ConfigurationKey.class, but that code was part of the exploded
JAR living in the apps/ directory. So of course, since library is loaded
before deployable code, ConfigurationKey.class was not loaded yet and so
exception happened. Took me a while to figure that out, but once I moved
ConfigurationKey.class to the entities JAR OpenEJB was happy and log is
clean (see attached).
adam
http://www.nabble.com/file/p24926395/openejb.log openejb.log
adam.z wrote:
>
> Hi Jean-Louis,
>
> Thanks for catching that! I failed to mention this in my original post,
> but those classes do exist in the exploded jar which is being deployed (in
> OpenEJB apps directory). I do not understand why is OpenEJB not seeing
> them? See attached screenshot.
>
> adam http://www.nabble.com/file/p24924127/screenshot.jpeg screenshot.jpeg
>
>
> Jean-Louis MONTEIRO wrote:
>>
>> Hello Adam,
>>
>> Did you try solving first this exception?
>> Caused by: java.lang.NoClassDefFoundError:
>> com/kkamerica/ecommerce/ejb/api/dao/internal/ConfigurationDaoLocal$ConfigurationKey
>> at java.lang.Class.getDeclaredMethods0(Native Method)
>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
>> at java.lang.Class.getDeclaredMethods(Class.java:1791)
>> at
>> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredMethodProperties(JavaXClass.java:89)
>> at
>> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:106)
>> at
>> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:98)
>> at
>> org.hibernate.cfg.AnnotationBinder.addElementsOfAClass(AnnotationBinder.java:1023)
>> at
>> org.hibernate.cfg.AnnotationBinder.getElementsToProcess(AnnotationBinder.java:859)
>> at
>> org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:667)
>> at
>> org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
>> at
>> org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
>> at
>> org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
>> at
>> org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
>> at
>> org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
>> at
>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
>> at
>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:425)
>> at
>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
>> at
>> org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:183)
>> at
>> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:482)
>> ... 14 more
>> Caused by: java.lang.ClassNotFoundException:
>> com.kkamerica.ecommerce.ejb.api.dao.internal.ConfigurationDaoLocal$ConfigurationKey
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>> ... 33 more
>>
>> It seems to me that this error causes deployments issues above.
>> I haven't seen anything else bad in the log file.
>>
>> Hope it helps.
>> Please let us know if you still have problems.
>>
>> Jean-Louis
>>
>>
>> adam.z wrote:
>>>
>>> Hello,
>>>
>>> I'm trying to deploy an EJB 3.0 Hibernate code with two data sources
>>> under OpenEJB without a success. Basically, it's a data access layer
>>> with stateless EJBs modeled as DAOs. After a week of configuration and
>>> playing with docs, I got to the point where the container starts up, but
>>> in the log EJB deployment fails. The error doesn't make sense to me,
>>> because OpenEJB complains about EJB deployments not being found, such
>>> as:
>>>
>>> 2009-08-10 14:04:10,671 - DEBUG - Clearing Sun JarFileFactory cache for
>>> directory /opt/openejb-3.1.1/apps/ch
>>> 2009-08-10 14:04:10,672 - DEBUG - App failing deployment may not have
>>> undeployed cleanly: /opt/openejb-3.1.1/apps/ch
>>> org.apache.openejb.UndeployException: Failed undeploying application:
>>> id=/opt/openejb-3.1.1/apps/ch
>>> Nested caused by:
>>> java.lang.Exception: deployment not found: PsProxyOrderCommitDaoEjb
>>>
>>> but earlier in the log it shows it has deployed the very EJB (???):
>>>
>>> 2009-08-10 14:04:03,347 - INFO - Auto-deploying ejb
>>> PsProxyOrderCommitDaoEjb:
>>> EjbDeployment(deployment-id=PsProxyOrderCommitDaoEjb)
>>>
>>> My app is deployed as exploded JAR (inside /opt/openejb/apps/), and my
>>> entities for the two respective data sources live in:
>>>
>>> /opt/openejb/lib/ecommerce-ps-entities.jar
>>> /opt/openejb/lib/ecommerce-web-entities.jar
>>>
>>> My interfaces are also bundled separately, and live in:
>>>
>>> /opt/openejb/lib/ecommerceejb-api-1.0.jar
>>>
>>> In persistence.xml I'm telling hibernate that it can find entities using
>>> <jar-file>../../lib/<jar></jar> and it seems to be happy.
>>>
>>> Why is OpenEJB failing though?
>>>
>>> adam
>>>
>>> PS. clean log is attached from a signle failed deployment
>>> http://www.nabble.com/file/p24905914/openejb.log openejb.log
>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/OpenEjb-undeploying-app-on-startup-tp24905914p24926395.html
Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: OpenEjb undeploying app on startup
Posted by "adam.z" <zi...@gmail.com>.
Hi Jean-Louis,
Thanks for catching that! I failed to mention this in my original post, but
those classes do exist in the exploded jar which is being deployed (in
OpenEJB apps directory). I do not understand why is OpenEJB not seeing them?
See attached screenshot.
adam http://www.nabble.com/file/p24924127/screenshot.jpeg screenshot.jpeg
Jean-Louis MONTEIRO wrote:
>
> Hello Adam,
>
> Did you try solving first this exception?
> Caused by: java.lang.NoClassDefFoundError:
> com/kkamerica/ecommerce/ejb/api/dao/internal/ConfigurationDaoLocal$ConfigurationKey
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
> at java.lang.Class.getDeclaredMethods(Class.java:1791)
> at
> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredMethodProperties(JavaXClass.java:89)
> at
> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:106)
> at
> org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:98)
> at
> org.hibernate.cfg.AnnotationBinder.addElementsOfAClass(AnnotationBinder.java:1023)
> at
> org.hibernate.cfg.AnnotationBinder.getElementsToProcess(AnnotationBinder.java:859)
> at
> org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:667)
> at
> org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
> at
> org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
> at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
> at
> org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
> at
> org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
> at
> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
> at
> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:425)
> at
> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
> at
> org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:183)
> at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:482)
> ... 14 more
> Caused by: java.lang.ClassNotFoundException:
> com.kkamerica.ecommerce.ejb.api.dao.internal.ConfigurationDaoLocal$ConfigurationKey
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> ... 33 more
>
> It seems to me that this error causes deployments issues above.
> I haven't seen anything else bad in the log file.
>
> Hope it helps.
> Please let us know if you still have problems.
>
> Jean-Louis
>
>
> adam.z wrote:
>>
>> Hello,
>>
>> I'm trying to deploy an EJB 3.0 Hibernate code with two data sources
>> under OpenEJB without a success. Basically, it's a data access layer with
>> stateless EJBs modeled as DAOs. After a week of configuration and playing
>> with docs, I got to the point where the container starts up, but in the
>> log EJB deployment fails. The error doesn't make sense to me, because
>> OpenEJB complains about EJB deployments not being found, such as:
>>
>> 2009-08-10 14:04:10,671 - DEBUG - Clearing Sun JarFileFactory cache for
>> directory /opt/openejb-3.1.1/apps/ch
>> 2009-08-10 14:04:10,672 - DEBUG - App failing deployment may not have
>> undeployed cleanly: /opt/openejb-3.1.1/apps/ch
>> org.apache.openejb.UndeployException: Failed undeploying application:
>> id=/opt/openejb-3.1.1/apps/ch
>> Nested caused by:
>> java.lang.Exception: deployment not found: PsProxyOrderCommitDaoEjb
>>
>> but earlier in the log it shows it has deployed the very EJB (???):
>>
>> 2009-08-10 14:04:03,347 - INFO - Auto-deploying ejb
>> PsProxyOrderCommitDaoEjb:
>> EjbDeployment(deployment-id=PsProxyOrderCommitDaoEjb)
>>
>> My app is deployed as exploded JAR (inside /opt/openejb/apps/), and my
>> entities for the two respective data sources live in:
>>
>> /opt/openejb/lib/ecommerce-ps-entities.jar
>> /opt/openejb/lib/ecommerce-web-entities.jar
>>
>> My interfaces are also bundled separately, and live in:
>>
>> /opt/openejb/lib/ecommerceejb-api-1.0.jar
>>
>> In persistence.xml I'm telling hibernate that it can find entities using
>> <jar-file>../../lib/<jar></jar> and it seems to be happy.
>>
>> Why is OpenEJB failing though?
>>
>> adam
>>
>> PS. clean log is attached from a signle failed deployment
>> http://www.nabble.com/file/p24905914/openejb.log openejb.log
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/OpenEjb-undeploying-app-on-startup-tp24905914p24924127.html
Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: OpenEjb undeploying app on startup
Posted by Jean-Louis MONTEIRO <je...@atosorigin.com>.
Hello Adam,
Did you try solving first this exception?
Caused by: java.lang.NoClassDefFoundError:
com/kkamerica/ecommerce/ejb/api/dao/internal/ConfigurationDaoLocal$ConfigurationKey
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at
org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredMethodProperties(JavaXClass.java:89)
at
org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:106)
at
org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:98)
at
org.hibernate.cfg.AnnotationBinder.addElementsOfAClass(AnnotationBinder.java:1023)
at
org.hibernate.cfg.AnnotationBinder.getElementsToProcess(AnnotationBinder.java:859)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:667)
at
org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
at
org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
at
org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
at
org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:425)
at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
at
org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:183)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:482)
... 14 more
Caused by: java.lang.ClassNotFoundException:
com.kkamerica.ecommerce.ejb.api.dao.internal.ConfigurationDaoLocal$ConfigurationKey
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 33 more
It seems to me that this error causes deployments issues above.
I haven't seen anything else bad in the log file.
Hope it helps.
Please let us know if you still have problems.
Jean-Louis
adam.z wrote:
>
> Hello,
>
> I'm trying to deploy an EJB 3.0 Hibernate code with two data sources under
> OpenEJB without a success. Basically, it's a data access layer with
> stateless EJBs modeled as DAOs. After a week of configuration and playing
> with docs, I got to the point where the container starts up, but in the
> log EJB deployment fails. The error doesn't make sense to me, because
> OpenEJB complains about EJB deployments not being found, such as:
>
> 2009-08-10 14:04:10,671 - DEBUG - Clearing Sun JarFileFactory cache for
> directory /opt/openejb-3.1.1/apps/ch
> 2009-08-10 14:04:10,672 - DEBUG - App failing deployment may not have
> undeployed cleanly: /opt/openejb-3.1.1/apps/ch
> org.apache.openejb.UndeployException: Failed undeploying application:
> id=/opt/openejb-3.1.1/apps/ch
> Nested caused by:
> java.lang.Exception: deployment not found: PsProxyOrderCommitDaoEjb
>
> but earlier in the log it shows it has deployed the very EJB (???):
>
> 2009-08-10 14:04:03,347 - INFO - Auto-deploying ejb
> PsProxyOrderCommitDaoEjb:
> EjbDeployment(deployment-id=PsProxyOrderCommitDaoEjb)
>
> My app is deployed as exploded JAR (inside /opt/openejb/apps/), and my
> entities for the two respective data sources live in:
>
> /opt/openejb/lib/ecommerce-ps-entities.jar
> /opt/openejb/lib/ecommerce-web-entities.jar
>
> My interfaces are also bundled separately, and live in:
>
> /opt/openejb/lib/ecommerceejb-api-1.0.jar
>
> In persistence.xml I'm telling hibernate that it can find entities using
> <jar-file>../../lib/<jar></jar> and it seems to be happy.
>
> Why is OpenEJB failing though?
>
> adam
>
> PS. clean log is attached from a signle failed deployment
> http://www.nabble.com/file/p24905914/openejb.log openejb.log
>
>
>
--
View this message in context: http://www.nabble.com/OpenEjb-undeploying-app-on-startup-tp24905914p24912542.html
Sent from the OpenEJB User mailing list archive at Nabble.com.