openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo K. Shikida" <shik...@gmail.com>
Subject Re: Entitiy not enhanced
Date Wed, 25 Sep 2013 15:38:17 GMT
Hi

I could not make the runtime enhancement work for me too, so I am manually
enhancing during build time with a simple script.

    public static void main(String[] args) {

        Collection<File> files = FileUtils.listFiles(new
File(baseClassDir), null, true);
        for(File file:files){
            String[] a = new String[3];
            a[0] = "-d";
            a[1] = baseClassDir;
            a[2] = file.getAbsolutePath();
            org.apache.openjpa.enhance.PCEnhancer.main(a);
        }
    }

I've also noticed some strange behaviour using java 7, specifically, both
IBM and Oracle JVM 7 didn't enhance the source code, but only Oracle
crashed my tomEE+ server when that happened ;-)

Just in case...

good luck

Leo


[]

Leo


On Wed, Sep 25, 2013 at 12:15 PM, Divya K Konoor <dikonoor@in.ibm.com>wrote:

>
>
> Hi,
>
> I tried by manually adding the java agent in my jvm options  -javaagent:/
> apache-openjpa-2.2.2/lib/openjpa-all-2.2.2.jar following examples 5.2 and
> 5.3 under section 2.3 at
>
> http://openjpa.apache.org/builds/2.1.1/apache-openjpa/docs/ref_guide_pc_enhance.html#ref_guide_pc_enhance_build
> .
>
>  But even that hasn't helped .I still get the entity not enhanced problem.
>
> Regards
> Divya
>
>
>
> From:   Divya K Konoor/India/IBM
> To:     users-help@openjpa.apache.org, dev-help@openjpa.apache.org,
> Date:   09/25/2013 07:19 PM
> Subject:        Entitiy not enhanced
>
>
> Hi,
>
> I use a container (Webshphere liberty that internally uses openjpa). I have
> multiple OSGi persistence bundles .Each has its own persistence unit ; all
> of these talk to the same database.The JPA entities bundled within each
> persistence bundle is defined under the <class></class> tag of the
> persistence.xml. Some of these entities have relationship or dependency on
> the entities bundled with another persistence bundle in which case the
> dependent entities are added in the <class> tag of the former's
> persistence.xml
>
> I see the following error message when I start my liberty server:
>
> This configuration disallows runtime optimization, but the following listed
> types were not enhanced at build time or at class load time with a
> javaagent: "
>
> [err] <openjpa-2.2.1.1-SNAPSHOT-r422266:1431746 fatal user error>
> org.apache.openjpa.persistence.ArgumentException: The type "class
> com.xxx.ProbeConfiguration" has not been enhanced.
> [err]   at org.apache.openjpa.meta.ClassMetaData.resolveMeta
> (ClassMetaData.java:1827)
> [err]   at org.apache.openjpa.meta.ClassMetaData.resolve
> (ClassMetaData.java:1801)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.processBuffer
> (MetaDataRepository.java:826)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.resolveMeta
> (MetaDataRepository.java:723)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.resolve
> (MetaDataRepository.java:647)
> [err]   at
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal
> (MetaDataRepository.java:415)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.getMetaData
> (MetaDataRepository.java:388)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.resolveAll
> (MetaDataRepository.java:1990)
> [err]   at
> org.apache.openjpa.meta.MetaDataRepository.getQueryMetaDataInternal
> (MetaDataRepository.java:1968)
> [err]   at org.apache.openjpa.meta.MetaDataRepository.getQueryMetaData
> (MetaDataRepository.java:1955)
> [err]   at
> org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery
> (EntityManagerImpl.java:102
>
> There is a brief mention of this here (but it doesn't explain why):
>
>
> http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.ejbfep.multiplatform.doc%2Finfo%2Fae%2Fae%2Ftejb_jpatroubleshoot.html
>
> I was under the impression that openjpa does runtime enhancement on all JPA
> entities that have not been enhanced. The above log statement seems to
> indicate that one or more JPA entities have not been enhanced during
> runtime.I saw a brief mention about this at
>
> http://openjpa.apache.org/builds/2.1.1/apache-openjpa/docs/ref_guide_pc_enhance.html#ref_guide_pc_enhance_dynamic
>
> "If a javaagent is not provided via the command line and OpenJPA is running
> on the Sun 1.6 SDK or IBM 1.6 JDK (SR8+), OpenJPA will attempt to
> dynamically load the Enhancer that was mentioned in the previous section.
> This support is provided as an ease of use feature and it is not
> recommended for use in a production system. Using this method of
> enhancement has the following caveats:
> The dynamic runtime enhancer is plugged into the JVM during creation of the
> EntityManagerFactory. Any Entity classes that are loaded before the
> EntityManagerFactory is created will not be enhanced. "
>
>
> I also noticed the following in the logs:
>
> openjpa.DynamicEnhancementAgent: false .
>
> I was expecting it to me openjpa.DynamicEnhancementAgent: true .
>
> I manually added the following jvm option
> -Dopenjpa.DynamicEnhancementAgent=true after which the logs show
> openjpa.DynamicEnhancementAgent: true but I hit the same entitiy not
> enhanced issue.
>
> Apart from build time enhancement , is there anything that can be done to
> ensure that all JPA entities are enhanced during runtime.
>
> Thanks
> Divya
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message