Craig-

It sounds like we are initializing an int field, but we are reading null from the database.

Can you check the database to see if there are any nulls in the column to which the "id" field is being mapped?

Also, if you change the field type from "int" to "Integer", do you get the same error?


On Jan 8, 2007, at 9:01 PM, Craig L Russell wrote:

Hi,

I got this stack trace. Any ideas how to troubleshoot?

Thanks,

Craig
[java] <0|false|0.9.6-incubating> org.apache.openjpa.persistence.PersistenceException: null [java] at org.apache.openjpa.kernel.BrokerImpl.find (BrokerImpl.java:851) [java] at org.apache.openjpa.kernel.BrokerImpl.find (BrokerImpl.java:743) [java] at org.apache.openjpa.kernel.DelegatingBroker.find (DelegatingBroker.java:169) [java] at org.apache.openjpa.persistence.EntityManagerImpl.find (EntityManagerImpl.java:320) [java] at pb.adapter.EJB3Adapter.lookupComponent (EJB3Adapter.java:254) [java] at pb.common.InternalDriver.lookupComponent (InternalDriver.java:322) [java] at pb.common.InternalDriver.createRelationships (InternalDriver.java:285)
     [java]     at pb.OCDriver.createRelationships(OCDriver.java:114)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
[java] at com.sun.faban.driver.core.AgentThread.timeRun (AgentThread.java:194) [java] at com.sun.faban.driver.core.AgentThread.run (AgentThread.java:123)
     [java] Caused by: java.lang.NumberFormatException: null
     [java]     at java.lang.Integer.parseInt(Integer.java:415)
     [java]     at java.lang.Integer.parseInt(Integer.java:497)
     [java]     at pb.common.Component.pcsetId(Component.java:95)
     [java]     at pb.common.Component.pcClearFields(Component.java)
     [java]     at pb.common.Component.pcNewInstance(Component.java)
[java] at org.apache.openjpa.enhance.PCRegistry.newInstance (PCRegistry.java:117) [java] at org.apache.openjpa.kernel.StateManagerImpl.initialize (StateManagerImpl.java:247) [java] at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState (JDBCStoreManager.java:327) [java] at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize (JDBCStoreManager.java:252) [java] at org.apache.openjpa.kernel.DelegatingStoreManager.initialize (DelegatingStoreManager.java:108) [java] at org.apache.openjpa.kernel.ROPStoreManager.initialize (ROPStoreManager.java:54) [java] at org.apache.openjpa.kernel.BrokerImpl.initialize (BrokerImpl.java:870) [java] at org.apache.openjpa.kernel.BrokerImpl.find (BrokerImpl.java:828)
     [java]     ... 13 more

This was after lots of warnings, but they didn't look related:
     [java] PersistenceDriver::initProperties:ejb30:true
[java] 5490 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Assembly". [java] 5492 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing package "pb.common.Assembly". [java] 5720 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findRangeassembly". [java] 5746 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findAssemblyByBOM". [java] 5783 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.BOM". [java] 5949 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Component". [java] 6012 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing query "findRangecomponent". [java] 6049 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Parsing class "pb.common.Supplier". [java] 6222 WARN [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types: [java] "pb.common.Assembly" uses property access, but its field "purchased" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "description" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "boms" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "boms" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "lomark" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "himark" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "revision" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "setId" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "type" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "description" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "himark" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "planner" is accessed directly in method "setId" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "purchased" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "type" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "revision" is accessed directly in method "readObject" defined in "pb.common.Assembly". [java] "pb.common.Assembly" uses property access, but its field "lomark" is accessed directly in method "writeObject" defined in "pb.common.Assembly". [java] 7184 WARN [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types: [java] "pb.common.Component" uses property access, but its field "type" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "revision" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "description" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "revision" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "lomark" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "type" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "setId" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "suppliers" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "lomark" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "description" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "purchased" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "planner" is accessed directly in method "setId" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "purchased" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "suppliers" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "himark" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "himark" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Component". [java] "pb.common.Component" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Component".
     [java] s_dbAdapterClass:pb.adapter.EJB3ToplinkAdapter
[java] 114 INFO [OCDriverAllOpsAgent[0].0] openjpa.Runtime - Starting OpenJPA 0.9.6-incubating [java] 347 INFO [OCDriverAllOpsAgent[0].0] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary". [java] 1408 INFO [OCDriverAllOpsAgent[0].0] openjpa.MetaData - Found 4 classes with metadata in 1 milliseconds. [java] 9368 WARN [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types: [java] "pb.common.Supplier" uses property access, but its field "components" is accessed directly in method "writeObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "name" is accessed directly in method "readObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "name" is accessed directly in method "writeObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "id" is accessed directly in method "readObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "components" is accessed directly in method "readObject" defined in "pb.common.Supplier". [java] "pb.common.Supplier" uses property access, but its field "id" is accessed directly in method "writeObject" defined in "pb.common.Supplier". [java] 9537 WARN [OCDriverAllOpsAgent[0].0] openjpa.Enhance - Detected the following possible violations of the restrictions placed on property access persistent types: [java] "pb.common.BOM" uses property access, but its field "assembly" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "opsNo" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "version" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "qty" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "qty" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "engChange" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "version" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "component" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "assembly" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "engChange" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "opsDesc" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "opsDesc" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "lineNo" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "component" is accessed directly in method "readObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "lineNo" is accessed directly in method "writeObject" defined in "pb.common.BOM". [java] "pb.common.BOM" uses property access, but its field "opsNo" is accessed directly in method "readObject" defined in "pb.common.BOM".

Craig Russell
DB PMC
[EMAIL PROTECTED] http://db.apache.org/jdo



Reply via email to