camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CAMEL-7229) [cxfrs] Producer override bean bus
Date Fri, 28 Feb 2014 10:11:20 GMT


Sergey Beryozkin commented on CAMEL-7229:

Hi Willem

Sure, the idea in your original comment above [1] sounds OK. So,

1. If the route sets a custom bus on the client bean then it will still be protected/kept
in place as long as the the endpoint uses a default bus or the same custom bus.
(this will work after your proposed fix)

2. If we have the client bean using the default bus and we have the endpoint using a custom
bus as in "bus=#MyBus" then the custom bus will be set on the client bean, as per the camel-cxf
rules, this is fine too.
(this works now and will work after your proposed fix)

There's only one case I'm concerned about:
3. The client and the server have both custom but different buses. 

That is why I thought that the rule " (a)Set the client bus only if the cxfrs endpoint is
not using the default bus and (b) the client bean has the default bus" will ensure 1. and
2. cases are still supported as expected today, but we the client does set its own unique
bus then this bus is protected. It will probably make sense for WS producers too...
Note (a) - is what you propose, which is good, and (b) is what I propose to add...

Do you think it makes sense to keep the non-default custom buses on the client bean ? We have
it working right now by extending the client bean and blocking the overriding of the bus,
so if 3, is not implemented then it won't be an issue for us, but I wonder, does it makes
sense to preserve the custom client buses or not

Thanks, Sergey

> [cxfrs] Producer override bean bus
> ----------------------------------
>                 Key: CAMEL-7229
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.12.1
>            Reporter: Alexey Markevich
>            Priority: Minor
> Bean configuration:
> org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean cf_cCXFRS_1 = new org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean();
> cf_cCXFRS_1.setBus(customBus);
> Route:
> .to("cxfrs://bean://cCXFRS_1")
> But at
> org.apache.camel.component.cxf.jaxrs.CxfRsProducer.invokeHttpClient(Exchange)
> cfb.setBus(((CxfRsEndpoint)getEndpoint()).getBus());

This message was sent by Atlassian JIRA

View raw message