Yes, that proves that persistent entity classes were being enhanced at
runtime and now as the configuration explicitly disallows it (it is active
by default) -- the exception is raised.

Build-time enhancement is post-compilation step that modifies @Entity
classes' bytecodes. A 'enhancener' tool is provided and the process is
documented at

http://openjpa.apache.org/docs/latest/manual/manual.html#ref_guide_pc_enhance
 

Stefan Handschuh wrote:
> 
> Well with the property you provided I event cant load the persistence
> provider while getting an
> 
> org.apache.openjpa.persistence.ArgumentException: The configuration
> disallows runtime optimizations, but the following listed types were
> not enhanced at build time or at class load time with a javaagent: ...
> 
> 2008/1/1, Pinaki Poddar <[EMAIL PROTECTED]>:
>>
>> Looks like enhancement of entity classes are taking place at runtime.
>> Will it
>> be possible to verify if the behavior differs for build-time enhancement?
>>
>> Runtime enhancement can be switched off with
>>     <property name="openjpa.RuntimeUnenhancedClasses"
>> value="unsupported"/>
>>
>>
>> Stefan Handschuh wrote:
>> >
>> > Assume there is a class MyObject with an java.lang.Integer constructor
>> > and a method "public java.lang.Integer getCode()".
>> > Also there is a second class, which will be persistet an which contains
>> a
>> > field
>> >
>> > @Persistent
>> > @Externalizer("getCode")
>> > private MyObject myObject;
>> >
>> > If I try to persist a instance of this second class, the following
>> error
>> > occurs:
>> >
>> > Caused by: java.lang.ClassCastException: some.package.MyObject cannot
>> > be cast to java.lang.Integer
>> >        at
>> >
>> org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcProvideField(ReflectingPersistenceCapable.java:98)
>> >        at
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.provideField(StateManagerImpl.java:2959)
>> >        at
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2774)
>> >        at
>> > org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:39)
>> >        at
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:940)
>> >        at
>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1892)
>> >        at
>> > org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1852)
>> >        at
>> >
>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1770)
>> >        ... 38 more
>> >
>> >
>> > The same is reproducable with the code of the documentation (types:
>> > URL, Class) concerning externalizers.
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/%40Externalizer-in-1.0.1-does-not-work-on-persist-tp14567517p14568581.html
>> Sent from the OpenJPA Developers mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/%40Externalizer-in-1.0.1-does-not-work-on-persist-tp14567517p14568733.html
Sent from the OpenJPA Developers mailing list archive at Nabble.com.

Reply via email to