TOPLINK-5006

Please look at the following exception . Does it mean I have versionLocking policy set for a descriptor . What can be concluded from the trace.
Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.OptimisticLockException
Exception Description: The object [[email protected]086c] cannot be updated because it has changed or been deleted since it was last read.
Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [200152710, 3]
     at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(OptimisticLockException.java:109)
     at oracle.toplink.descriptors.VersionLockingPolicy.validateUpdate(VersionLockingPolicy.java:658)
     at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1007)
     at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:107)
     

This exception happens when you've enabled Optimistic locking, and have two concurrent transactions trying to modify/delete the same object in the concurrent transactions.
- Don

Similar Messages

  • MergeClone in Toplink 10.1.3

    I have an object model with Booking and Status objects, where Booking has 1-1 relationship with Status.
    Since we're using Webservices, we try to perform update on the object returned by webservice with MergeClone as follows:
              Session session = getSession();
              UnitOfWork uow = session.acquireUnitOfWork();
              uow.registerObject(booking);
              uow.mergeCloneWithReferences(booking);
              uow.commit();
    However, I got SQL Exception when commit:
    Internal Exception: java.sql.SQLException: ORA-00001: unique constraint (CS2_DEV_EXERCISE.SYS_C007756) violated
    Error Code: 1
    Call:INSERT INTO TEST_NGSC_BOOKING (BookingID, Name, version, StatusID) VALUES (101, 'changed', 1, NULL)
    Query:InsertObjectQuery(booking[101, changed, null, 1] )
    It is strange to me that Toplink generate "Insert" statement, but actually the record is already stored in DB, and the PK matched with the object I passed to "mergeClone" call.
    I tried again by reading the Object 1st:
              UnitOfWork uow = session.acquireUnitOfWork();
              uow.registerObject(uow.readObject(booking));
              uow.mergeCloneWithReferences(booking);
              uow.commit();
    Then I got another exception:
    Exception [TOPLINK-5006] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [booking[101, changed, null, 1] ] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.cargosmart.toplink.test.Booking Primary Key> [101]
    Please kindly advice if I have done anything wrong in my code
    Many Thanks

    For the case:
    uow.registerObject(uow.readObject(booking));
    uow.mergeCloneWithReferences(booking);
    uow.commit();
    The same exception thrown as before:
    Exception [TOPLINK-5006] (Oracle TopLink -
    10g
    Release 3 (10.1.3.1.0) (Build 061004)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [status[51,null,
    null, 1] ] cannot be updated because it haschanged
    or been deleted since it was last read.
    Class> com.cargosmart.toplink.test.Status
    Primary
    Key> [51]Can you add this line of code after you issue
    uow.commit() ?
    uow.getUnitOfWorkChangeSet().hasChanges();
    If this is false that means there are no changes.
    You need to ensure that when the object is sentback
    over the wire there are indeed changes or elsewhen
    the comparison happens and there are no changes
    no
    updates will be written.
    I was able to reproduce one of your problems(the
    unique key violation) but was unable toreproduce
    the
    optimistic lock exception.I was able to reproduce the optimistic lockexception
    as well. On your web services client side code you
    have invoked a method that changes the version
    attribute on the booking class. The versionattribute
    is one that Toplink manages not the developer.Check
    to see if this is happening.Thanks for reminding!
    Yes, the problem is related to the version field.
    I need to take special care on the version value by
    performing the "readObject", get the existing version
    value and fit into the changed object before
    performing mergeClone, and then I was able to commit
    the change into DB successfully.I understand that you have to do a "readObject" before you merge to avoid the unique constraint violation exception(the object may no longer be in the cache when you merge especially if you set the Existence check to "Check Cache"). But I am not sure updating the version field is recommended. You may want to confirm that of course.

  • Clearing Toplink cache

    We are encountering OptmisticLockException sometimes in our app, when this happens all the other transactions are affected, is there any way to clear the Toplink cache externally? thanks

    Thanks, but can you please tell me why Toplnik is issuing an update instead of insert for the object FXSingleLegC.FI120.0#16137966, I have given the list of registered objects and the sql generated, as you
    can see the primary key is 0 for the object and Toplink still issues an update statement
    2008-10-16 13:30:45,385 DEBUG Thread-199 [[email protected]] ISTransactionManager.endTransaction called
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Severe]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    UnitOfWork identity hashcode: 16131849
    All Registered Clones:
    Key: [0]     Identity Hash Code: 16153182     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16153182
    Key: [0]     Identity Hash Code: 15825629     Object: com.integral.finance.trade.TradeExternalSystemIdC.MAIN.0#15825629
    Key: [0]     Identity Hash Code: 16151868     Object: com.integral.finance.dealing.QuoteC.CITI.0#16151868
    Key: [0]     Identity Hash Code: 16136988     Object: com.integral.finance.dealing.RequestExternalSystemIdC.MAIN.0#16136988
    Key: [0]     Identity Hash Code: 16165592     Object: com.integral.finance.fx.FXLegC.MAIN.0#16165592
    Key: [0]     Identity Hash Code: 16152054     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16152054
    Key: [0]     Identity Hash Code: 16136630     Object: com.integral.finance.dealing.RequestC.FI120.0#16136630
    Key: [0]     Identity Hash Code: 16152405     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16152405
    Key: [0]     Identity Hash Code: 16261779     Object: com.integral.workflow.WorkflowStateMapC.FI120.0#16261779
    Key: [0]     Identity Hash Code: 16153490     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16153490
    Key: [0]     Identity Hash Code: 16137966     Object: com.integral.finance.fx.FXSingleLegC.FI120.0#16137966
    Key: [0]     Identity Hash Code: 16137678     Object: com.integral.finance.fx.FXLegC.MAIN.0#16137678
    Key: [0]     Identity Hash Code: 16140011     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16140011
    Key: [0]     Identity Hash Code: 16262600     Object: com.integral.finance.trade.CptyTradeC.FI120.0#16262600
    Key: [0]     Identity Hash Code: 16263303     Object: com.integral.finance.trade.CptyTradeC.FXI.0#16263303
    Key: [0]     Identity Hash Code: 16137383     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16137383
    Key: [4434103]     Identity Hash Code: 16156067     Object: com.integral.finance.dealing.RequestC.FI120.4434103#16156067
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin unit of work commit
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.391--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin transaction
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: Begin batch statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: INSERT INTO IdcWorkflowState (id, modifiedDate, statusLastModified, status, wrkflowCode, wrkflowCodeArg, statelastmodified, createdDate, guid, version, displayKey, workflowparentid, cptyId, changeSetId, workflowErrorsId, namespaceId, lastactor, clsfId, lastStateId, workgroupId, firstactor, lastModifiedById, stateid, type) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:      bind => [5036105, 2008-10-16 13:30:45.378, null, A, null, null, 2008-10-16 13:30:45.379, 2008-10-16 13:30:45.378, G2cbe1d024c11d05d9e502972, 1, null, null, null, null, null, 167001, 402003, null, null, null, 402003, 402003, 78, IdcWFStateMapC]
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: End Batch Statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.393--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: UPDATE IdcTrd SET modifiedDate = ?, statusLastModified = ?, origUsrId = ?, takerRefId = ?, origCptyId = ?, workflowStateMapId = ?, tkrCptyId = ?, mkrCptyId = ?, version = ?, lastModifiedById = ? WHERE ((id = ?) AND (version = ?))
         bind => [2008-10-16 13:30:45.392, 2008-10-16 13:30:45.378, 402003, test167, 392001, 5036105, 392001, 392012, 1, 402003, 0, 0]
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.sendMessage : status=200 responseStr=com.integral.is.message.ResponseMessageC|{}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objType is com.integral.is.message.ResponseMessageC
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objStr is {}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Warning]:
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.431--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,453 WARN JMS SessionPool Worker-60 [[email protected]] MessageListenerC.handleTradeResponse: Got trade response for transaction id FXI7423644->com.integral.is.message.TradeVerifyC - Properties{START_TIME=1224163845446,PROCESSED_TIME=1224163845446,} Timing{AcceptanceReceivedByAdapter=1224163845387,VerificationReceivedFromProvider=1224163845446,AcceptanceSentToProvider=1224163845387,} serverId=null,tradeId=FXI7423644,requestReferenceId=null,buySell=0,baseCcy=null,variableCcy=null,statusDesc=null,providerTradeId=FXI742364410,valueDate=Sat Oct 18 00:00:00 GMT 2008,acceptedAmount=0.0,acceptedSettledAmount=0.0,acceptedPrice=0.0
    2008-10-16 13:30:45,453 INFO Thread-199 [[email protected]] Persistence - TOPLink: Local Exception Stack:
    2008-10-16 13:30:45,454 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,456 INFO Thread-199 [[email protected]] Persistence - TOPLink: Exception [TOPLINK-5006] (Oracle TopLink - 10g Release 3 (10.1.3.4.0) (Build 080602)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [com.integral.finance.fx.FXSingleLegC.FI120.0#16137966] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.integral.finance.fx.FXSingleLegC Primary Key> [0]
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(OptimisticLockException.java:125)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.descriptors.VersionLockingPolicy.validateUpdate(VersionLockingPolicy.java:677)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1081)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:98)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(DatabaseQueryMechanism.java:522)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(DatabaseQueryMechanism.java:490)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:357)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:110)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:243)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:218)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:174)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3194)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1320)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1416)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:1164)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:932)

  • Toplink Cache issues in Cluster

    Hi
    Our production environment is have a clustered environment and we have been noticing the following problem. When a user is trying to save a record she repeatedly encounters the "Toplink-5006" exception that I have included below.
    TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E1938A8EAD(115171166),Status=Rolled back. [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=MS15_mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)], weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+, XAResources={},NonXAResources={})],CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+): Local Exception Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
         at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(Ljava/lang/Object;Loracle/toplink/queryframework/ObjectLevelModifyQuery;)Loracle/toplink/exceptions/OptimisticLockException;(OptimisticLockException.java:109)
    What is puzzling is that the occurance of this nature has increased with user load and the toplink cache does not seem to have been refreshed after it encounters the first Optimistic Lock exception. We have run several test and this is not reproducabile in the DEV environment where we do not have a clustered set. After making a few updates to a record users starts experiencing the problem ... for some this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4 managed servers.
    I have included the toplink-cmp-people.xml ( Thisis the particular entity bean we have a problem with) Our application server is Weblogic and we have Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationships>
    <customization-class>com.rhii.mjplus.common.TopLinkCustomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    Lakshmi

    Can you refresh that record using a query before you save it ?
    Hi
    Our production environment is have a clustered
    environment and we have been noticing the following
    problem. When a user is trying to save a record she
    repeatedly encounters the "Toplink-5006" exception
    that I have included below.
    TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB>
    <BEA-010026> <Exception occurred during commit of
    transaction Name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E19
    38A8EAD(115171166),Status=Rolled back.
    [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) -
    10g (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937,
    0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=0,seconds
    left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTS
    XAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrap
    per.JTSXAResourceImpl]=(state=rolledback,assigned=MS15
    _mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf
    50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),propertie
    s=({weblogic.transaction.name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],
    weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransacti
    onManager=ServerTM[ServerCoordinatorDescriptor=(Coordi
    natorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=MS15
    _mjp+10.253.129.56:2323+mjp+t3+): Local Exception
    Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g
    (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    at
    t
    oracle.toplink.exceptions.OptimisticLockException.obje
    ctChangedSinceLastReadWhenUpdating(Ljava/lang/Object;L
    oracle/toplink/queryframework/ObjectLevelModifyQuery;)
    Loracle/toplink/exceptions/OptimisticLockException;(Op
    timisticLockException.java:109)
    What is puzzling is that the occurance of this nature
    has increased with user load and the toplink cache
    does not seem to have been refreshed after it
    encounters the first Optimistic Lock exception. We
    have run several test and this is not reproducabile
    in the DEV environment where we do not have a
    clustered set. After making a few updates to a record
    users starts experiencing the problem ... for some
    this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4
    managed servers.
    I have included the toplink-cmp-people.xml ( Thisis
    the particular entity bean we have a problem with)
    Our application server is Weblogic and we have
    Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationsh
    ips>
    <customization-class>com.rhii.mjplus.common.TopLinkCu
    stomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    LakshmiCan you refresh that record using a query before you save it ?

  • Collocating / Pinning

    Hi
    Document link . http://ftp.unex.es/oradoc/application_server_10g/web.904/b10313/conf4as.htm#1121739
    I am going over the following documentation and want to understand the significanace of the following .
    Collocation
    Although the BEA WebLogic cluster enables you to build an application across several servers, related components in the application must still be localized to a server. When you store several beans on the same server, the beans are said to be collocated.
    Collocation in a BEA WebLogic cluster imposes the following restrictions:
    When you deploy beans on a single server, you can invoke those beans only on that server. This localizes the beans on a given server, and provides a statically-defined means of collocation.
    You must cluster bean Home interfaces, but not instances. When you instantiate a bean, you pin it to the server on which it was instantiated.
    For more information, see "Pinning".
    JTA user transactions must execute completely on a single server, and cannot span servers.
    You must collocate all related beans and objects on a single server to support relationships between beans. To simplify the application, also retrieve source and target objects on the same server.
    When you create or instantiate a bean, the bean instance is associated with, or pinned to, the server on which it is instantiated. To localize transactions to a particular server, BEA WebLogic Server pins all instantiated beans in a given transaction to the server on which you run the transaction. If beans are pinned to other servers, you cannot localize the transaction.
    You can pin beans to a given server dynamically, either through user transactions or through session beans.
    In production we have the following setup
    Box A has 4 managed server M1 , M2 , M3 , M4
    Box B has 4 managed server M5 , M6 , M7 , M8
    Box C has 4 managed server M9 , M10 , M11 , M12
    Box D has 4 managed server M13 , M14 , M15 , M16
    For initial context lookup we use Multiple-address provider URLs resolving to servers example :
    WL.Context.PROVIDER_URL = t3://xxx:2321,xxx:2322,xxxx:2323,xxxx:2324
    We do not use JMS Cache Synchronization for cluster and rely on Optimitic Locking.
    Problems Experienced
    Toplink cache is stale and user keeps hitting the TOPLINK-5006 -cannot be updated because it has changed or been deleted since it was last read. exception repeated.
    Could this be due to the fact that Reads and updates probbaly occurs thru different managed servers in a box ?
    Thanks ... and appreciate any feedback
    Lakshmi

    Yes. That is most likely what is happening. You will need to look at cache configuration, refresh queries, and possibly cache coordination. Some additional information is available in Re: Configuration for multilpe nodes.
    Doug

  • OptmisticLockException

    Hi All,
    i'm getting this exception can any one explain why this exception occurs and how to resolve this issue. I achieved a solution by refreshing the respective object, but i expect this might be occured due to commit of same object twice.
    Will this exception occurs if we commit the same object twice.
    Exception [TOPLINK-5006] :
    The Object cannot be updated because it has changed or been deleted since it was last read
    Thanks in advance.
    Regards,
    Praneeth

    Please post the code that throws the exception.
    Also go through the following link regarding optimistic locking -
    http://www.oracle.com/technology/products/ias/toplink/doc/1013/main/_html/descun008.htm

  • OptimisticLockException---urgent

    Hi All,
    i'm getting this exception can any one explain why this exception occurs and how to resolve this issue. I achieved a solution by refreshing the respective object, but i expect this might be occured due to commit of same object twice.
    Will this exception occurs if we commit the same object twice.
    Exception [TOPLINK-5006] :
    The Object cannot be updated because it has changed or been deleted since it was last read
    Thanks in advance.
    Regards,
    Praneeth

    Interesting - an urgent Documentation issue.
    Or is it perhaps that you need to discuss this with a TopLink expert - in which case you could try the TopLink forum at TopLink/JPA
    If it truly is urgent, you should use your Support Contract to contact Oracle Support.

  • How to use jta in toplink and stateless session bean EJB 3.0?

    I have an application with techologies jsf,stateless session bean, adf, toplink
    generated by toplink workbench.
    In web side ı want to use two methods in stateless session bean which are updated
    different tables. I call these methods in my page backing bean.
    I also want to JTA in web side. My first methods is done correctly, but second method has an error. I wanto to rollback all transaction.
    How can ı do that? with using JTA in Toplink...

    Yuichi
    Did you manage to solve this?  I'm doing something similar and seeing the same problem, although they're up to 7.3 SP7.
    Any help greatly appreciated.
    Lewis

  • Upgrading from Weblogic 6.1sp5/TopLink 3.6.3 to Weblogic 8.1/TopLink 9.0.4

    Hi.
    We are doing the migration from Weblogic 6.1sp5/TopLink 3.6.3 to Weblogic 8.1 & TopLink 9.0.4
    We have been reading available documentation and started the migration. We have not had any problems with package ranaming issues and XML DOCTYPES changes.
    As we do have a lot of ammedmed querys, we do prefer to use a java class as our proyect mapping descriptor rather than a huge XML.
    We are currently porting all our querys to the new system.
    As we are doing a lot of changes we are also updating our EJB 1.1 entity beans to EJB 2.0 (maybe in the future we will deploy our EJBs with local interfaces too).
    The main problem we are facing right now is with all the querys we had in our toplink-cmp-<bean>.xml files. Even if most of the finders are "REDIRECT" querys that had to be ammendmed we have a good number of "EXPRESSION"s on them.
    As far as we are able to see we should move them to the TopLink Project java file in the querys section. The question is: is it possible to declare them in the ejb-jar.xml file into the <ejb-ql> tag (we have seen that the TopLinkImplemented string appears on the <ejb-ql> telling the container who should handle the query, so if Weblogic can be "tricked" to do that "ejb-ql" it may be possible to do the same with a TopLink expression isn't it?.
    Another issue we don't have clear is if now all the querys must be either ejb-ql (compliant with the EJB 2.0 standard) or named querys (either TopLink expressions or SQL querys) defined in the TopLink Project java or XML files. What happened with the redirect querys
    I would like to point just another issue we have "solved" but we are not really satisfied with how we solved it.
    We are using timestamp locking with our entity beans. The shouldBindAllParameters is set to true too and we have the logging activated so we have been able to track down the problem.
    The problem seems to be something like this.
    You create a new entity bean and TopLink issues a sentence like this against the DB (Oracle 8.1.7 I must say we have also configured the login session to use the Oracle8PlatformSupport)
    INSERT INTO FOO(OID,OCA) VALUES (?, ?)
    bind => [1, 2004-04-26 13:16:45.251]
    As far as we know Oracle 8.1.7 doesn't store the milliseconds (we are using DATE type in Oracle tables) so the ".251" value is stored as "0"
    Then we try to delete the entity bean and TopLink sends this sentence to the database:
    DELETE FROM FOO WHERE ((OID = ? AND OCA = ?))
    bind => [1, 2004-04-26 13:16:45.251]
    Then, a TOPLINK-5003 (the object has been modified or deleted since last read) is raised and the transaction is rolled back.
    We tried without binding and it works perfect (it seems that the timestamp is treated as YYYY-MM-DD SSSSS in the "to_date" function issued)
    As we would like to keep with binding all parameters in order to optimize our database accesses we have changed the default jdbc driver (sun.jdbc...) that is showed when reading the proper property of the login sesion with the oracle.jdbc.driver.OracleDriver. This latest driver seems to solve the problem with the reminders of the timestamps but this brings us a doubt.
    If we have configured two datasources in our Weblogic's config.xml file (one for transactional operations, beeing that one also an XA driver as we need to coordinate RDBMS operations with a JMS service, and the other one being a "standar" oracle.jdbc.driver.OracleDriver) why is that the driver used as default by the login method is that "weird" sun.jdbc... driver? Shouldn't TopLink use one (the XA driver I hopefully) of the drivers defined in Weblogic's datasource?
    1. Is the issue we are seeing with the timestamp a known bug/problem?
    2. Is there a better way to solve it than changing the driver (we are affraid of the "new" issues changing it could raise)
    I have seen that with TopLink 3.6.3 and the "default" driver used in the login (it is the same by default on both TopLink 3.6.3 and TopLink 9.0.4) the binded timestamp are "truncated" to the second resolution and it works without any problem.
    Thanks in advance.
    Ignacio

    Not sure on all of the issues, but can provide some information on some of them.
    Re-directors:
    Support was added for re-director to core queries, so now your named queries can make use of re-director if they require advanced dynamic execution. So all re-director queries can become named queries.
    Timestamp locking:
    In general we would always suggest numeric version locking if you have the choice. I'm not clear on what you are saying about the driver having an effect on the problem, however in general Oracle 8 does not support milliseconds, if you use timestamp locking with local timestamps they will have milliseconds and the database values will not match the ones in memory.
    To resolve this you can,
    - Use server timestamps TimestampLockingPolicy.useServerTime()
    - Clear the timestamp's milli/nano second value through an aboutToInsert event.
    - Extend Oracle8Platform.convertObject to clear the timestamp's milli/nano second value.
    - If you can use Oracle 9 or 10 there is now a TIMESTAMP type that does support milliseconds.
    If a different driver seems to be solving this, it is most likely the database ignores the milliseconds in the comparison, but the driver you are using sends the millisecond to the database incorrectly when binding.

  • Help on Decode function in Toplink

    Hi,
    I have a sql statement like this:
    select field1, field2 from table1 where upper(field1) like 'ADELPHI%'
    order by field1,
    DECODE(TO_CHAR(NVL(LENGTH(TRANSLATE(field1,'A1234567890','A')),0)),'0',LPAD(field1 ,50),field1)
    How would I converted this to toplink query?
    I appreciate any help you guys can extend to me.

    I just spent about a half hour writing a response here, and the damned forum timed out on me. #$^!@$#!^!@$%.
    Here is the summary:
    - Using TL Expressions and EJBQL are to allow Java developers who don't necessarily know SQL to write queries and to facilitate portability/maintainability of the apps. For REALLY gnarly queries, using TL Expressions or EJBQL won't buy you this. I.e., SQL is more expressive and easier for this kind of quer, so it's not easier to use, and frankly with the code needed to support it, it won't be easier to maintain or port... Bottom line, maybe SQL is the best option here?
    - If you want to experiment, search for TO_CHAR on this forum, and the decode function in the javadoc. You need to build the expressions in pieces and you can treat expressions as arguments to other expressions -- in other words, you can build an expression like builder.leftPad(50, builder.get("field1")) and use it as one of the key/values in the hashtable to the decode function (in theory).
    - Don

  • Multiple Rows Update / Refresh Toplink Query when database trigger involved

    Hi everybody!
    I have two easy troubles for you; the platform is the same as the SRDemo Toplink version.
    1.     Multiple Rows Update: I want to update with mergeEntity method, multiple rows for an isolated table; that method receives a parameter that I try to bind with the iterator "dataProvider" but it only merges the first row, not all, any other combination returns an error.
    What I want to do is to have a form (like tabular forms in Apex) that lets me update multiple rows in a single page. ¿May anyone tell me how to do it?
    2.     Refresh Toplink Named Query: I have a list on a page with two columns. From another page, a button does an action that fires a database trigger that updates one of the columns on the list´s page. When I go back to the list, it is not updated; however, the CacheResults´s property is set to false on the iterator.
    Thanks in advance,
    Alejandro T

    I didn't use it (yet), but - you might take a look. You'll find a [url http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html]Timer plug-in on this page. It is a dynamic action which allows you to periodically fire other dynamic actions in the browser. For example use the timer to refresh a region every five minutes. You can perform any dynamic action you want using this infrastructure.So I was thinking: you might use it to run a dynamic action which would check whether something changed in that table (I suppose you'll know the way) (for example, a database trigger might set a flag in some table, timestamp or similar), and - if you find that something really changed - refresh the page.
    As I said, I never used it so that's pure theory. Someone else might know better, though.

  • Unable to deploy Web App using JPA TopLink Essentials in Tomcat5.5.17

    Hi All,
    I am trying to deploy a Web App ( used Top Link Essentials ) to Tomcat and i am getting the following Error..
    I am strating tomcat using -javaagent:/Path/To/spring-agaent.jar
    Dec 14, 2006 9:52:46 AM org.apache.catalina.loader.WebappClassLoader loadClass
    INFO: Illegal access: this web application instance has been stopped already.  Could not load oracle.toplink.essentials.internal.weaving.ClassDetails.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
    java.lang.IllegalStateException
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1238)
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at oracle.toplink.essentials.internal.weaving.TopLinkWeaver.transform(TopLinkWeaver.java:84)
            at org.springframework.orm.jpa.persistenceunit.ClassFileTransformerAdapter.transform(ClassFileTransformerAdapter.java:56)
            at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
            at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
            at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1812)
            at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.getDeclaredConstructors0(Native Method)
            at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
            at java.lang.Class.getConstructor0(Class.java:2671)
            at java.lang.Class.newInstance0(Class.java:321)
            at java.lang.Class.newInstance(Class.java:303)
            at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:396)
            at com.sun.faces.config.ConfigureListener.verifyObjects(ConfigureListener.java:1438)
            at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:509)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
            at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
            at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
            at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
            at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
            at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
            at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
            at org.apache.catalina.core.StandardService.start(StandardService.java:450)
            at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
            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:585)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Thanks
    Sateesh

    Spring 2.0 provides custom support for TopLink Essentials in Tomcat out-of-the-box. You should follow the instructions here: http://static.springframework.org/spring/docs/2.0.x/reference/orm.html#orm-jpa-setup-lcemfb-tomcat
    Essentially, Spring provides a custom class loader for Tomcat and doesn't use an agent.
    --Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How do I use toplink with Spring 2.5 and oc4j 10.1.2?

    Our existing java server environment is limited to Oc4j 10.1.2 due to being tied to Oracle Forms.
    We've added a java 6 jdk to the machine and linked it to a specific container to examine some newer java features since this version of the application server only comes with java 1.4.2.
    Does anyone have some configuration steps for getting toplink essentials and spring to work with oc4j 10.1.2? Even with oc4j 10.1.3 in jdev 10.1.3.4 I'm having problems trying to figure out what needs placed in the persistence.xml file verses what needs placed in the spring-beans.xml file.
    I'm trying to either use the J2SE option of keeping the connection information in the persistence.xml file (which doesn't work) - it tries to connect to //localhost:1521/orcl. If I try to define a datasource within Spring's xml file, I'm not sure how to tie that into the persistence.xml file. Could I use the oc4j 10.1.2 container provided datasource?
    It seems like I'm at a loss as to how to get this working. If you'd like me to post some files, I can do that later on today when I get back to work.
    The configuration that I'm trying to do is based on a modified workspace from an ibm developerworks article with websphere, mixing in the ideas from a JPA with Spring 2.0 article from Mike Keith and Rod Johnson. (That article goes pretty far in the configuration information but never provided an example to download...)
    Any help appreciated.
    Eric (hbg, pa)

    I'm still at a loss with this. Rather than worry about the older version, for now, I just want to see JPA in action. So, I've decided on just running the Spring 2.5.6 petclinic example out of the samples folder. When I try to do this, after only tweaking the web.xml to use the applicationContext-jpa.xml file, the application does not initialize properly. Here's the stack trace I get:
    Target URL -- http://192.168.0.2:8988/petclinic/index.jsp
    09/05/11 23:26:05 Oracle Containers for J2EE 10g (10.1.3.4.0)  initialized
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\connector.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/connector.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\jta.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/jta.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\persistence.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/persistence.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\toplink-essentials.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/toplink/jlib/toplink-essentials.jar (from <code-source> in /C:/jdev10134/jdev/system/oracle.j2ee.10.1.3.42.70/embedded-oc4j/config/server.xml). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    09/05/11 23:26:24 log4j: Parsing for [root] with value=[INFO, stdout].
    09/05/11 23:26:24 log4j: Level token is [INFO].
    09/05/11 23:26:24 log4j: Category root set to INFO
    09/05/11 23:26:24 log4j: Parsing appender named "stdout".
    09/05/11 23:26:24 log4j: Parsing layout options for "stdout".
    09/05/11 23:26:24 log4j: Setting property [conversionPattern] to [%d %p [%c] - <%m>%n].
    09/05/11 23:26:24 log4j: End of parsing for "stdout".
    09/05/11 23:26:24 log4j: Parsed "stdout" options.
    09/05/11 23:26:24 log4j: Parsing for [org.springframework.samples.petclinic.aspects] with value=[DEBUG].
    09/05/11 23:26:24 log4j: Level token is [DEBUG].
    09/05/11 23:26:24 log4j: Category org.springframework.samples.petclinic.aspects set to DEBUG
    09/05/11 23:26:24 log4j: Handling log4j.additivity.org.springframework.samples.petclinic.aspects=[null]
    09/05/11 23:26:24 log4j: Finished configuring.
    09/05/11 23:26:24 log4j: Reading configuration from URL file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/log4j.properties
    09/05/11 23:26:24 log4j: Parsing for [root] with value=[INFO, stdout].
    09/05/11 23:26:24 log4j: Level token is [INFO].
    09/05/11 23:26:24 log4j: Category root set to INFO
    09/05/11 23:26:24 log4j: Parsing appender named "stdout".
    09/05/11 23:26:24 log4j: Parsing layout options for "stdout".
    09/05/11 23:26:24 log4j: Setting property [conversionPattern] to [%d %p [%c] - <%m>%n].
    09/05/11 23:26:24 log4j: End of parsing for "stdout".
    09/05/11 23:26:24 log4j: Parsed "stdout" options.
    09/05/11 23:26:24 log4j: Parsing for [org.springframework.samples.petclinic.aspects] with value=[DEBUG].
    09/05/11 23:26:24 log4j: Level token is [DEBUG].
    09/05/11 23:26:24 log4j: Category org.springframework.samples.petclinic.aspects set to DEBUG
    09/05/11 23:26:24 log4j: Handling log4j.additivity.org.springframework.samples.petclinic.aspects=[null]
    09/05/11 23:26:24 log4j: Finished configuring.
    2009-05-11 23:26:24,593 INFO [org.springframework.web.context.ContextLoader] - <Root WebApplicationContext: initialization started>
    2009-05-11 23:26:24,687 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Refreshing org.springframework.web.context.support.XmlWebApplicationContext@eeb406: display name [Root WebApplicationContext]; startup date [Mon May 11 23:26:24 EDT 2009]; root of context hierarchy>
    2009-05-11 23:26:24,828 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from ServletContext resource [WEB-INF/applicationContext-jpa.xml]>
    2009-05-11 23:26:25,281 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@eeb406]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b>
    2009-05-11 23:26:25,734 INFO [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] - <Loading properties file from class path resource [jdbc.properties]>
    2009-05-11 23:26:25,796 INFO [org.springframework.context.weaving.DefaultContextLoadTimeWeaver] - <Determined server-specific load-time weaver: org.springframework.instrument.classloading.oc4j.OC4JLoadTimeWeaver>
    2009-05-11 23:26:28,296 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'org.springframework.orm.jpa.vendor.TopLinkJpaVendorAdapter#c25ae3' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,359 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'dataSource' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,437 INFO [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean] - <Building JPA container EntityManagerFactory for persistence unit 'PetClinic'>
    2009-05-11 23:26:28,468 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'entityManagerFactory' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,562 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b: defining beans [org.springframework.context.weaving.AspectJWeavingEnabler#0,org.springframework.context.config.internalBeanConfigurerAspect,loadTimeWeaver,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,entityManagerFactory,transactionManager,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.transaction.config.internalTransactionAspect,org.springframework.samples.petclinic.aspects.UsageLogAspect#0,org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0,clinic]; root of factory hierarchy>
    2009-05-11 23:26:29,671 INFO [org.springframework.web.context.ContextLoader] - <Root WebApplicationContext: initialization completed in 5078 ms>
    2009-05-11 23:26:29,734 INFO [org.springframework.web.servlet.DispatcherServlet] - <FrameworkServlet 'petclinic': initialization started>
    2009-05-11 23:26:29,734 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Refreshing org.springframework.web.context.support.XmlWebApplicationContext@c00e55: display name [WebApplicationContext for namespace 'petclinic-servlet']; startup date [Mon May 11 23:26:29 EDT 2009]; parent: org.springframework.web.context.support.XmlWebApplicationContext@eeb406>
    2009-05-11 23:26:29,734 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from ServletContext resource [WEB-INF/petclinic-servlet.xml]>
    2009-05-11 23:26:30,171 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@c00e55]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1c5543b>
    2009-05-11 23:26:30,375 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1c5543b: defining beans [addOwnerForm,addPetForm,addVisitForm,clinicController,editOwnerForm,editPetForm,findOwnersForm,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,messageSource]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b>
    2009-05-11 23:26:31,828 INFO [org.springframework.web.servlet.DispatcherServlet] - <FrameworkServlet 'petclinic': initialization completed in 2094 ms>
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic.transaction
    WARNING: PersistenceUnitInfo PetClinic has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    INFO: TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    INFO: Server: unknown
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic.connection
    CONFIG: connecting(DatabaseLogin(
            platform=>EssentialsHSQLPlatformWithNativeSequence
            user name=> ""
            connector=>JNDIConnector datasource name=>null
    May 11, 2009 11:27:03 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    SEVERE:
    Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    Error Code: 17002
            at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:305)
            at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:150)
            at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:184)
            at oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:233)
            at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:242)
            at oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:309)
            at oracle.toplink.essentials.threetier.ConnectionPool.buildConnection(ConnectionPool.java:117)
            at oracle.toplink.essentials.threetier.ExternalConnectionPool.startUp(ExternalConnectionPool.java:135)
            at oracle.toplink.essentials.threetier.ServerSession.connect(ServerSession.java:451)
            at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:616)
            at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:282)
            at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:229)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
            at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91)
            at org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerForTransaction(JpaTransactionManager.java:392)
            at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:320)
            at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:220)
            at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$before$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:63)
            at org.springframework.samples.petclinic.jpa.EntityManagerClinic.getVets(EntityManagerClinic.java:39)
            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:585)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
            at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
            at $Proxy19.getVets(Unknown Source)
            at org.springframework.samples.petclinic.web.ClinicController.vetsHandler(ClinicController.java:53)
            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:585)
            at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
            at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
            at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
            at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
            at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
            at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
            at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
            at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
            at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
            at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
            at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
            at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
            at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
            at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
            at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
            at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:287)
            at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:328)
            at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:430)
            at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
            at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:218)
            at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:114)
            at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1361)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:441)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:336)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:286)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:179)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:159)
            at oracle.oc4j.sql.DataSourceConnectionPoolDataSource.getPooledConnection(DataSourceConnectionPoolDataSource.java:57)
            at oracle.oc4j.sql.xa.EmulatedXADataSource.getXAConnection(EmulatedXADataSource.java:92)
            at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createXAConnection(ManagedConnectionFactoryImpl.java:211)
            at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:170)
            at com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(ApplicationConnectionManager.java:1398)
            at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnectionFromFactory(ConnectionPoolImpl.java:327)
            at oracle.j2ee.connector.ConnectionPoolImpl.access$800(ConnectionPoolImpl.java:98)
            at oracle.j2ee.connector.ConnectionPoolImpl$NonePoolingScheme.getManagedConnection(ConnectionPoolImpl.java:1211)
            at oracle.j2ee.connector.ConnectionPoolImpl.getManagedConnection(ConnectionPoolImpl.java:785)
            at oracle.oc4j.sql.ConnectionPoolImpl.getManagedConnection(ConnectionPoolImpl.java:45)
            at com.evermind.server.connector.ApplicationConnectionManager.getConnectionFromPool(ApplicationConnectionManager.java:1596)
            at com.evermind.server.connector.ApplicationConnectionManager.acquireConnectionContext(ApplicationConnectionManager.java:1541)
            at com.evermind.server.connector.ApplicationConnectionManager.allocateConnection(ApplicationConnectionManager.java:1486)
            at oracle.j2ee.connector.OracleConnectionManager.unprivileged_allocateConnection(OracleConnectionManager.java:238)
            at oracle.j2ee.connector.OracleConnectionManager.allocateConnection(OracleConnectionManager.java:192)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:272)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:200)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:142)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:127)
            at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:145)
            ... 60 moreAny ideas? I'd really like to see JPA, Spring and oc4j working together?
    Thanks,
    Eric

  • Anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?

    Was there anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?
    I don't see anything in release notes ( http://www.oracle.com/technology/products/ias/toplink/doc/11110/relnotes/toplink-relnotes.html ) regarding fixes. Anybody know where I can get that info? We have run into a couple of issues in the previous 11g release (11.1.1.0.1) and want to know if those issues have been addressed in the new release.
    Thanks!

    The two major areas of work in 11gR1 (11.1.1.1.0) are enhancements to EclipseLink included with the its 1.1.1 release as well as enhancements around TopLink Grid (JPA-Coherence integration).
    The EclipseLink 1.1.1 fixes are documented here: http://wiki.eclipse.org/EclipseLink/Release/1.1.1
    Doug

  • How to open and edit a TopLink .mwp file?

    I can not open the toplink_mappings.mwp file using JDeveloper tool.
    How to open and edit a TopLink .mwp file?
    Thank you

    Hi,
    Use JDeveloper to import the mwp project .In Jdeveloper,File->Import->ToplinkWorkbench->Select the .mwp file and can work from JDeveloper in editing the tlmap.xml and session.xml.
    Regards,
    P.Vinay Kumar

Maybe you are looking for