Hi Kevin,I don't know if it's relevant, but persistent classes must not be final. It seems that the entities in the model.company packages are (all) final, which is wrong. From spec 2.1, "The entity class must not be final. No methods or persistent instance variables of the entity class may be final. "
The relevant part of the stack trace appears to be:
Caused by: java.lang.NoSuchMethodException: <unbound>=Class.create (Class);at java.beans.Statement.invoke(Statement.java:269) at <unknown class>.<unknown method>(Unknown Source) at com.sun.beans.ObjectHandler.eval(ObjectHandler.java:148)at com.sun.beans.ObjectHandler.startElement (ObjectHandler.java:250) at org.apache.xerces.parsers.AbstractSAXParser.startElement (UnknownSource)at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement (Unknown
which sounds like an issue with the xerces parser. Don't you hate exceptions from parsers rather than error messages?
Craig On Feb 10, 2007, at 8:08 PM, Kevin Sutter wrote:
Marc,It took a while to reproduce, but I finally got the following... Does thishelp? Thanks for your help! Kevin Runningorg.apache.openjpa.persistence.models.company.propertyaccess.TestPrope rtyCompanyModel0 test INFO [main] openjpa.Runtime - Starting OpenJPA 0.0.00 test INFO [main] openjpa.jdbc.JDBC - OpenJPA will now connect to the database to attempt to determine what type of database dictionary to use.To prevent this connection in the future, set your openjpa.jdbc.DBDictionaryconfiguration property to the appropriate value for your database (see the documentation foravailable values). 0 test INFO [main] openjpa.jdbc.JDBC - Using dictionary class " org.apache.openjpa.jdbc.sql.DerbyDictionary" (Apache Derby 10.2.2.0 - (485682) ,Apache Derby Embedded JDBC Driver 10.2.2.0 - (485682)).10 test INFO [main] openjpa.MetaData - Found 10 classes with metadata in0 milliseconds.20 test INFO [main] openjpa.MetaData - Found 10 classes with metadata in10 milliseconds. 20 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Product". 20 test INFO [main] openjpa.MetaData - Parsing package " org.apache.openjpa.persistence.models.company.propertyaccess.Product". 30 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Company". 30 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Address". 40 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.Employee" .40 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Person". 50 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.FullTimeE mployee". 50 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.LineItem" .60 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.ProductOr der".60 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.Customer" .70 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.PartTimeE mployee".70 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_Address".80 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_Company".80 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_LineItem".80 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_Person".80 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_Product".110 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_ProductOrder".120 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_ProductOrder_PRP_LineItem".120 test INFO [main] openjpa.jdbc.Schema - Reading table information forschema name "null", table name "PRP_Product_PRP_Company".140 test INFO [main] openjpa.jdbc.Schema - Reading sequence informationfor schema "null", sequence name "null". 3856 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Company". 3856 test INFO [main] openjpa.MetaData - Parsing package " org.apache.openjpa.persistence.models.company.propertyaccess.Company". 3866 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Address". 3866 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.Employee" .3866 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Person". 3876 test INFO [main] openjpa.MetaData - Parsing class " org.apache.openjpa.persistence.models.company.propertyaccess.Product". 3876 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.FullTimeE mployee". 3936 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.ProductOr der".3966 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.Customer" .3976 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.LineItem" .4026 test INFO [main] openjpa.MetaData - Parsing class "org.apache.openjpa.persistence.models.company.propertyaccess.PartTimeE mployee".Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.336 sec<<< FAILURE! testBasicQueries(org.apache.openjpa.persistence.models.company.propertyaccess.TestPrope rtyCompanyModel)Time elapsed: 4.326 sec <<< ERROR!java.lang.IllegalStateException: java.lang.NoSuchMethodException: <unbound>=Class.create(Class); atorg.apache.openjpa.persistence.models.company.CompanyModelTest.checkMo del(CompanyModelTest.java:194) at org.apache.openjpa.persistence.models.company.CompanyModelTest.setUp( CompanyModelTest.java:66) at junit.framework.TestCase.runBare(TestCase.java:125) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.maven.surefire.junit.JUnitTestSet.execute( JUnitTestSet.java:210) atorg.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTest Set(AbstractDirectoryTestSuite.java:135) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute( AbstractDirectoryTestSuite.java:122) at org.apache.maven.surefire.Surefire.run(Surefire.java:129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess( SurefireBooter.java:225) at org.apache.maven.surefire.booter.SurefireBooter.main( SurefireBooter.java:747)Caused by: java.lang.NoSuchMethodException: <unbound>=Class.create (Class);at java.beans.Statement.invoke(Statement.java:269) at <unknown class>.<unknown method>(Unknown Source) at com.sun.beans.ObjectHandler.eval(ObjectHandler.java:148)at com.sun.beans.ObjectHandler.startElement (ObjectHandler.java:250) at org.apache.xerces.parsers.AbstractSAXParser.startElement (UnknownSource)at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement (UnknownSource) atorg.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement (UnknownSource) atorg.apache.xerces.impl.XMLDocumentFragmentScannerImpl $FragmentContentDispatcher.dispatch(UnknownSource) atorg.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument (UnknownSource)at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at java.beans.XMLDecoder.readObject(XMLDecoder.java:220) atorg.apache.openjpa.persistence.models.company.CompanyModelTest.checkMo del(CompanyModelTest.java:191) ... 22 more On 2/10/07, Marc Prud'hommeaux <[EMAIL PROTECTED]> wrote:Kevin- Weird. From the error message, it looks like there is some problem with deserializing the default model from the companies.xml file from the XMLDecoder. I've put some extra debugging logic in the CompanyModelTest.java that should throw a better error when the deserialization fails. Can youupdate and re-run the test and let us know if the stack trace changes?On Feb 10, 2007, at 6:21 PM, Kevin Sutter wrote: > Hi, > After synching up with the latest changes in SVN, I am hitting an > intermittent problem while running the new tests in > openjpa-persistence-jdbc. Every once in a while, I am getting > hundreds of > messsages like the following: > > Running> org.apache.openjpa.persistence.models.company.propertyaccess.TestProp e> rtyCompanyModel > 0 test INFO [main] openjpa.Runtime - Starting OpenJPA 0.0.0 > 0 test INFO [main] openjpa.jdbc.JDBC - OpenJPA will now connect > to the > database to attempt to determine what type of database dictionary > to use. > To prevent this connection in the future, set your > openjpa.jdbc.DBDictionaryconfiguration property to the appropriate > value for your database (see the > documentation foravailable values).> 10 test INFO [main] openjpa.jdbc.JDBC - Using dictionary class " > org.apache.openjpa.jdbc.sql.DerbyDictionary" (Apache Derby 10.2.2.0 -> (485682) ,Apache Derby Embedded JDBC Driver 10.2.2.0 - (485682)). > 20 test INFO [main] openjpa.MetaData - Found 10 classes with > metadata in > 0 milliseconds. > : > : > 4046 test INFO [main] openjpa.MetaData - Parsing class "> org.apache.openjpa.persistence.models.company.propertyaccess.LineItem "> . > java.lang.NoSuchMethodException: <unbound>=Class.create(Class); > Continuing ... > java.lang.NullPointerException: target should not be null > Continuing ... > java.lang.NoSuchMethodException: <unbound>=Class.create(Class); > Continuing ... > java.lang.NullPointerException: target should not be null > Continuing ... > java.lang.NoSuchMethodException: <unbound>=Class.create(Class); > Continuing ... > java.lang.NullPointerException: target should not be null > Continuing ... > java.lang.NoSuchMethodException: <unbound>=Class.create(Class); > Continuing ... > java.lang.NullPointerException: target should not be null > Continuing ... > java.lang.NoSuchMethodException: <unbound>=Class.create(Class); > Continuing ... > : > : <these type of messages continue -- several dozen repeats> > : > Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: > 4.346 sec > <<< FAILURE! > testBasicQueries(> org.apache.openjpa.persistence.models.company.propertyaccess.TestProp e> rtyCompanyModel) > Time elapsed: 4.336 sec <<< FAILURE! > junit.framework.AssertionFailedError: expected:<2> but was:<0> > at junit.framework.Assert.fail(Assert.java:47) > at junit.framework.Assert.failNotEquals(Assert.java:282) > at junit.framework.Assert.assertEquals(Assert.java:64) > at junit.framework.Assert.assertEquals(Assert.java:201) > at junit.framework.Assert.assertEquals(Assert.java:207) > at> org.apache.openjpa.persistence.models.company.CompanyModelTest.verify M> odel( > CompanyModelTest.java:211) > at> org.apache.openjpa.persistence.models.company.CompanyModelTest.checkM o> del( > CompanyModelTest.java:195) > at> org.apache.openjpa.persistence.models.company.CompanyModelTest.setUp(> CompanyModelTest.java:66) > at junit.framework.TestCase.runBare(TestCase.java:125) > at junit.framework.TestResult$1.protect(TestResult.java:106)> at junit.framework.TestResult.runProtected (TestResult.java:124)> at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203)> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)> at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:64) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at org.apache.maven.surefire.junit.JUnitTestSet.execute( > JUnitTestSet.java:210) > at> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes t> Set( > AbstractDirectoryTestSuite.java:135) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute( > AbstractDirectoryTestSuite.java:122) > at org.apache.maven.surefire.Surefire.run(Surefire.java:129)> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)> at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:64) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess( > SurefireBooter.java:225) > at org.apache.maven.surefire.booter.SurefireBooter.main( > SurefireBooter.java:747) > > They seem to most often happen when I do a complete top-down build > from the> openjpa directory (mvn clean && mvn install) and let it traverse the> sub-projects. This is from the command line (not Eclipse). > > I can immediately turn around and do a "mvn test" from the openjpa > directory > and everything tests out just fine. > > Any ideas on what is causing these type of errors? I don't see > anywhere in > our code where we are producing these type of messages. I'm not > sure if > it's related to one of our dependencies (serp?), or maybe it's > another IBM> JDK anomaly (haven't been able to reproduce with Sun yet, but it is an> intermittent problem). > > Thanks, > Kevin
Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature