Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error with UnitOfWork.Commit()

402008Apr 3 2008 — edited Apr 3 2008
We recently upgraded to Toplink 10.3.1.3 and we are noticing some strange behaviour in our environment for example the OC4J container hangs for no apparent reason, the database has no load but accquireConnection waits forever. The log file shows the exceptions like below, however we are not sure whether this is the reason for the strange behaviour.

java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementAt(Vector.java:434)
at oracle.sql.TIMEZONETAB.getLocalOffset(TIMEZONETAB.java:295)
at oracle.sql.TIMESTAMPTZ.toBytes(TIMESTAMPTZ.java:1431)
at oracle.sql.TIMESTAMPTZ.toBytes(TIMESTAMPTZ.java:1614)
at oracle.sql.TIMESTAMPTZ.<init>(TIMESTAMPTZ.java:256)
at oracle.toplink.internal.platform.database.oracle.TIMESTAMPHelper.buildTIMESTAMPTZ(TIMESTAMPHelper.java:22)
at oracle.toplink.oraclespecific.Oracle9Platform.setParameterValueInDatabaseCall(Oracle9Platform.java:341)
at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall(DatabasePlatform.java:1516)
at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall(DatabasePlatform.java:1504)
at oracle.toplink.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:609)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:491)
at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:441)
at oracle.toplink.publicinterface.Session.executeCall(Session.java:728)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:117)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:103)
at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.insertObject(DatasourceCallQueryMechanism.java:238)
at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:156)
at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:170)
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:426)
at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2604)
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
at oracle.toplink.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:243)
at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:218)
at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:174)
at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3193)
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1293)
at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1389)
at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:1137)
at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:905)

The TIMESTAMP filed in the Oracle database is defined as a not null field with default value as SYSTIMESTAMP, on the java object it has been set to System time using Calendar.GetInstance().

Has any one encountred similar issues with Toplink 10.3.1.3. Any related information would be greatly appreciated.

Thanks in advance.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 1 2008
Added on Apr 3 2008
1 comment
1,456 views