Multiple operations on a object in two different sessions.
Multiple operations on a object in two different sessions.
- Subject: Multiple operations on a object in two different sessions.
- From: "sri" <email@hidden>
- Date: Mon, 4 Jul 2005 18:29:10 +0530
Hi All,
Please suggest me how to handle the following
situation.
Say I have an Object which is being operated on ,
in two different sessions (having the same object store coordinator )at the same
time ,the user can either modify or delete it ,
say in the first window (session ) the user has deleted the object ( i.e .., the
object will be removed from the editing context and the database )
.
But please note that the object is still available
(although the relationships will be made null ) in the second window , now after
the deletion of the object is completed when the user tries to save the object
in the second session, its throwing the foolowing exception
One of the following errors may have occurred: 1. The parent does not
have a method named 'save'. 2. An error occurred while executing the method
'save'. Please, read the following logs carefully and
advise. java.lang.NullPointerException [2005-07-04 18:23:07 ]
<WorkerThread15> com.webobjects.foundation.NSForwardException for
java.lang.NullPointerException at
com.webobjects.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:1293) at
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:560) at
com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1736) at
com.effigent.reusables.PEGenericRecord.storedValueForKey(PEGenericRecord.java:133) at
com.powereasy.erp.accountspayable.enterpriseclasses._PeVendor.peTaxGroup(_PeVendor.java:254) at
sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:324) at
com.webobjects.foundation.NSKeyValueCoding$1.methodValue(NSKeyValueCoding.java:684) at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at
com.webobjects.eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1559) at
com.webobjects.eocontrol.EOCustomObject.eoDescription(EOCustomObject.java:774) at
com.webobjects.eocontrol.EOCustomObject.toString(EOCustomObject.java:239) at
java.lang.String.valueOf(String.java:2177) at
java.lang.StringBuffer.append(StringBuffer.java:371) at
VendorDetails.save(VendorDetails.java:1838) 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:324) at
KeyValueCodingProtectedAccessor.methodValue(KeyValueCodingProtectedAccessor.java:54) at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539) at
com.webobjects.appserver.WOComponent.performParentAction(WOComponent.java:1101) at
com.effigent.reusables.queryandlist.PageTitleAndButtonComp.saveAction(PageTitleAndButtonComp.java:661) 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:324) at
com.webobjects.foundation.NSKeyValueCoding$1.methodValue(NSKeyValueCoding.java:684) at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539) at
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:498) at
com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212) at
com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1600) at
com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:46) at
com.webobjects.appserver._private.WOImageButton.invokeAction(WOImageButton.java:239) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver._private.WOConditional.invokeAction(WOConditional.java:55) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945) at
com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:104) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:31) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver._private.WOForm.invokeAction(WOForm.java:82) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945) at
com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:104) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:31) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945) at
com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:104) at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:101) at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:110) at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945) at
com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1166) at
com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1375) at
er.extensions.ERXApplication.invokeAction(ERXApplication.java:595) at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:196) at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:287) at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:322) at
com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:358) at
com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:432) at
com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1306) at
er.extensions.ERXApplication.dispatchRequest(ERXApplication.java:639) at
com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173) at
com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:254) at
java.lang.Thread.run(Thread.java:536)
535396 [WorkerThread15] ERROR root - Exception :
com.webobjects.foundation.NSForwardException [java.lang.NullPointerException]
null: <com.effigent.reusables.queryandlist.PageTitleAndButtonComp name:
com.effigent.reusables.queryandlist.PageTitleAndButtonComp subcomponents:
{0.47.0.0.1.1.8 = <com.effigent.projectadjuncts.EffigErrorComponent name:
com.effigent.projectadjuncts.EffigErrorComponent subcomponents: null >;
0.47.0.0.1.1.6.15 = <com.effigent.reusables.queryandlist.EntityNavigationComp
name: com.effigent.reusables.queryandlist.EntityNavigationComp subcomponents:
null >; } >
OR sometimes
1651236 [WorkerThread16] WARN NSLog -
<com.webobjects.appserver._private.WOComponentRequestHandler>:
Exception occurred while handling
request: java.lang.IllegalStateException: Attempt to access an EO that has
either not been inserted into any EOEditingContext or its EOEditingContext
has already been disposed [2005-07-04 18:21:33 ] <WorkerThread16>
java.lang.IllegalStateException: Attempt to access an EO that has either not
been inserted into any EOEditingContext or its EOEditingContext has already
been disposed at
com.webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java:1175)
at
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_GenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:519)
at
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:559)
at
com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1736)
at com.effigent.reusables.PEGenericRecord.storedValueForKey(Unknown
Source) at
com.powereasy.erp.accountspayable.enterpriseclasses._PeVendor.peVendorAddresses(Unknown
Source) at VendorInfo.addressTypes(Unknown
Source) at VendorInfo.shouldShowAddAddress(Unknown
Source) at
sun.reflect.GeneratedMethodAccessor1286.invoke(Unknown
Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324) at
KeyValueCodingProtectedAccessor.methodValue(KeyValueCodingProtectedAccessor.java:54)
at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1160)
at
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268)
at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539)
at
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:498)
at
com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at
com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1600)
at
com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:46)
at
com.webobjects.appserver.WOAssociation.booleanValueInComponent(WOAssociation.java:278)
at
com.webobjects.appserver._private.WOConditional.takeValuesFromRequest(WOConditional.java:33)
at
com.webobjects.appserver._private.WODynamicGroup.takeChildrenValuesFromRequest(WODynamicGroup.java:81)
at
com.webobjects.appserver._private.WODynamicGroup.takeValuesFromRequest(WODynamicGroup.java:89)
at
com.webobjects.appserver.WOComponent.takeValuesFromRequest(WOComponent.java:914)
at
com.effigent.projectadjuncts.EffigentWOComponent.takeValuesFromRequest(Unknown
Source) at VendorInfo.takeValuesFromRequest(Unknown
Source) at
com.webobjects.appserver._private.WOComponentReference.takeValuesFromRequest(WOComponentReference.java:97)
at
com.webobjects.appserver._private.WODynamicGroup.takeChildrenValuesFromRequest(WODynamicGroup.java:81)
at
com.webobjects.appserver._private.WODynamicGroup.takeValuesFromRequest(WODynamicGroup.java:89)
at
com.webobjects.appserver._private.WOComponentContent.takeValuesFromRequest(WOComponentContent.java:20)
at
com.webobjects.appserver._private.WODynamicGroup.takeChildrenValuesFromRequest(WODynamicGroup.java:81)
at
com.webobjects.appserver._private.WOGenericContainer.takeValuesFromRequest(WOGenericContainer.java:17)
at
com.webobjects.appserver.WOComponent.takeValuesFromRequest(WOComponent.java:914)
at
com.effigent.projectadjuncts.EffigentWOComponent.takeValuesFromRequest(Unknown
Source)
I will be thankful if any one can provide a generic solution to the
above.
Thanks & Regards,
Sri
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden