[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ice-dev] AbstractExecutor not found by ECF
|
On 11/18/2016 3:49 PM, Jay Jay Billings wrote:
Scott,
I got by most of those errors and I seem to have everything running.
Any idea why the AbstractExecutor classload problem went away? Should I
resolve the bug then?
I couldn't get verbose logging running in Eclipse (we use Equinox, not
Karaf), so I noticed a warning about the R-Osgi port when I ran the
service twice.
Yes, rosgi has the default behavior that it will open ports sequentially
if it doesn't find the default port open (9278). For your reference,
there are port config and other rosgi properties listed here:
http://wiki.eclipse.org/R-OSGi_Properties
<stuff deleted>
So my next step is to build and test a sample service consumer. Do you
have any tips on how to get verbose output from the logs?
The best place to start with logging in ECF RS/RSA is to have the remote
service host report when the service gets exported and print out the
endpoint description. This is done by registering a
RemoteServiceAdminListener service:
import org.osgi.service.remoteserviceadmin.RemoteServiceAdminListener;
import
org.eclipse.ecf.osgi.services.remoteserviceadmin.DebugRemoteServiceAdminListener;
bundleContext.registerService(RemoteServiceAdminListener.class,new
DebugRemoteServiceAdminListener(), null);
You may register this listener in any way that you want...e.g. with
bundleContext, DS, etc., but to be able to report debug output it has to
be registered *before* the remote service is actually exported.
Once registered, upon remote service export it will produce output to
System.out...somewhat like the example xml output given below. This
output should appear when the remote service is registered.
BTW, we have been working on some Eclipse-based tooling for using ECF
RSA. This UI is available if you install (into Eclipse) the 'ECF SDK
for Eclipse'. There will be a 'Remote Services' perspective, and
within that perspective several views to show (e.g.) exported and
imported services, endpoint discovery, ability to load endpoint
descriptions from files (for remote service consumers), etc.
Thanks,
Scott
08:32:00.934;EXPORT_REGISTRATION;exportedSR={org.eclipse.ecf.mgmt.framework.IServiceManager}={component.name=org.eclipse.ecf.mgmt.kura.host.KuraServiceManager,
component.id=5, service.id=83, service.bundleid=39,
service.scope=bundle};cID=StringID[ecftcp://localhost:3282/server];rsId=2
--Endpoint Description---
<endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0">
<endpoint-description>
<property name="ecf.endpoint.id" value-type="String"
value="ecftcp://localhost:3282/server"/>
<property name="ecf.endpoint.id.ns" value-type="String"
value="org.eclipse.ecf.core.identity.StringID"/>
<property name="ecf.endpoint.ts" value-type="Long"
value="1479573120930"/>
<property name="ecf.exported.async.interfaces" value-type="String"
value="*"/>
<property name="ecf.rsvc.id" value-type="Long" value="2"/>
<property name="endpoint.framework.uuid" value-type="String"
value="e076bfaa-75ae-0016-150a-d7991d342252"/>
<property name="endpoint.id" value-type="String"
value="ecf02b48-6c4c-4b8d-8048-1e4d835c1642"/>
<property
name="endpoint.package.version.org.eclipse.ecf.mgmt.framework"
value-type="String" value="1.0.0"/>
<property name="endpoint.service.id" value-type="Long" value="83"/>
<property name="objectClass" value-type="String">
<array>
<value>org.eclipse.ecf.mgmt.framework.IServiceManager</value>
</array>
</property>
<property name="remote.configs.supported" value-type="String">
<array>
<value>ecf.generic.server</value>
</array>
</property>
<property name="remote.intents.supported" value-type="String">
<array>
<value>passByValue</value>
<value>exactlyOnce</value>
<value>ordered</value>
</array>
</property>
<property name="service.imported" value-type="String" value="true"/>
<property name="service.imported.configs" value-type="String">
<array>
<value>ecf.generic.server</value>
</array>
</property>
</endpoint-description>
</endpoint-descriptions>
---End Endpoint Description