Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 7111 invoked from network); 9 Oct 2008 14:59:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Oct 2008 14:59:23 -0000 Received: (qmail 64041 invoked by uid 500); 9 Oct 2008 14:59:20 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 64020 invoked by uid 500); 9 Oct 2008 14:59:20 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 64000 invoked by uid 99); 9 Oct 2008 14:59:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Oct 2008 07:59:19 -0700 X-ASF-Spam-Status: No, hits=2.1 required=10.0 tests=DNS_FROM_SECURITYSAGE,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [207.172.157.102] (HELO smtp02.lnh.mail.rcn.net) (207.172.157.102) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Oct 2008 14:58:14 +0000 Received: from mr08.lnh.mail.rcn.net ([207.172.157.28]) by smtp02.lnh.mail.rcn.net with ESMTP; 09 Oct 2008 10:58:48 -0400 Received: from smtp01.lnh.mail.rcn.net (smtp01.lnh.mail.rcn.net [207.172.4.11]) by mr08.lnh.mail.rcn.net (MOS 3.8.6-GA) with ESMTP id KIS85342; Thu, 9 Oct 2008 10:58:47 -0400 (EDT) Received: from dsl092-084-059.bos1.dsl.speakeasy.net (HELO bdellertxp) ([66.92.84.59]) by smtp01.lnh.mail.rcn.net with ESMTP; 09 Oct 2008 10:58:46 -0400 Message-ID: <002001c92a1f$9a665400$2346a8c0@expressor.net> From: "Brian Dellert" To: References: <001201c928cb$93ec0340$2346a8c0@expressor.net> <08D170B9-4A70-4E36-8206-FF38C0EC1C57@gmail.com> Subject: Re: Error using geronimo/OpenJPA on IBM Linux JVM Date: Thu, 9 Oct 2008 10:59:16 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_001D_01C929FE.1255E1A0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.3138 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-Junkmail-Whitelist: YES (by domain whitelist at mr08.lnh.mail.rcn.net) X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. ------=_NextPart_000_001D_01C929FE.1255E1A0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Great. Thanks for the response. I'll give this a try. - Brian ----- Original Message -----=20 From: Kevan Miller=20 To: user@geronimo.apache.org=20 Sent: Wednesday, October 08, 2008 3:32 PM Subject: Re: Error using geronimo/OpenJPA on IBM Linux JVM On Oct 7, 2008, at 6:25 PM, Brian Dellert wrote: Just some additional info on this issue: After further = investigation, it appears that this issue is related to runtime = enhancement of the JPA classes. That is, if I run the enhancer at build = time, the error does not occur. Thanks for the info.=20 Seems to be a problem with the ClassLoader being used during this = annotation processing. Pretty sure it's either and IBM JVM issue or an = OpenJPA issue.=20 I'd start by using an OpenJPA 1.2.1-SNAPSHOT build. Kevin Sutter from = OpenJPA pointed me to https://issues.apache.org/jira/browse/OPENJPA-646 = as a possible culprit.=20 Looks like you'll need to build 1.2.1-SNAPSHOT from source, I don't = see a posted OpenJPA 1.2.1-SNAPSHOT nightly build. After you build, place new jar in the server's repository and use = var/config/artifact_aliases.properties to cause this newer version of = the jar to be loaded. --kevan - Brian ----- Original Message ----- From: Brian Dellert To: user@geronimo.apache.org Sent: Monday, October 06, 2008 2:11 PM Subject: Error using geronimo/OpenJPA on IBM Linux JVM I have an application which is packaged in an ear file and = leverages EJB/JPA. One of my entity classes uses the OpenJPA-specific = ElementJoinColumn annotation. When I deploy this application on = Geronimo 2.0.2 on Linux using the Sun JVM, everything works correctly. = But, if I attempt this using the IBM 32-bit 1.5 or 1.6 LInux JVMs, I get = the following warning when the geronimo server starts up: 3761 myPU WARN [main] openjpa.Enhance - An exception was = thrown while attempting to perform class file transformation on = "com/my/company/ejb/entity/MyClass": java.lang.TypeNotPresentException: Type = org.apache.openjpa.persistence.jdbc.ElementJoinColumn not present at = com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:= 38) at = com.ibm.oti.reflect.AnnotationHelper.getDeclaredAnnotations(AnnotationHel= per.java:50) at = com.ibm.oti.reflect.Method.getDeclaredAnnotations(Method.java:31) at = java.lang.reflect.Method.getDeclaredAnnotations(Method.java:722) at = java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:1= 91) at com.ibm.oti.reflect.Method.getAnnotation(Method.java:20) at java.lang.reflect.Method.getAnnotation(Method.java:711) at = java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.j= ava:187) at = org.apache.openjpa.lib.util.J2DoPriv5Helper$3.run(J2DoPriv5Helper.java:87= ) at = java.security.AccessController.doPrivileged(AccessController.java:197) at = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.getPersistence= Strategy(PersistenceMetaDataDefaults.java:119) at = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.isDefaultPersi= stent(PersistenceMetaDataDefaults.java:315) at = org.apache.openjpa.meta.AbstractMetaDataDefaults.populateFromReflection(A= bstractMetaDataDefaults.java:241) at = org.apache.openjpa.meta.AbstractMetaDataDefaults.populate(AbstractMetaDat= aDefaults.java:168) at = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(Persi= stenceMetaDataDefaults.java:225) at = org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository= .java:752) at = org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository= .java:738) at = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMet= aData(AnnotationPersistenceMetaDataParser.java:651) at = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseC= lassAnnotations(AnnotationPersistenceMetaDataParser.java:479) at = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(= AnnotationPersistenceMetaDataParser.java:351) at = org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(Persistenc= eMetaDataFactory.java:229) at = org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRe= pository.java:433) at = org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository= .java:288) at = org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:244) at = org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:215) at = org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTr= ansformer.java:127) at = org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerIm= pl.transform(PersistenceProviderImpl.java:170) at = org.apache.geronimo.persistence.TransformerWrapper.transform(TransformerW= rapper.java:43) at = org.apache.geronimo.transformer.TransformerCollection.transform(Transform= erCollection.java:43) at = sun.instrument.TransformerManager.transform(TransformerManager.java:141) at = sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:174= ) at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:258) at = java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) at java.net.URLClassLoader.defineClass(URLClassLoader.java:589) at java.net.URLClassLoader.access$400(URLClassLoader.java:123) at = java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034) at = java.security.AccessController.doPrivileged(AccessController.java:279) at java.net.URLClassLoader.findClass(URLClassLoader.java:491) at = org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedCla= ss(MultiParentClassLoader.java:431) at = org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiP= arentClassLoader.java:279) at java.lang.ClassLoader.loadClass(ClassLoader.java:597) at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:68) at java.lang.J9VMInternals.initialize(J9VMInternals.java:129) at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:163) at = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(Enterpris= eBeanBuilder.java:375) at = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(Ente= rpriseBeanBuilder.java:355) at = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(Enterpri= seBeanBuilder.java:75) at = org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.ja= va:52) at = org.apache.openejb.assembler.classic.Assembler.createApplication(Assemble= r.java:489) at = org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.jav= a:370) at = org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystem= GBean.java:391) at = org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123) at = org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean= .java:39) at = org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInsta= nce.java:998) at = org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBe= anInstanceState.java:268) at = org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceS= tate.java:102) at = org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:= 541) at = org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanD= ependency.java:111) at = org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependen= cy.java:146) at = org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependen= cy.java:120) at = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(B= asicLifecycleMonitor.java:176) at = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLi= fecycleMonitor.java:44) at = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadc= aster.fireRunningEvent(BasicLifecycleMonitor.java:254) at = org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBe= anInstanceState.java:294) at = org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceS= tate.java:102) at = org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBean= InstanceState.java:124) at = org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInsta= nce.java:555) at = org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKer= nel.java:379) at = org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBe= ans(ConfigurationUtil.java:456) at = org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Kernel= ConfigurationManager.java:188) at = org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfigu= ration(SimpleConfigurationManager.java:562) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at = sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= mpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at = org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Reflecti= onMethodInvoker.java:34) at = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.ja= va:124) at = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java= :832) at = org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at = org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationI= nvoker.java:35) at = org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMe= thodInterceptor.java:96) at = org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerB= yCGLIB$$ac6db992.startConfiguration() at = org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.j= ava:162) at = org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.jav= a:79) at = org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainCo= nfigurationBootstrapper.java:45) at = org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67) at = org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30) Caused by: java.lang.ClassNotFoundException: = org.apache.openjpa.persistence.jdbc.ElementJoinColumn at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:163) at = com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:= 33) ... 88 more This effectively breaks things at runtime since OpenJPA ends up in = a bad state. It should be noted that I have tried this with Geronimo = 2.1.3 as well, but get the same error. The version info for the JVMs I = am using is as follows: java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build = pxi32devifx-20080811b (SR8a)) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 = j9vmxi3223ifx-20080811 (JIT enabled) J9VM - 20080809_21892_lHdSMr JIT - 20080620_1845_r8 GC - 200806_19) JCL - 20080811a java version "1.6.0" Java(TM) SE Runtime Environment (build = pxi3260sr2-20080818_01(SR2)) IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Linux x86-32 = jvmxi3260-20080816_22093 (JIT enabled, AOT enabled) J9VM - 20080816_022093_lHdSMr JIT - r9_20080721_1330ifx2 GC - 20080724_AA) JCL - 20080808_02 It should also be noted that I am seeing the same error when using = the IBM JVM on AIX. Any insight into what might be causing this issue would be greatly = appreciated. Thanks. - Brian ------=_NextPart_000_001D_01C929FE.1255E1A0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Great.  Thanks for the = response.  I'll=20 give this a try.
 
