123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package camel.central.gateway.route;
- import camel.central.gateway.processor.ErrorHandle;
- 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("direct:errorHandle")
- .choice()
- .when(header(Exchange.HTTP_URI).contains("paramError")).bean(new ErrorHandle(), "paramError")
- .when(header(Exchange.HTTP_URI).contains("outdateError")).bean(new ErrorHandle(), "outdateError")
- .when(header(Exchange.HTTP_URI).contains("signValidError")).bean(new ErrorHandle(), "signValidError")
- .when(header(Exchange.HTTP_URI).contains("unauthorizedError")).bean(new ErrorHandle(), "unauthorizedError")
- .endChoice();
- 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");
- }
- }
|