> First is the "ProductDerivations" thing. > I don't know for sure what that's telling me, or how I should proceed.
ProductDerivations is the thing that makes OpenJPA ultra-configurable. Each ProductDerivation during bootstrap contributes their own configuration (in defined order) to customize a OpenJPA runtime -- for example, whether you want to use OpenJPA with a JDBC-aware database or a LDAP directory or a Object-oriented Database, or whether you want OpenJPA to process XML data as first class objects or operate with a set of distributed databases. ProductDerivations (please note the 's' at the end) is the utility that detects all the ProductDerivation available (visible) at bootstrap. As you are seeing ProductDerivations error message, the possible diagnostic action is to run org.apache.openjpa.lib.conf.ProductDerivations (which has a main() method) with the classpath that you think is the same as when the application is being invoked. That main() method will print out the list of ProductDerivation instances the classloader can load' (via service discovery mechanism) and the ones that can not be initialized. Secondly, this ClassTransformer thing. The easiest way is to make such things redundant is build-time enhancement [1]. Simply put, after compilation of the persistent entity classes, run a ...openjpa.enhance.PCEnhancer which will 'enhance' the bytecode of the persistent entity classes such that any persistent field access or mutation is intercepted by OpenJPA to do the right thing. This simple step will not only obviate many deployment time concerns such as ClassTransformer via -javaagent or subclassing or redefinition, but also offer better runtime performance. [1] http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_pc_enhance_build KARR, DAVID (ATTCINW) wrote: > > I'm assembling an app using JPA and CXF on WebLogic 10MP1. > > After getting through several classloading issues, I'm seeing the > following in the server log at startup: > > ------------ > Some product derivations are being skipped. For information about > product derivation status, run: > java org.apache.openjpa.lib.conf.ProductDerivations > 16 dynamicContent WARN [[ACTIVE] ExecuteThread: '0' for queue: > 'weblogic.kernel.Default (self-tuning)'] openjpa.Runtime - An error > occurred while registering a ClassTransformer with PersistenceUnitInfo: > name 'dynamicContent', root URL [file:/C:/Documents and > Settings/dk068x/workspace3/DynamicContent/bin/]. The error has been > consumed. To see it, set your openjpa.Runtime log level to TRACE. > Load-time class transformation will not be available. > ------------ > > There are a few issues here. First is the "ProductDerivations" thing. > I don't know for sure what that's telling me, or how I should proceed. > It appears to be suggesting a Java command line to run, which seems odd. > > Second is this ClassTransformer error that it's not showing me the > detail for. I currently have the following in my persistence.xml file > (with a couple elisions): > > ---------- > <?xml version="1.0" encoding="UTF-8"?> > <persistence version="1.0" > xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence > > > http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> > <persistence-unit name="MyPersistenceUnitName" > transaction-type="JTA"> > > <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provid > er> > <mapping-file>---path to orm.xml file---</mapping-file> > <properties> > <property name="openjpa.Log" value="DefaultLevel=TRACE"/> > </properties> > </persistence-unit> > </persistence> > ---------- > > As far as I can tell, that property setting should turn up the log > pretty high. This change had no effect that I could see. > > ----- Pinaki -- View this message in context: http://n2.nabble.com/Message-about-ProductDerivations-error-with-ClassTransformer-and-turning-up-log-output-tp4143105p4143527.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