- Brian
----- Original Message -----
From:=20 Kevan=20 Miller
Sent: Wednesday, October 08, = 2008 3:32=20 PM
Subject: Re: Error using = geronimo/OpenJPA=20 on IBM Linux JVM


On Oct 7, 2008, at 6:25 PM, Brian Dellert wrote:
Just some additional info on this = issue: =20 After further investigation, it appears that this issue is = related to=20 runtime enhancement of the JPA classes.  That is, if I run the = enhancer=20 at build time, the error does not=20 occur.

Thanks for the info. 

Seems to be a problem with the ClassLoader being used during this = annotation processing. Pretty sure it's either and IBM JVM issue or an = OpenJPA=20 issue. 

I'd start by using an OpenJPA 1.2.1-SNAPSHOT build. Kevin Sutter = from=20 OpenJPA pointed me to https://issues= .apache.org/jira/browse/OPENJPA-646=20 as a possible culprit. 

Looks like you'll need to build 1.2.1-SNAPSHOT from source, I = don't see a=20 posted OpenJPA 1.2.1-SNAPSHOT nightly build.

After you build, place new jar in the server's repository and=20 use var/config/artifact_aliases.properties to cause this newer = version of=20 the jar to be loaded.

--kevan

 
- Brian
----- Original Message -----
From: Brian Dellert
To: user@geronimo.apache.org
Sent: Monday, October 06, = 2008 2:11=20 PM
Subject: Error using = geronimo/OpenJPA on=20 IBM Linux JVM

