Hello,
I am trying to use Camel using the pure Java approach (Java DSL, no DI
framework, no URI Strings).
My approach so far is like the simplistic sample below, but I am not sure
if it uses proper practices.
Can you please let me know if/what problems you see with this approach?
Is there maybe documentation somewhere with a full "pure Java" example?
Thank you
Oliver
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cxf.CxfComponent;
import org.apache.camel.component.cxf.CxfEndpoint;
import org.apache.camel.main.Main;
import org.apache.camel.main.MainListenerSupport;
public class CamelExample {
public static void main(String... args) throws Exception {
final Main main = new Main();
main.addMainListener(new MainListenerSupport() {
@Override
public void configure(CamelContext context) {
context.addComponent("cxf", new CxfComponent());
final CxfEndpoint webService = new CxfEndpoint();
webService.setCamelContext(context);
webService.setAddress("http://service/entity");
webService.setServiceClass(MyService.class);
webService.setDefaultOperationName("test");
// etc
Processor requestPreparation = new Processor() {
@Override
public void process(Exchange exchange) throws Exception
{
exchange.getIn().setBody(new MyServiceRequest());
}
};
main.addRouteBuilder(
new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:start")
.process(requestPreparation)
.to(webService);
}
}
);
}
});
main.run();
}
/* web service related classes stubbed out to keep example code simple
*/
private static final class MyService {};
private static final class MyServiceRequest {};
}
--
Oliver Doepner
Software Developer
IMP Solutions, Halifax, NS
Phone 1-902-482-1615
--
Oliver Doepner
Halifax, Nova Scotia
http://oliver.doepner.net/
Buchstabensalat : ßäöüÄÖÜ