[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Remote service problems after update to 3.5 | 
Eugene,
On 6/6/2011 6:18 AM, Eugen Reiswich wrote:
Hi folks,
I just updated ECF to version 3.5 and got some problems retrieving remote services. I traced the problem down to the ECF class "RegistrySharedObject"  and realized that the method "addReferencesFromRemoteRegistry" does not have any remoteRegistry although I got several hosts connected and providing remote services. Any idea why?
No, no idea why at this point.
That method (addReferencesFromRemoteRegistrys) simply looks to see if 
there are any remote registrations that have been received.  If there 
have not been any registrations received (via handleAddRegistrations) 
when addReferencesFromRemoteRegistry gets called by 
(getRemoteServiceReferences), then it won't find anything.  It sounds as 
if this is what is happening (I'm assuming that you are calling 
getRemoteServiceReferences.
It's possible that you have a race...i.e. the references haven't been 
received at the point when you call getRemoteServiceReferences.  If you 
want to make sure that the registrations are received from some remote 
target you can listen for them with a RemoteServiceTracker...or you can 
call getRemoteServiceReferences(ID targetID, ID[] idFilter, clazz, 
filter) with some idFilter...and the getRemoteServiceReferences call 
will then send a message to the target ids in ID[] idFilter...and wait 
for their response...so, for example:
getRemoteServiceReferences(connectID, new ID[] { targetHostID }, clazz, 
filter);
will wait for a response from targetHostID (if it has any remote 
registrations in it's local registry at the time of the message receive).
Also...this code hasn't substantively changed since 3.4...the only 
changes to RegistrySharedObject were unrelated issues...so it's a little 
puzzeling to me why you are seeing changed behavior (from 3.4 I assume).
Also...I assume you mean 3.5.1? (as opposed to 3.5.0)?
If this doesn't help, then it might help to create a bug and post some 
code that's showing different behavior for 3.4 and 3.5.1....along with 
some more information about the use case and provider...if possible.
Thanks,
Scott