I have an application which is = packaged in an=20 ear file and leverages EJB/JPA.  One of my entity classes = uses the=20 OpenJPA-specific ElementJoinColumn annotation.  When I deploy = this=20 application on Geronimo 2.0.2 on Linux using the Sun JVM, = everything works=20 correctly.  But, if I attempt this using the IBM 32-bit 1.5 = or 1.6=20 LInux JVMs, I get the following warning when the geronimo server = starts=20 up:
 
3761  myPU  = WARN   [main]=20 openjpa.Enhance - An exception was thrown while attempting to = perform=20 class file transformation on=20 = "com/my/company/ejb/entity/MyClass":
java.lang.TypeNotPresentException= :=20 Type org.apache.openjpa.persistence.jdbc.ElementJoinColumn not=20 present
 at=20 = com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:= 38)
 at=20 = com.ibm.oti.reflect.AnnotationHelper.getDeclaredAnnotations(AnnotationHel= per.java:50)
 at=20 = com.ibm.oti.reflect.Method.getDeclaredAnnotations(Method.java:31)
&nbs= p;at=20 = java.lang.reflect.Method.getDeclaredAnnotations(Method.java:722)
 = ;at=20 = java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:1= 91)
 at=20 = com.ibm.oti.reflect.Method.getAnnotation(Method.java:20)
 at=20 = java.lang.reflect.Method.getAnnotation(Method.java:711)
 at=20 = java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.j= ava:187)
 at=20 = org.apache.openjpa.lib.util.J2DoPriv5Helper$3.run(J2DoPriv5Helper.java:87= )
 at=20 = java.security.AccessController.doPrivileged(AccessController.java:197) at=20 = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.getPersistence= Strategy(PersistenceMetaDataDefaults.java:119)
 at=20 = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.isDefaultPersi= stent(PersistenceMetaDataDefaults.java:315)
 at=20 = org.apache.openjpa.meta.AbstractMetaDataDefaults.populateFromReflection(A= bstractMetaDataDefaults.java:241)
 at=20 = org.apache.openjpa.meta.AbstractMetaDataDefaults.populate(AbstractMetaDat= aDefaults.java:168)
 at=20 = org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(Persi= stenceMetaDataDefaults.java:225)
 at=20 = org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository= .java:752)
 at=20 = org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository= .java:738)
 at=20 = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMet= aData(AnnotationPersistenceMetaDataParser.java:651)
 at=20 = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseC= lassAnnotations(AnnotationPersistenceMetaDataParser.java:479)
 at= =20 = org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(= AnnotationPersistenceMetaDataParser.java:351)
 at=20 = org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(Persistenc= eMetaDataFactory.java:229)
 at=20 = org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRe= pository.java:433)
 at=20 = org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository= .java:288)
 at=20 = org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:244) at=20 = org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:215) at=20 = org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTr= ansformer.java:127)
 at=20 = org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerIm= pl.transform(PersistenceProviderImpl.java:170)
 at=20 = org.apache.geronimo.persistence.TransformerWrapper.transform(TransformerW= rapper.java:43)
 at=20 = org.apache.geronimo.transformer.TransformerCollection.transform(Transform= erCollection.java:43)
 at=20 = sun.instrument.TransformerManager.transform(TransformerManager.java:141)<= BR> at=20 = sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:174= )
 at=20 java.lang.ClassLoader.defineClassImpl(Native Method)
 at=20 = java.lang.ClassLoader.defineClass(ClassLoader.java:258)
 at=20 = java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) at=20 = java.net.URLClassLoader.defineClass(URLClassLoader.java:589)
 at = = java.net.URLClassLoader.access$400(URLClassLoader.java:123)
 at=20 = java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034)
&nbs= p;at=20 = java.security.AccessController.doPrivileged(AccessController.java:279) at=20 = java.net.URLClassLoader.findClass(URLClassLoader.java:491)
 at=20 = org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedCla= ss(MultiParentClassLoader.java:431)
 at=20 = org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiP= arentClassLoader.java:279)
 at=20 java.lang.ClassLoader.loadClass(ClassLoader.java:597)
 at=20 java.lang.J9VMInternals.verifyImpl(Native Method)
 at=20 java.lang.J9VMInternals.verify(J9VMInternals.java:68)
 at=20 = java.lang.J9VMInternals.initialize(J9VMInternals.java:129)
 at=20 java.lang.Class.forNameImpl(Native Method)
 at=20 java.lang.Class.forName(Class.java:163)
 at=20 = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(Enterpris= eBeanBuilder.java:375)
 at=20 = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(Ente= rpriseBeanBuilder.java:355)
 at=20 = org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(Enterpri= seBeanBuilder.java:75)
 at=20 = org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.ja= va:52)
 at=20 = org.apache.openejb.assembler.classic.Assembler.createApplication(Assemble= r.java:489)
 at=20 = org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.jav= a:370)
 at=20 = org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystem= GBean.java:391)
 at=20 = org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123) at=20 = org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean= .java:39)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInsta= nce.java:998)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBe= anInstanceState.java:268)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceS= tate.java:102)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:= 541)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanD= ependency.java:111)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependen= cy.java:146)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependen= cy.java:120)
 at=20 = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(B= asicLifecycleMonitor.java:176)
 at=20 = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLi= fecycleMonitor.java:44)
 at=20 = org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadc= aster.fireRunningEvent(BasicLifecycleMonitor.java:254)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBe= anInstanceState.java:294)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceS= tate.java:102)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBean= InstanceState.java:124)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInsta= nce.java:555)
 at=20 = org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKer= nel.java:379)
 at=20 = org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBe= ans(ConfigurationUtil.java:456)
 at=20 = org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Kernel= ConfigurationManager.java:188)
 at=20 = org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfigu= ration(SimpleConfigurationManager.java:562)
 at=20 sun.reflect.GeneratedMethodAccessor25.invoke(Unknown = Source)
 at=20 = sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= mpl.java:43)
 at=20 java.lang.reflect.Method.invoke(Method.java:618)
 at=20 = org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Reflecti= onMethodInvoker.java:34)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.ja= va:124)
 at=20 = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java= :832)
 at=20 = org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at=20 = org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationI= nvoker.java:35)
 at=20 = org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMe= thodInterceptor.java:96)
 at=20 = org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerB= yCGLIB$$ac6db992.startConfiguration(<generated>)
 at=20 = org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.j= ava:162)
 at=20 = org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.jav= a:79)
 at=20 = org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainCo= nfigurationBootstrapper.java:45)
 at=20 = org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
