>From the description in the JIRA [1], it seems that this problem is related
to the QuerySQLCache [2] that is "on" by default.  As a workaround, you
should be able to turn off this property and get around the problem.  A
replacement implementation for this particular cache has been incorporated
into trunk (OpenJPA 2.0.x), which also seems to resolve this particular
problem.  And, one developer has also experimented with a quick fix to test
for null...

Before we entertain possible fixes, try running with this particular cache
turned off and see if that gets you up and running.  Thanks.

openjpa.jdbc.QuerySQLCache = false

Good luck,
Kevin


[1]  https://issues.apache.org/jira/browse/OPENJPA-1001
[2]
http://openjpa.apache.org/builds/1.2.1/apache-openjpa-1.2.1/docs/manual/manual.html#ref_guide_cache_querysql

On Thu, Aug 13, 2009 at 8:57 AM, ljnelson <[email protected]> wrote:

>
>
> ljnelson wrote:
> >
> >  Doh!  I didn't include the final caused-by:
> >
> > Caused by: java.lang.Exception: java.lang.IndexOutOfBoundsException:
> > Index:
> > 3, Size: 3
> >     at
> >
> org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
> >     at
> >
> org.apache.openjpa.persistence.PersistenceException.writeObject(PersistenceException.java:100)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >     at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:597)
> >     at
> > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> >     at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
> >     at
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
> >     at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
> >     at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
> >     at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
> >     at
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
> >     at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
> >     at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
> >     at
> >
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.copyObj(BaseEjbProxyHandler.java:501)
> >     at
> >
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.copy(BaseEjbProxyHandler.java:301)
> >     at
> >
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:285)
> >
>
> And after we remove the serialization concerns, I find that the ultimate
> cause is this:
>
> Caused by: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
>        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>        at java.util.ArrayList.get(ArrayList.java:322)
>        at
> org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:617)
>        at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:515)
>        at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:471)
>        at
>
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:474)
>        at
> org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:390)
>        at
> org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:336)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:503)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:322)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:278)
>        at
>
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
>        at
>
> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
>        at
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:896)
>        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:854)
>
> Hope this helps.
>
> Best,
> Laird
> --
> View this message in context:
> http://n2.nabble.com/OPENJPA-1001-tp3437948p3438119.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>

Reply via email to