Hi All:
I found the CxfProducer object will be cached to reuse in Camel, however
this may can's suatable for any time, to make things simple, assume we have
below route:
class CustomDefaultCxfBinding extends DefaultCxfBinding {
private String a;
public CustomDefaultCxfBinding(String a) {
this.a = a;
setHeaderFilterStrategy(new CxfHeaderFilterStrategy());
}
@Override
public void populateCxfRequestFromExchange(org.apache.cxf.message.Exchange
cxfExchange,
Exchange camelExchange, Map<String, Object> requestContext) {
System.out.println(a);
super.populateCxfRequestFromExchange(cxfExchange,camelExchange,
requestContext);
}
}
String url = "...";
CxfEndpoint cxfEndpoint1 = (CxfEndpoint) endpoint(url);
cxfEndpoint1.setCxfBinding(new CustomDefaultCxfBinding("a1"));
CxfEndpoint cxfEndpoint2 = (CxfEndpoint) endpoint(url);
cxfEndpoint2.setCxfBinding(new CustomDefaultCxfBinding("a2"));
from("timer:foo?repeatCount=1") .setBody(constant(content)).to(cxfEndpoint1)
.setBody(constant(content)).to(cxfEndpoint2);
both "a1" and "a2" are expected to be printed, but only "a2" for now.
Does anybody knows how to handle this situation?
Thanks alot
--
Thanks
GangLiu
Mail: [email protected]