GatewayRouterBuilder.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package camel.gateway.route;
  2. import camel.log.TracerFormatter;
  3. import camel.gateway.processor.ErrorHandle;
  4. import camel.gateway.processor.GatewayProcessor;
  5. import camel.gateway.processor.SignProcessor;
  6. import org.apache.camel.Exchange;
  7. import org.apache.camel.builder.RouteBuilder;
  8. import org.apache.camel.processor.interceptor.Tracer;
  9. import org.springframework.stereotype.Component;
  10. /**
  11. * @author HZY
  12. * @vsrsion 1.0
  13. * Created at 2017/3/13.
  14. */
  15. @Component
  16. public class GatewayRouterBuilder extends RouteBuilder {
  17. @Override
  18. public void configure() throws Exception {
  19. this.getContext().setUseMDCLogging(true);
  20. this.getContext().setTracing(true);
  21. Tracer tracer = new Tracer();
  22. // DefaultTraceFormatter formatter = new DefaultTraceFormatter();
  23. TracerFormatter formatter = new TracerFormatter();
  24. formatter.setShowHeaders(true);
  25. formatter.setShowBody(true);
  26. formatter.setShowBodyType(true);
  27. formatter.setShowOutHeaders(true);
  28. formatter.setShowOutBody(true);
  29. formatter.setShowOutBodyType(true);
  30. tracer.setFormatter(formatter);
  31. this.getContext().addInterceptStrategy(tracer);
  32. this.getContext().getProperties().put(Exchange.LOG_DEBUG_BODY_STREAMS, "true");
  33. from("jetty:http://0.0.0.0:9998?matchOnUriPrefix=true").routeId("proxy")
  34. .to("jetty:http://192.168.1.221:10000?bridgeEndpoint=true&throwExceptionOnFailure=false");
  35. from("jetty:http://0.0.0.0:9999/api").routeId("api")
  36. .process(new GatewayProcessor())
  37. .routingSlip(method(GatewayProcessor.class, "route"));
  38. from("jetty:http://0.0.0.0:9999/error/{error}")
  39. .choice()
  40. .when(header(Exchange.HTTP_URI).contains("paramError")).bean(new ErrorHandle(), "paramError")
  41. .when(header(Exchange.HTTP_URI).contains("outdataError")).bean(new ErrorHandle(), "outdataError")
  42. .when(header(Exchange.HTTP_URI).contains("signValidError")).bean(new ErrorHandle(), "signValidError")
  43. .when(header(Exchange.HTTP_URI).contains("unauthorizedError")).bean(new ErrorHandle(), "unauthorizedError")
  44. .endChoice();
  45. from("jetty:http://0.0.0.0:9999/healthy").routeId("healthy")
  46. .log("=========================心跳测试=====================");
  47. from("jetty:http://0.0.0.0:9999/sign").routeId("sign")
  48. .process(new SignProcessor());
  49. from("jetty:http://0.0.0.0:9999/rest").routeId("restTest")
  50. .to("restlet:http://192.168.1.221:10000/api/v1.0/admin/doctors/admin/13?autoCloseStream=true");
  51. }
  52. }