I appreciate your reply and effort to seek a solution.
The simplest way to analyze this would be to get the hello example to work with blueprint. I think the DS example is the most appropriate given that, from my experience, DS is quite similar to Blueprint in structure. Got it from the git repository org.eclipse.ecf under examples/bundles. This way, once we get it working it could also be submitted as an additional example on the repository.
First the host bundle (org.eclipse.ecf.examples.remoteservices.hello.ds.host) which I can start using the included product file. Once it is started, I can also view the endpoint in the Service Discovery tab within Eclipse (listed as ecf.osgirsvc). The consumer is not started yet. In this DS invocation the bundle list is as follows:
Bundle list after starting org.eclipse.ecf.examples.remoteservices.hello.ds.host using Declarative Services
0 ACTIVE org.eclipse.osgi_3.8.1.v20120830-144521
1 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin_2.1.0.v20120610-1946
2 ACTIVE org.eclipse.equinox.registry_3.5.200.v20120522-1841
3 ACTIVE org.apache.felix.gogo.runtime_0.8.0.v201108120515
4 ACTIVE org.eclipse.core.runtime_3.8.0.v20120521-2346
5 ACTIVE org.eclipse.equinox.common_3.6.100.v20120522-1841
6 RESOLVED org.eclipse.osgi.services.remoteserviceadmin_1.5.0.v20120610-1946
7 ACTIVE org.eclipse.ecf.provider.jmdns_4.1.0.v20120610-1946
8 ACTIVE org.eclipse.equinox.concurrent_1.0.300.v20120522-2049
9 ACTIVE org.eclipse.equinox.preferences_3.5.0.v20120522-1841
10 ACTIVE org.eclipse.ecf.examples.remoteservices.hello.ds.host_3.0.0.qualifier
11 ACTIVE org.apache.felix.gogo.command_0.8.0.v201108120515
12 ACTIVE org.eclipse.ecf.discovery_4.0.0.v20120610-1946
13 ACTIVE org.eclipse.equinox.app_1.3.100.v20120522-1841
14 ACTIVE org.eclipse.core.contenttype_3.4.200.v20120523-2004
15 ACTIVE org.eclipse.ecf.examples.remoteservices.hello_3.0.100.qualifier
16 ACTIVE org.eclipse.ecf.identity_3.1.200.v20120610-1946
17 ACTIVE org.eclipse.core.jobs_3.5.200.v20120521-2346
18 ACTIVE org.eclipse.equinox.console_1.0.0.v20120522-1841
19 ACTIVE org.apache.felix.gogo.shell_0.8.0.v201110170705
20 ACTIVE org.eclipse.ecf.sharedobject_2.2.100.v20120610-1946
21 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy_1.0.0.v20120610-1946
22 ACTIVE org.eclipse.equinox.ds_1.4.0.v20120522-1841
23 RESOLVED org.eclipse.osgi.services_3.3.100.v20120522-1822
24 ACTIVE org.eclipse.ecf.osgi.services.distribution_2.0.100.v20120610-1946
25 ACTIVE org.eclipse.ecf.provider.remoteservice_4.0.0.v20120610-1946
26 ACTIVE org.eclipse.equinox.util_1.0.400.v20120522-2049
27 ACTIVE org.eclipse.ecf.provider_4.2.100.v20120610-1946
28 ACTIVE org.eclipse.ecf_3.1.300.v20120610-1946
29 ACTIVE org.eclipse.ecf.remoteservice_6.0.200.v20120610-1946
Then org.eclipse.ecf.examples.remoteservices.hello.ds.consumer is started and proceeds to succesfully perform the remote calls. Its bundle list is as follows:
Bundle list after starting org.eclipse.ecf.examples.remoteservices.hello.ds.consumer using Declarative Services
0 ACTIVE org.eclipse.osgi_3.8.1.v20120830-144521
1 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin_2.1.0.v20120610-1946
2 ACTIVE org.eclipse.equinox.registry_3.5.200.v20120522-1841
3 ACTIVE org.apache.felix.gogo.runtime_0.8.0.v201108120515
4 ACTIVE org.eclipse.core.runtime_3.8.0.v20120521-2346
5 ACTIVE org.eclipse.equinox.common_3.6.100.v20120522-1841
6 RESOLVED org.eclipse.osgi.services.remoteserviceadmin_1.5.0.v20120610-1946
7 ACTIVE org.eclipse.ecf.provider.jmdns_4.1.0.v20120610-1946
8 ACTIVE org.eclipse.equinox.concurrent_1.0.300.v20120522-2049
9 ACTIVE org.eclipse.equinox.preferences_3.5.0.v20120522-1841
10 ACTIVE org.apache.felix.gogo.command_0.8.0.v201108120515
11 ACTIVE org.eclipse.ecf.discovery_4.0.0.v20120610-1946
12 ACTIVE org.eclipse.equinox.app_1.3.100.v20120522-1841
13 ACTIVE org.eclipse.core.contenttype_3.4.200.v20120523-2004
14 ACTIVE org.eclipse.ecf.examples.remoteservices.hello_3.0.100.qualifier
15 ACTIVE org.eclipse.ecf.identity_3.1.200.v20120610-1946
16 ACTIVE org.eclipse.ecf.examples.remoteservices.hello.ds.consumer_2.0.0.qualifier
17 ACTIVE org.eclipse.core.jobs_3.5.200.v20120521-2346
18 ACTIVE org.eclipse.equinox.console_1.0.0.v20120522-1841
19 ACTIVE org.apache.felix.gogo.shell_0.8.0.v201110170705
20 ACTIVE org.eclipse.ecf.sharedobject_2.2.100.v20120610-1946
21 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy_1.0.0.v20120610-1946
22 ACTIVE org.eclipse.equinox.ds_1.4.0.v20120522-1841
23 RESOLVED org.eclipse.osgi.services_3.3.100.v20120522-1822
24 ACTIVE org.eclipse.ecf.osgi.services.distribution_2.0.100.v20120610-1946
25 ACTIVE org.eclipse.ecf.provider.remoteservice_4.0.0.v20120610-1946
26 ACTIVE org.eclipse.equinox.util_1.0.400.v20120522-2049
27 ACTIVE org.eclipse.ecf.provider_4.2.100.v20120610-1946
28 ACTIVE org.eclipse.ecf_3.1.300.v20120610-1946
29 ACTIVE org.eclipse.ecf.remoteservice_6.0.200.v20120610-1946
With the above working as expected we proceeded to make changes to introduce Blueprint activation (and remove DS).
org.eclipse.ecf.examples.remoteservices.hello.ds.host/OSGI-INF/hello.xml
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="eager">
<bean id="host" class="org.eclipse.ecf.examples.internal.remoteservices.hello.ds.host.HelloComponent"/>
<service ref="host" interface="org.eclipse.ecf.examples.remoteservices.hello.IHello">
<service-properties>
<entry key="service.exported.interfaces" value="*" />
<entry key="service.exported.configs" value="ecf.generic.server" />
<entry key="org.eclipse.ecf.containerFactoryArgs" value="ecftcp://localhost:3787/server" />
</service-properties>
</service>
</blueprint>
org.eclipse.ecf.examples.remoteservices.hello.ds.host/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.ecf.examples.remoteservices.hello.ds.host;singleton:=true
Bundle-Version: 3.0.0.qualifier
Bundle-Vendor: %bundleProvider
Bundle-RequiredExecutionEnvironment: J2SE-1.5,
J2SE-1.4,
CDC-1.1/Foundation-1.1
Import-Package: org.eclipse.ecf.examples.remoteservices.hello;version="3.0.0",
org.eclipse.equinox.app;version="1.1.0"
Bundle-Blueprint: OSGI-INF/hello.xml
Bundle-Localization: bundle
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.6.0"
org.eclipse.ecf.examples.remoteservices.hello.ds.host/products/Hello Service Host DS (zeroconf,generic).product plugins & configurations sections only
<plugins>
<plugin id="org.eclipse.ecf.examples.remoteservices.hello"/>
<plugin id="org.eclipse.ecf.examples.remoteservices.hello.ds.host"/>
<plugin id="org.aopalliance"/>
<plugin id="org.apache.commons.logging"/>
<plugin id="org.apache.felix.gogo.command"/>
<plugin id="org.apache.felix.gogo.runtime"/>
<plugin id="org.apache.felix.gogo.shell"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.jobs"/>
<plugin id="org.eclipse.core.runtime"/>
<plugin id="org.eclipse.ecf"/>
<plugin id="org.eclipse.ecf.discovery"/>
<plugin id="org.eclipse.ecf.identity"/>
<plugin id="org.eclipse.ecf.osgi.services.distribution"/>
<plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin"/>
<plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy"/>
<plugin id="org.eclipse.ecf.provider"/>
<plugin id="org.eclipse.ecf.provider.jmdns"/>
<plugin id="org.eclipse.ecf.provider.remoteservice"/>
<plugin id="org.eclipse.ecf.remoteservice"/>
<plugin id="org.eclipse.ecf.sharedobject"/>
<plugin id="org.eclipse.equinox.app"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.concurrent"/>
<plugin id="org.eclipse.equinox.console"/>
<plugin id="org.eclipse.equinox.preferences"/>
<plugin id="org.eclipse.equinox.registry"/>
<plugin id="org.eclipse.equinox.util"/>
<plugin id="org.eclipse.gemini.blueprint.core"/>
<plugin id="org.eclipse.gemini.blueprint.extender"/>
<plugin id="org.eclipse.gemini.blueprint.io"/>
<plugin id="org.eclipse.osgi"/>
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.osgi.services.remoteserviceadmin"/>
<plugin id="org.springframework.aop"/>
<plugin id="org.springframework.asm"/>
<plugin id="org.springframework.beans"/>
<plugin id="org.springframework.context"/>
<plugin id="org.springframework.context.support"/>
<plugin id="org.springframework.core"/>
<plugin id="org.springframework.expression"/>
</plugins>
<configurations>
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.ecf" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.ecf.osgi.services.distribution" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.equinox.app" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.gemini.blueprint.core" autoStart="true" startLevel="0" />
</configurations>
Bundle list after starting org.eclipse.ecf.examples.remoteservices.hello.ds.host using Gemini Blueprint
0 ACTIVE org.eclipse.osgi_3.8.1.v20120830-144521
1 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin_2.1.0.v20120610-1946
2 ACTIVE org.eclipse.equinox.registry_3.5.200.v20120522-1841
3 ACTIVE org.apache.felix.gogo.runtime_0.8.0.v201108120515
4 ACTIVE org.eclipse.core.runtime_3.8.0.v20120521-2346
5 ACTIVE org.eclipse.equinox.common_3.6.100.v20120522-1841
6 RESOLVED org.eclipse.osgi.services.remoteserviceadmin_1.5.0.v20120610-1946
7 STARTING org.eclipse.ecf.provider.jmdns_4.1.0.v20120610-1946
8 ACTIVE org.eclipse.equinox.concurrent_1.0.300.v20120522-2049
9 ACTIVE org.eclipse.equinox.preferences_3.5.0.v20120522-1841
11 ACTIVE org.apache.felix.gogo.command_0.8.0.v201108120515
12 ACTIVE org.eclipse.ecf.discovery_4.0.0.v20120610-1946
13 ACTIVE org.eclipse.equinox.app_1.3.100.v20120522-1841
14 ACTIVE org.eclipse.core.contenttype_3.4.200.v20120523-2004
16 ACTIVE org.eclipse.ecf.identity_3.1.200.v20120610-1946
17 ACTIVE org.eclipse.core.jobs_3.5.200.v20120521-2346
18 ACTIVE org.eclipse.equinox.console_1.0.0.v20120522-1841
19 ACTIVE org.apache.felix.gogo.shell_0.8.0.v201110170705
20 STARTING org.eclipse.ecf.sharedobject_2.2.100.v20120610-1946
21 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy_1.0.0.v20120610-1946
23 RESOLVED org.eclipse.osgi.services_3.3.100.v20120522-1822
24 ACTIVE org.eclipse.ecf.osgi.services.distribution_2.0.100.v20120610-1946
25 STARTING org.eclipse.ecf.provider.remoteservice_4.0.0.v20120610-1946
26 STARTING org.eclipse.equinox.util_1.0.400.v20120522-2049
27 STARTING org.eclipse.ecf.provider_4.2.100.v20120610-1946
28 ACTIVE org.eclipse.ecf_3.1.300.v20120610-1946
29 STARTING org.eclipse.ecf.remoteservice_6.0.200.v20120610-1946
30 ACTIVE org.eclipse.ecf.examples.remoteservices.hello.ds.host_3.0.0.qualifier
31 ACTIVE org.eclipse.gemini.blueprint.core_1.0.0.RELEASE
32 ACTIVE org.eclipse.gemini.blueprint.io_1.0.0.RELEASE
33 RESOLVED org.springframework.core_3.1.1.RELEASE
34 RESOLVED org.apache.commons.logging_1.1.1.v201101211721
35 RESOLVED org.aopalliance_1.0.0.v201105210816
36 RESOLVED org.springframework.context_3.1.1.RELEASE
39 RESOLVED org.springframework.context.support_3.1.1.RELEASE
40 RESOLVED org.springframework.expression_3.1.1.RELEASE
41 RESOLVED org.springframework.aop_3.1.1.RELEASE
42 RESOLVED org.springframework.beans_3.1.1.RELEASE
43 RESOLVED org.springframework.asm_3.1.1.RELEASE
44 RESOLVED org.eclipse.gemini.blueprint.extender_1.0.0.RELEASE
46 ACTIVE org.eclipse.ecf.examples.remoteservices.hello_3.0.100.qualifier
No errors are reported during startup. However, the service does not get published and the consumer cannot perform the remote calls. Also, nothing appears under Service Discovery in Eclipse. Tried with different startLevels, configurations, etc. but no dice so far.
I can also post the consumer-side changes but I think it's wiser to resolve the above issue before proceeding further.
Thanks,
Joerg]]>