We get "Concurrent Access Exception" when we try to update an object.JDO internally uses "Batch Updates" to update an existing object. We are not able to identify in which object we are having problem since the error is not consistent. (i.e) we get exceptions in different
objects for the same view page. We went through JDO documents to solve this problem but there is no clear documents about the exception.
Please suggest a solution for this.
-
Concurrent access exception in JDO (2 messages)
- Posted by: Ganapathy Subramanian
- Posted on: November 18 2001 02:51 EST
Threaded Messages (2)
- Concurrent access exception in JDO by Tom Davies on November 19 2001 02:29 EST
- Concurrent access exception in JDO by Ganapathy Subramanian on November 19 2001 09:02 EST
-
Concurrent access exception in JDO[ Go to top ]
- Posted by: Tom Davies
- Posted on: November 19 2001 02:29 EST
- in response to Ganapathy Subramanian
Which JDO implementation are you using?
What does your code do -- e.g. does it update an object several times, how many transactions does it use?
Tom -
Concurrent access exception in JDO[ Go to top ]
- Posted by: Ganapathy Subramanian
- Posted on: November 19 2001 09:02 EST
- in response to Tom Davies
Thank you for the message.
We are using JDO 0.8 implementation.
This exception occurs when we use oracle as back end but we donot face this problem when we use pointbase.
We use Forte Internet Edition 2.0 to capture Database for creating persistent java classes(having get/set methods).We have Agent classes which use the get/set methods to insert and retrieve the data from database.This exception occurs even when just a single user is accessing the database.
It doesnot update an object several times.
Only one transaction is done at a time.
Please find below the snap shot of the exception.However as I have already mentioned We are not able to identify in which object we are having problem since the error is not consistent. (i.e) we get exceptions in different objects for the same view page.
com.sun.forte4j.persistence.JDODataStoreException: Concurrent access exception:
object to delete has been updated or deleted by another transaction.
FailedObjectArray: [Deleted instance of class com.eq.smile.models.Exerciseinstru
ctions] at com.sun.forte4j.persistence.internal.runtime.core.SqlStore.executeSql (SqlStore.java:731)
at com.sun.forte4j.persistence.internal.runtime.core.SqlStore.update(Sql
Store.java:2085)
at com.sun.forte4j.persistence.internal.runtime.core.SqlStore.execute(Sq
lStore.java:424)
at com.sun.forte4j.persistence.internal.runtime.core.SqlStateManager.upd
atePersistent(SqlStateManager.java:885)
at com.sun.forte4j.persistence.internal.runtime.jdo.PersistenceManagerIm
pl.beforeCompletion(PersistenceManagerImpl.java:805)
at com.sun.forte4j.persistence.internal.transaction.TransactionImpl.noti
fyBeforeCompletion(TransactionImpl.java:1112)
at com.sun.forte4j.persistence.internal.transaction.TransactionImpl.comm
itBefore(TransactionImpl.java:479)
at com.sun.forte4j.persistence.internal.transaction.TransactionImpl.comm
it(TransactionImpl.java:415)
at com.eq.smile.das.editor.agents.AExerciseInstruction.deleteExerciseins
truction(AExerciseInstruction.java:811)
at com.eq.smile.das.editor.agents.AExerciseInstruction.updateExerciseins
truction(AExerciseInstruction.java:581)
at com.eq.smile.das.editor.views.VProgramInstruction3.save(VProgramInstr
uction3.java:1747)
at com.eq.smile.das.editor.views.VEditor.save(VEditor.java:1358)
at com.eq.smile.das.editor.views.VEditor.actionPerformed(VEditor.java:11
09)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknow
n Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at com.eq.smile.das.editor.views.VEditor.showEditor(VEditor.java:286)
at com.eq.smile.das.mainscreen.SmileFrame.showEditor(SmileFrame.java:119
8)
at com.eq.smile.das.mainscreen.SPopupListener.edit(SPopupListener.java:8
38)
at com.eq.smile.das.mainscreen.SPopupListener.actionPerformed(SPopupList
ener.java:134)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknow
n Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseRelease
d(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)