[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] Debug ECF remote services
|
Hi Eugen,
Eugen Reiswich wrote:
Hi Scott,
Below are some of the runtime hooks for the ECF remote services API
specifically . There are also runtime hooks for the discovery API, as
well as for the OSGi Remote Services implementation (for both
discovery and distribution). I won't list those hooks here, but some
of them are listed on this wiki page:
http://wiki.eclipse.org/Discovery_and_Distribution_Listeners
I tried this hook but even though my listeners are registered properly
the listeners are very quite - they don't do anything.
That's probably because your service registration is not properly formed
(for the XMPP provider?).
IRemoteServiceContainerAdapter.addRemoteServiceListener: It's
possible to add listeners to remote service events...e.g.
registration, unregistration, etc.
IRemoteServiceContaienrAdapter.getAllRemoteServiceReferences: It's
possible to get parts/all of the local remote service registry.
I already use the first hook (addRemoteServiceListener) but the second
one does not work as I always get an empty result list. In addition to
that getAllRemoteServiceReferences requires as a parameter a specific
service. In my case I would like to know whether any remote service is
available.
containerAdapter.getAllRemoteServiceReferences(null,null);
but the bug below prevents this from working at the moment
What I always get is the following exception:
java.lang.NullPointerException
at
org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.getAllRemoteServiceReferences(RegistrySharedObject.java:163)
at
org.remotercp.ecf.consumer.test.ServiceConsumer._getService(ServiceConsumer.java:58)
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:597)
at
org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:155)
at
org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:156)
at
org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(FrameworkConsole.java:141)
at
org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:105)
at java.lang.Thread.run(Thread.java:637)
I tried to debug this exception but all I found out is that within the
ECF-RegistrySharedObject the map "remoteRegistries" is empty. But I
don't know why.
It's empty because the clients never receive the service registration
(probably because the registration is not properly formed).
I've created this entry for the above bug, however...which has to do
with the case when remoteRegistries is completely empty (which it is in
your case). https://bugs.eclipse.org/bugs/show_bug.cgi?id=318756
Scott