Hello Scott, Dmitry,
Thanks for looking into this and for keeping the exchange public. It helps the rest of us follow and better understand the inner workings.
I put the "Gemini Blueprint extension" solution to the test (that would be solution 1) and pushed it to a gemini-blueprint-extension branch on github. Unfortunately, the consumer now does not get activated:
INFO: OsgiBundleXmlApplicationContext(bundle=org.eclipse.ecf.examples.remoteservices.hello.bp.consumer, config=OSGI-INF/helloclient.xml) is waiting for unsatisfied dependencies [[&host]]
Feb 06, 2013 12:33:50 PM org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor timeout
WARNING: Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=org.eclipse.ecf.examples.remoteservices.hello.bp.consumer, config=OSGI-INF/helloclient.xml)]
Feb 06, 2013 12:33:50 PM org.eclipse.gemini.blueprint.extender.internal.support.DefaultOsgiBundleApplicationContextListener onOsgiApplicationEvent
SEVERE: Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=org.eclipse.ecf.examples.remoteservices.hello.bp.consumer, config=OSGI-INF/helloclient.xml))
org.springframework.context.ApplicationContextException: Application context initialization for 'org.eclipse.ecf.examples.remoteservices.hello.bp.consumer' has timed out waiting for (&(objectClass=org.eclipse.ecf.examples.remoteservices.hello.IHello)(objectClass=org.eclipse.ecf.remoteservice.IRemoteServiceProxy))
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Feb 06, 2013 12:33:50 PM org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6eac65f3: defining beans [consumer,org.eclipse.gemini.blueprint.service.exporter.support.OsgiServiceFactoryBean#0,host,blueprintBundle,blueprintBundleContext,blueprintContainer,blueprintConverter]; root of factory hierarchy
Feb 06, 2013 12:33:50 PM org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor fail
SEVERE: Unable to create application context for [org.eclipse.ecf.examples.remoteservices.hello.bp.consumer], unsatisfied dependencies: Dependency on [(&(objectClass=org.eclipse.ecf.examples.remoteservices.hello.IHello)(objectClass=org.eclipse.ecf.remoteservice.IRemoteServiceProxy))] (from bean [&host])
org.springframework.context.ApplicationContextException: Application context initialization for 'org.eclipse.ecf.examples.remoteservices.hello.bp.consumer' has timed out waiting for (&(objectClass=org.eclipse.ecf.examples.remoteservices.hello.IHello)(objectClass=org.eclipse.ecf.remoteservice.IRemoteServiceProxy))
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
''''''''''''''''''''''''''
Both package dependencies exist in the product configuration and should be available. Here's the 'ss' output at the time this happens:
0 ACTIVE org.eclipse.osgi_3.8.1.v20120830-144521
1 RESOLVED org.eclipse.gemini.blueprint.io_1.0.2.RELEASE
2 RESOLVED org.aopalliance_1.0.0.v201105210816
3 ACTIVE org.eclipse.equinox.common_3.6.100.v20120522-1841
4 ACTIVE org.eclipse.ecf.osgi.services.distribution_2.0.100.v20120610-1946
5 ACTIVE org.eclipse.ecf.provider.remoteservice_4.0.0.v20120610-1946
6 ACTIVE org.eclipse.ecf.discovery_4.0.0.v20120610-1946
7 ACTIVE org.apache.felix.gogo.runtime_0.8.0.v201108120515
8 ACTIVE org.eclipse.equinox.concurrent_1.0.300.v20120522-2049
9 RESOLVED org.springframework.context_3.1.1.RELEASE
10 ACTIVE org.eclipse.core.contenttype_3.4.200.v20120523-2004
11 ACTIVE org.eclipse.ecf.provider_4.2.100.v20120610-1946
12 RESOLVED org.springframework.beans_3.1.1.RELEASE
13 RESOLVED org.eclipse.osgi.services_3.3.100.v20120522-1822
14 RESOLVED org.eclipse.gemini.blueprint.core_1.0.2.RELEASE
15 RESOLVED org.springframework.aop_3.1.1.RELEASE
16 ACTIVE org.eclipse.ecf.identity_3.1.200.v20120610-1946
17 STARTING org.eclipse.equinox.util_1.0.400.v20120522-2049
18 RESOLVED org.eclipse.osgi.services.remoteserviceadmin_1.5.0.v20120610-1946
19 ACTIVE org.apache.felix.gogo.command_0.8.0.v201108120515
20 ACTIVE org.eclipse.ecf.provider.jmdns_4.1.0.v20120610-1946
21 ACTIVE org.eclipse.core.runtime_3.8.0.v20120521-2346
22 ACTIVE org.eclipse.gemini.blueprint.extender_1.0.2.RELEASE
23 ACTIVE org.eclipse.equinox.preferences_3.5.0.v20120522-1841
24 RESOLVED org.springframework.core_3.1.1.RELEASE
26 ACTIVE org.eclipse.equinox.app_1.3.100.v20120522-1841
27 ACTIVE org.eclipse.equinox.registry_3.5.200.v20120522-1841
28 ACTIVE org.eclipse.core.jobs_3.5.200.v20120521-2346
29 ACTIVE org.eclipse.equinox.console_1.0.0.v20120522-1841
30 ACTIVE org.eclipse.ecf.examples.remoteservices.hello.bp.consumer_2.0.0.qualifier
31 ACTIVE org.eclipse.ecf.examples.remoteservices.hello_3.0.100.qualifier
32 RESOLVED org.springframework.asm_3.1.1.RELEASE
33 ACTIVE org.eclipse.ecf.remoteservice_6.0.200.v20120610-1946
34 ACTIVE org.eclipse.ecf_3.1.300.v20120610-1946
35 STARTING org.eclipse.ecf.sharedobject_2.2.100.v20120610-1946
36 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy_1.0.0.v20120610-1946
37 ACTIVE org.apache.felix.gogo.shell_0.8.0.v201110170705
38 RESOLVED org.apache.commons.logging_1.1.1.v201101211721
39 ACTIVE org.eclipse.ecf.osgi.services.remoteserviceadmin_2.1.0.v20120610-1946
40 RESOLVED org.springframework.expression_3.1.1.RELEASE
regards,
Konstantinos
Date: Tue, 5 Feb 2013 22:44:48 -0500
From: dmitry@xxxxxxxxxxx
To: virgo-dev@xxxxxxxxxxx
Subject: Re: [virgo-dev] Would you like to try debugging a Gemini Blueprint issue (with ECF)?
Agree 100% with stipulation that I have not tested 1&2 and have no idea about 3 :)