[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [virgo-dev] Would you like to try debugging a Gemini Blueprint issue (with ECF)?

I pushed an example based on using ServiceReference injection vs. backing service object as discussed in the prior email

See https://github.com/dsklyut/bluECF

I will circle back with Glynn to see if there is a merit in providing ProxyCreator extension point. I think there is as demonstrated here. For example if service property xyz == true try to apply IRemote interface - but only if that IRemote interface is visible form service importer class loader. 

Regards,
Dmitry


-- 
Dmitry Sklyut
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Wednesday, February 6, 2013 at 7:57 AM, Dmitry Sklyut wrote:

> Oh silly rabbit me... Yes, of course blueprint will build a filter based on declared interfaces and it will fail cause the IRemote is not declared in OBJECTCLASS. 
> 
> In short term you can have blueprint inject a ServiceReference vs a backing service object. 
> 
> http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/service-registry.html#service-registry:refs:singular:property-editor
> 
> Just change a parameter type on your bean or ServiceListener to ServiceReference from IHello. 
> 
> I will provide some instructions to extending blueprint proxy creation later today. 
> 
> Regards 
> 
> -- 
> Dmitry Sklyut
> Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
> 
> 
> On Wednesday, February 6, 2013 at 6:27, Konstantinos Mavridis wrote:
> 
> > 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 (mailto:dmitry@xxxxxxxxxxx)
> > To: virgo-dev@xxxxxxxxxxx (mailto: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 :) 
> > 
> > 
> > 
> > -- 
> > Dmitry Sklyut
> > Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
> > _______________________________________________
> > virgo-dev mailing list
> > virgo-dev@xxxxxxxxxxx (mailto:virgo-dev@xxxxxxxxxxx)
> > https://dev.eclipse.org/mailman/listinfo/virgo-dev
>