You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by José Luis Cetina <ma...@gmail.com> on 2012/06/27 17:54:24 UTC

ENHANCMENT

I can see all my clases are ENHANCMENT because i see all these line's with
my all my clases:
INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass".
INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass2".
INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass3".
etc.

But i always see this messages, but i dont know why:

INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass".
javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an
application resource file:  java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.grupokx.erp.utilities.UtilEJB.getEJBReference(UtilEJB.java:27)
at
com.grupokx.erp.modelo.listeners.EntityListener.<init>(EntityListener.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at
org.apache.openjpa.lib.util.J2DoPrivHelper$11.run(J2DoPrivHelper.java:371)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.openjpa.event.BeanLifecycleCallbacks.newListener(BeanLifecycleCallbacks.java:66)
at
org.apache.openjpa.event.BeanLifecycleCallbacks.<init>(BeanLifecycleCallbacks.java:61)
at
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseCallbackMethods(AnnotationPersistenceMetaDataParser.java:999)
at
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseEntityListeners(AnnotationPersistenceMetaDataParser.java:930)
at
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:584)
at
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:415)
at
org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:260)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:580)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:400)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:384)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:286)
at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4797)
at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4743)
at org.apache.openjpa.enhance.PCEnhancer$1.run(PCEnhancer.java:4713)
at
org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:741)
at
org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:731)
at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4708)
at
org.apache.openjpa.tools.maven.AbstractOpenJpaEnhancerMojo.enhance(AbstractOpenJpaEnhancerMojo.java:133)
at
org.apache.openjpa.tools.maven.AbstractOpenJpaEnhancerMojo.execute(AbstractOpenJpaEnhancerMojo.java:95)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)



Any ideas?

-------------------------------------------------------------------
*SCJA. José Luis Cetina*
-------------------------------------------------------------------

Re: ENHANCMENT

Posted by Kevin Sutter <kw...@gmail.com>.
Hi José,
The exception is caused by the JNDI lookup you are performing within your
EntityListener:

at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.grupokx.erp.utilities.UtilEJB.getEJBReference(UtilEJB.java:27)
at
com.grupokx.erp.modelo.listeners.EntityListener.<init>(EntityListener.java:28)

During the Enhancement processing, it looks like we are creating an
instance of your EntityListener.  The ctor for your EntityListener is
requiring a JNDI context and, of course, none exists in your build
environment.

Why does OpenJPA create an instance of your EntityListener?  Shared
code...  Most enhancement and metadatarepository processing is done
dynamically at runtime.  So, in most cases, accessing JNDI during the
initialization of your EntityListener would not be an issue.  But, since
you are doing this at build time, the attempted access to JNDI is causing
an exception.

Can you either move this JNDI outside of the constructor (lazy
initialization maybe), or maybe just use a try/catch to ignore the error in
most cases?

You could argue that OpenJPA should change their processing for this case,
and you should probably open a JIRA to document this condition.  But, if
you want to make quicker progress, I would just try to avoid this JNDI
processing in your Listeners until you are sure you have the proper runtime
environment.

Hope this helps,
Kevin

On Wed, Jun 27, 2012 at 10:54 AM, José Luis Cetina <ma...@gmail.com>wrote:

> I can see all my clases are ENHANCMENT because i see all these line's with
> my all my clases:
> INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass".
> INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass2".
> INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass3".
> etc.
>
> But i always see this messages, but i dont know why:
>
> INFO   [main] openjpa.Tool - Enhancer running on type "mypacke.MyClass".
> javax.naming.NoInitialContextException: Need to specify class name in
> environment or system property, or as an applet parameter, or in an
> application resource file:  java.naming.factory.initial
> at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
> at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
> at
> javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
> at javax.naming.InitialContext.lookup(InitialContext.java:411)
> at com.grupokx.erp.utilities.UtilEJB.getEJBReference(UtilEJB.java:27)
> at
>
> com.grupokx.erp.modelo.listeners.EntityListener.<init>(EntityListener.java:28)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at
>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at java.lang.Class.newInstance0(Class.java:372)
> at java.lang.Class.newInstance(Class.java:325)
> at
> org.apache.openjpa.lib.util.J2DoPrivHelper$11.run(J2DoPrivHelper.java:371)
> at java.security.AccessController.doPrivileged(Native Method)
> at
>
> org.apache.openjpa.event.BeanLifecycleCallbacks.newListener(BeanLifecycleCallbacks.java:66)
> at
>
> org.apache.openjpa.event.BeanLifecycleCallbacks.<init>(BeanLifecycleCallbacks.java:61)
> at
>
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseCallbackMethods(AnnotationPersistenceMetaDataParser.java:999)
> at
>
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseEntityListeners(AnnotationPersistenceMetaDataParser.java:930)
> at
>
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:584)
> at
>
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:415)
> at
>
> org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:260)
> at
>
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:580)
> at
>
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:400)
> at
>
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:384)
> at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:286)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4797)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4743)
> at org.apache.openjpa.enhance.PCEnhancer$1.run(PCEnhancer.java:4713)
> at
>
> org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:741)
> at
>
> org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:731)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4708)
> at
>
> org.apache.openjpa.tools.maven.AbstractOpenJpaEnhancerMojo.enhance(AbstractOpenJpaEnhancerMojo.java:133)
> at
>
> org.apache.openjpa.tools.maven.AbstractOpenJpaEnhancerMojo.execute(AbstractOpenJpaEnhancerMojo.java:95)
> at
>
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> at
>
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> at
>
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at
>
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at
>
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> at
>
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> at
>
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> at
>
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at
>
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
> at
>
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>
>
>
> Any ideas?
>
> -------------------------------------------------------------------
> *SCJA. José Luis Cetina*
> -------------------------------------------------------------------
>