Re: EOSharedEditingContext and ObjectsChangedInStoreNotification
Re: EOSharedEditingContext and ObjectsChangedInStoreNotification
- Subject: Re: EOSharedEditingContext and ObjectsChangedInStoreNotification
- From: Hunter Hillegas <email@hidden>
- Date: Tue, 14 Sep 2004 10:03:43 -0700
I ended up looking at all of the notifications in the app.
After App 2 reads the JMS message and invalidates the global ID, no
notification of any kind is sent - to the shared EC or anywhere else
for that matter.
So... As a relative WO newbie... what does this mean? Under what
circumstances would this occur?
Dov - how does your JMS framework determine what EC to use to do the
invalidation? I see a setEcToUse() method but I'm not sure I understand
where it gets called - there are no places in the framework where it is
set... Does that happen automagically? My guess is that the EC it is
using is disassociated from the default shared EC and that is causing
this problem. Possible?
Hunter
On Sep 13, 2004, at 4:49 PM, Chuck Hill wrote:
You could register an object with NSNotificationCenter as an
omniscient listener and log out all notifications. That might show
something.
On Sep 13, 2004, at 4:17 PM, Hunter Hillegas wrote:
Chuck,
Interesting thought. I looked and it wasn't explicitly set, so I
modified the code.
Still, App 1 makes a change and App 2 sees it and invalidates the
GlobalID but the change doesn't show up in the Shared EC.
Do you know of any logging I could turn up to see if the chain is
broken somewhere inside App 2?
Hunter
On Sep 13, 2004, at 10:51 AM, Chuck Hill wrote:
One thing that comes to mind is that the framework might not be
refetching the objects into an ec with its shared editing context
set to null. For details see:
http://www.wodev.com/cgi-bin/WebObjects/WODev.woa/wa/Main?
wikiPage=HowToUseSharedEditingContexts
Chuck
On Sep 13, 2004, at 10:34 AM, Hunter Hillegas wrote:
Hello,
According to the docs for EOSharedEditingContext, it will listen
for notifications of the type ObjectsChangedInStoreNotification.
I am using Dov's JMS change notification framework posted at
WOCode.com - it is based on the code from Wonder with some
important changes.
Anyway, the JMS messages are flowing and being processed. When
changes are made in one app, the other app receives the JMS message
and calls invalidateObjectsWithGlobalIDs.
The thing is, the contents of the EOSharedEditingContext don't
appear to change.
Subsequent calls to objectsByEntityNameAndFetchSpecificationName()
seem to return the unchanged/original data.
I was under the impression that invalidateObjectsWithGlobalIDs
would send a ObjectsChangedInStoreNotification and the Shared EC
would do as the docs state:
"The shared context removes from its objectsByEntityName and
objectsByEntityNameAndFetchSpecificationName dictionaries any
objects that have been deleted, and it refaults any objects that
have been updated."
I don't see any evidence of a refault (output is the original
values).
So... Any ideas on how to troubleshoot this?
Is there a way to watch/print out
ObjectsChangedInStoreNotifications as they are dispatched? Is there
a way to watch when the shared EC invalidates/refaults some of its
contents?
Am I mistaken about how this should work?
Thanks,
Hunter
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden
This email sent to email@hidden
_______________________________________________
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