okay, well, my app is working well with eclipselink JAR in tomee/lib and eclipselink specified as jpa provider in persistence.xml. :)
On Sun, Feb 24, 2013 at 10:52 AM, Romain Manni-Bucau <[email protected]>wrote: > tomee only brings openjpa but custom jpa providers can be in the webapp. > > the only constraint is to not bring back another time jpa api jar. > > *Romain Manni-Bucau* > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > *Blog: **http://rmannibucau.wordpress.com/*< > http://rmannibucau.wordpress.com/> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > *Github: https://github.com/rmannibucau* > > > > 2013/2/24 Howard W. Smith, Jr. <[email protected]> > > > 1. Okay. I opted out of the dynamic weaving option; sometime later, I may > > try to configure static weaving. > > > > > there are multiple packages of eclipselinks and one without the api > > > > 2. hmm, don't really understand; prior to this attempt to do dynamic > > weaving, my app has been running fine in TomEE 1.5.1+, and I always > deploy > > eclipselink 2.3.2 JAR in tomee/lib, and 'never' add it to webapp webinf > > classes. If you're saying that tomee is shipped with eclipselink > already, > > sorry, I didn't see it. I did recognize openejb-jpa-integration jar > though. > > > > > > On Sun, Feb 24, 2013 at 9:58 AM, Romain Manni-Bucau > > <[email protected]>wrote: > > > > > IIRC eclipselink javaagent looks in AppClassLoader for its classes (so > of > > > course it fails) > > > > > > That said if eclipselink add a correct ClassFileTransformer (i think > so) > > > through its persistence unit openejb-javaagent (present by default) > will > > > add instrumentation at load time. > > > > > > So basically nothing particular to do excepting adding eclipselink to > the > > > webapp or tomee/lib. > > > > > > Last thing; jpa api is provided by tomee and shouldn't be add to the > > webapp > > > or twice to tomee/lib (there are multiple packages of eclipselinks and > > one > > > without the api) > > > > > > *Romain Manni-Bucau* > > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > > > *Blog: **http://rmannibucau.wordpress.com/*< > > > http://rmannibucau.wordpress.com/> > > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > > > *Github: https://github.com/rmannibucau* > > > > > > > > > > > > 2013/2/24 smithh032772 <[email protected]> > > > > > > > Yes, i know, old topic, but when I searched google for the exception, > > it > > > > lead > > > > me to this, so I thought...why not see if I can resolve this issue > via > > > what > > > > is mentioned in this thread. :) > > > > > > > > Background: of course, my app is running really really well on TomEE > > > > 1.5.2-snapshot (not the latest version), so today, I 'finally' > decided > > to > > > > attempt to configure dynamic weaving. So, when I added the following > to > > > JVM > > > > options/command-line: > > > > > > > > > > -javaagent:D:\apache-tomee-plus-1.5.2-SNAPSHOT\lib\eclipselink-2.3.2.jar > > > > > > > > tomee was unable to start, and the following was in the stderr log: > > > > > > > > 2013-02-24 07:18:51 Commons Daemon procrun stderr initialized > > > > java.lang.reflect.InvocationTargetException > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown > Source) > > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > > > Source) > > > > at java.lang.reflect.Method.invoke(Unknown Source) > > > > at > > > > sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown > > > > Source) > > > > at > > > > sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown > > > > Source) > > > > Caused by: java.lang.NoClassDefFoundError: > > > > javax/persistence/spi/PersistenceUnitInfo > > > > at java.lang.Class.forName0(Native Method) > > > > at java.lang.Class.forName(Unknown Source) > > > > at > > > > > > > > > > > > > > org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.initializeFromAgent(JavaSECMPInitializerAgent.java:44) > > > > at > > > > > > > > > > > > > > org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.premain(JavaSECMPInitializerAgent.java:39) > > > > ... 6 more > > > > Caused by: java.lang.ClassNotFoundException: > > > > javax.persistence.spi.PersistenceUnitInfo > > > > at java.net.URLClassLoader$1.run(Unknown Source) > > > > at java.net.URLClassLoader$1.run(Unknown Source) > > > > at java.security.AccessController.doPrivileged(Native Method) > > > > at java.net.URLClassLoader.findClass(Unknown Source) > > > > at java.lang.ClassLoader.loadClass(Unknown Source) > > > > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) > > > > at java.lang.ClassLoader.loadClass(Unknown Source) > > > > ... 10 more > > > > Exception in thread "main" > > > > > > > > > > > > Please note the following: > > > > > > > > 1. eclipselink JAR in tomee/lib: > > > > > > > > D:\apache-tomee-plus-1.5.2-SNAPSHOT\lib\eclipselink-2.3.2.jar > > > > > > > > > > > > 2. tomee.xml contains the following: > > > > > > > > <Resource id="jdbc/mcmsJta" type="javax.sql.DataSource"> > > > > JdbcDriver org.apache.derby.jdbc.EmbeddedDriver > > > > JdbcUrl jdbc:derby:D:/javadb/mcms;create=true > > > > UserName mcms > > > > Password mcms > > > > JtaManaged true > > > > jmxEnabled true > > > > InitialSize 10 > > > > MaxActive 100 > > > > MaxIdle 30 > > > > MaxWait 10000 > > > > minIdle 10 > > > > suspectTimeout 60 > > > > removeAbandoned true > > > > removeAbandonedTimeout 180 > > > > timeBetweenEvictionRunsMillis 30000 > > > > jdbcInterceptors=StatementCache(max=128) > > > > </Resource> > > > > > > > > <Resource id="jdbc/mcmsNonJta" type="javax.sql.DataSource"> > > > > JdbcDriver org.apache.derby.jdbc.EmbeddedDriver > > > > JdbcUrl jdbc:derby:D:/javadb/mcms;create=true > > > > UserName mcms > > > > Password mcms > > > > JtaManaged false > > > > jmxEnabled true > > > > InitialSize 10 > > > > MaxActive 20 > > > > MaxIdle 10 > > > > MaxWait 10000 > > > > removeAbandoned true > > > > removeAbandonedTimeout 18000 > > > > </Resource> > > > > > > > > 3. Romain, per what you mentioned in your email below, I 'can' remove > > > > nonJTA, don't need it, but I think when I first started 'using' > tomee, > > I > > > > think it was required for me to have jta and nonjta defined; i don't > > > > remember...sorry. > > > > > > > > 4. i did recognize the following file in tomee/lib; if I have a > > > > javax.persistance.jar file that was bundled with eclipselink (ZIP > > > contains > > > > eclipselink.jar and javax.persistance.jar, separately), should I > remove > > > the > > > > following file from tomee/lib? > > > > > > > > openejb-jpa-integration-4.5.2-SNAPSHOT.jar > > > > > > > > it's not a necessity for me to do dynamic weaving, but i wanted to > see > > > how > > > > it impacts my app (and performance, of course). > > > > > > > > please advise. > > > > > > > > thanks, > > > > Howard > > > > > > > > > > > > > > > > > > > > -- > > > > View this message in context: > > > > > > > > > > http://openejb.979440.n4.nabble.com/tomee-eclipselink-NoClassDefFoundError-ClassNotFoundException-tp4658870p4660999.html > > > > Sent from the OpenEJB User mailing list archive at Nabble.com. > > > > > > > > > >
