package camel.central.gateway.route; import camel.central.gateway.processor.GatewayProcessor; import camel.central.gateway.processor.WsProcessor; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; import org.springframework.stereotype.Component; /** * @author HZY * @vsrsion 1.0 * Created at 2017/3/13. */ @Component public class GatewayRouterBuilder extends RouteBuilder { protected static final String SIMPLE_ENDPOINT_ADDRESS = "http://0.0.0.0:3333/ws/api"; protected static final String SIMPLE_ENDPOINT_URI = "cxf:" + SIMPLE_ENDPOINT_ADDRESS + "?serviceClass=camel.central.gateway.processor.WsService" // + "&dataFormat=CXF_MESSAGE" ; @Override public void configure() throws Exception { from("jetty:http://0.0.0.0:9998?matchOnUriPrefix=true").routeId("proxy") .to("jetty:http://192.168.1.221:10000?bridgeEndpoint=true&throwExceptionOnFailure=false"); from("jetty:http://0.0.0.0:9999/api").routeId("api") .process(new GatewayProcessor()) .routingSlip(method(GatewayProcessor.class, "route")); from("jetty:http://0.0.0.0:9999/healthy").routeId("healthy") .log("=========================心跳测试====================="); from(SIMPLE_ENDPOINT_URI) .setHeader(Exchange.BEAN_MULTI_PARAMETER_ARRAY, constant(true)) .process(new WsProcessor()) .routingSlip(method(GatewayProcessor.class, "route")) .to("bean:wsProcessor?method=responseWs"); } }