&= nbsp;at=20 = org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
Cause= d=20 by: java.lang.ClassNotFoundException:=20 org.apache.openjpa.persistence.jdbc.ElementJoinColumn
 at=20 java.lang.Class.forNameImpl(Native Method)
 at=20 java.lang.Class.forName(Class.java:163)
 at=20 = com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:= 33)
 ...=20 88 more
 
 
This effectively breaks things at = runtime=20 since OpenJPA ends up in a bad state.  It should be noted = that I have=20 tried this with Geronimo 2.1.3 as well, but get the same = error.  The=20 version info for the JVMs I am using is as follows:
 
java version "1.5.0"
Java(TM) = 2 Runtime=20 Environment, Standard Edition (build pxi32devifx-20080811b = (SR8a))
IBM=20 J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32=20 j9vmxi3223ifx-20080811 (JIT enabled)
J9VM -=20 20080809_21892_lHdSMr
JIT  - = 20080620_1845_r8
GC   -=20 200806_19)
JCL  - 20080811a
 
java version "1.6.0"
Java(TM) = SE Runtime=20 Environment (build pxi3260sr2-20080818_01(SR2))
IBM J9 VM = (build 2.4,=20 J2RE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260-20080816_22093 (JIT = enabled,=20 AOT enabled)
J9VM - 20080816_022093_lHdSMr
JIT  -=20 r9_20080721_1330ifx2
GC   - 20080724_AA)
JCL  = -=20 20080808_02
 
It should also be noted that I am = seeing the=20 same error when using the IBM JVM on AIX.
 
Any insight into what might be = causing=20 this issue would be greatly appreciated.  = Thanks.
 
- Brian
 
=
------=_NextPart_000_001D_01C929FE.1255E1A0--