On Feb 13, 2007, at 9:59 AM, Craig L Russell wrote:

Hi Dain,

Sounds like a jackpot full of issues here.

On Feb 13, 2007, at 9:17 AM, Dain Sundstrom wrote:

I found the problem. In my entity mappings file, I had a mapping for a bean that no longer exists. When I comment out that mapping, the problem goes away. I only fond the problem by turning the debug level up

The WARN messages should "usually" print. You have to dial *down* the log level to not see them. What was your log level when WARN didn't print? Issue #1?

I think it might be ERROR when integrated into OpenEJB. I'll have to verify and adjust down to WARN so we can see these errors.

(the full log is attached). In the log we do warn that the class was not found, but we say we are going to ignore it:

299 CMP WARN [main] openjpa.MetaData - The class "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideB ean" listed in the openjpa.MetaDataFactory configuration property could not be loaded; ignoring.

But later we get a transformation exception due to the missing class:

1243 CMP WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "org.apache.openejb.test.entity.cmp.BasicCmpBean": <0|false|0.9.7-incubating-SNAPSHOT> org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException: file:/Users/dain/work/openejb/trunk/ openejb3/container/openejb-core/target/test-classes/META-INF/jpa- test-mappings.xml [Location: Line: 45, C: 118]: Type "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideB ean" could not be instantiated.


I think we should either ignore the missing class everywhere or throw an exception on the first time we notice the missing class (I prefer the former).

I also prefer ignoring it consistently. But considering that enhancement fails, this seems like more than a WARN. More like a SEVERE. And if you get a SEVERE during enhancement, should we really put the EMF into service at all? Issue #2?

I agree. If we get an enhancement error, I think we should throw an exception from the EMF consturctor. The problem is that enhancement seems to happen only as beans are used (loaded into memory), so the EMF doesn't know that enhancement won't work.


Secondly, are we parsing the XML file multiple times? The only way for the first warning to be fired is if OpenJPA has read my entity mappings, but the exception that is thrown later is a SAX exception which implies that OpenJPA is reading the file again.

Sounds like an inefficient startup algorithm that we should fix. Issue #3?

:)

-dain

Reply via email to