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: clevers...@gmail.com

Reply via email to