aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Grzybek <gr.grzy...@gmail.com>
Subject A way to not wait on Blueprint <reference>
Date Tue, 26 Sep 2017 13:21:57 GMT
Hello

I'm working on:
 - https://issues.apache.org/jira/browse/CAMEL-11810: Lifecycle problems
for services retrieved from Blueprint container
 - https://issues.apache.org/jira/browse/ARIES-1174:  service reference
timeout when system bundle is stopping

Actually I think the problem is as old as blueprint specification itself...
<reference> returns Aries (or JDK) proxies that delegate to Callables which
return target objects.

Even specification is clear here - target services is obtained OR
org.osgi.service.blueprint.container.ServiceUnavailableException is thrown.

We all got used to this behavior and it's clear that it's not easy to
decide when we *don't need* to wait for a service which is not going to be
available (like during framework shutdown).

I'm thinking about additional interface that proxies (jdk and asm) could
implement, so we could explicitly check whether target service is available
*without wait*. One such case could be Camel context being stopped -
possibly after telling it *not to* wait for services (in case of
BlueprintCamelContext implementation).

I know it's "in specification", but having "AriesProxy.tryGetService()"
method could be useful as "implementation specific" feature... What do you
think?

regards
Grzegorz Grzybek

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message