[ 
https://issues.apache.org/jira/browse/CAMEL-9570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15664529#comment-15664529
 ] 

Quinn Stevenson commented on CAMEL-9570:
----------------------------------------

I've had a few discussions on the mailing list about this one, and I thought I 
should add the relevant information here.

The root of this problem is the CamelDependenciesFinder - it is forcing the 
BlueprintContainer to create objects before it should.  This puts the 
BlueprintContainer in a strange state, where service references and such are 
not handled correctly.

The PR removes the CamelDependenciesFinder, and the expected net effect is 
described in the PR comment above.  IMO this is more intuitive behavior than 
what occurs now.  It turns out that the CamelDependenciesFinder bit me in the 
past - with a custom DataFormat.  It caused the CamelContext to timeout when 
starting because of a service dependent, but the DataFormat was defined in the 
same bundle as the rest of the code, so there wasn't a service reference 
required - this one was tough to work around.

> Blueprint Proxies are not used when injected into Java RouteBuilders
> --------------------------------------------------------------------
>
>                 Key: CAMEL-9570
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9570
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-blueprint, camel-core
>    Affects Versions: 2.16.2
>            Reporter: Quinn Stevenson
>            Assignee: Christian Schneider
>
> Basic Conditions:
> - Java interface used for OSGi Services
> - Implementation of the Java interface registered as a OSGi service.  Note 
> that the package containing implementation is NOT exported
> - A Java RouteBuilder that uses the Java interface via bean(...) DSL calls, 
> with a setter for the bean implementing the interface
> - Wire everything together with Blueprint - create a <reference ...> for the 
> service, a <bean ...> for the RouteBuilder and inject the service reference, 
> and use the RouteBuilder in a CamelContext.
> After all this is deployed, stop the bundle implementing the service.  A 
> ServiceUnavailableException should be thrown after a timeout, but the object 
> that was injected into the RouteBuilder process the request - so the 
> Blueprint Proxy is not used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to