|  | @ -1,12 +1,14 @@
 | 
	
		
			
				|  |  | package com.yihu.hos.broker.services.camel;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.hos.broker.common.log.TracerFormatter;
 | 
	
		
			
				|  |  | import com.yihu.hos.broker.services.BrokerServerService;
 | 
	
		
			
				|  |  | import com.yihu.hos.core.log.Logger;
 | 
	
		
			
				|  |  | import com.yihu.hos.core.log.LoggerFactory;
 | 
	
		
			
				|  |  | import org.apache.camel.CamelContext;
 | 
	
		
			
				|  |  | import org.apache.camel.Exchange;
 | 
	
		
			
				|  |  | import org.apache.camel.builder.RouteBuilder;
 | 
	
		
			
				|  |  | import org.apache.camel.processor.interceptor.DefaultTraceFormatter;
 | 
	
		
			
				|  |  | import org.apache.camel.processor.interceptor.Tracer;
 | 
	
		
			
				|  |  | import org.apache.log4j.LogManager;
 | 
	
		
			
				|  |  | import org.apache.log4j.Logger;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Component;
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -22,9 +24,10 @@ import java.util.concurrent.SynchronousQueue;
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @Component
 | 
	
		
			
				|  |  | public class CamelStartBoot {
 | 
	
		
			
				|  |  |     private static Logger logger = LogManager.getLogger(CamelStartBoot.class);
 | 
	
		
			
				|  |  |     private static Logger logger = LoggerFactory.getLogger(CamelStartBoot.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private BrokerServerService brokerServerService;
 | 
	
		
			
				|  |  |     private CamelContext context = SystemCamelContext.getContext();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     public void setBrokerServerService(BrokerServerService brokerServerService) {
 | 
	
	
		
			
				|  | @ -35,12 +38,10 @@ public class CamelStartBoot {
 | 
	
		
			
				|  |  |         logger.info("Apache Camel Context 启动...");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             SystemCamelContext.getContext().setTracing(true);
 | 
	
		
			
				|  |  |             SystemCamelContext.getContext().setUseMDCLogging(true);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             context.setUseMDCLogging(true);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Tracer tracer = new Tracer();
 | 
	
		
			
				|  |  |             DefaultTraceFormatter formatter = new DefaultTraceFormatter();
 | 
	
		
			
				|  |  |             DefaultTraceFormatter formatter = new TracerFormatter();
 | 
	
		
			
				|  |  |             formatter.setShowHeaders(true);
 | 
	
		
			
				|  |  |             formatter.setShowBody(true);
 | 
	
		
			
				|  |  |             formatter.setShowBodyType(true);
 | 
	
	
		
			
				|  | @ -48,15 +49,18 @@ public class CamelStartBoot {
 | 
	
		
			
				|  |  |             formatter.setShowOutBody(true);
 | 
	
		
			
				|  |  |             formatter.setShowOutBodyType(true);
 | 
	
		
			
				|  |  |             tracer.setFormatter(formatter);
 | 
	
		
			
				|  |  |             SystemCamelContext.getContext().getProperties().put(Exchange.LOG_DEBUG_BODY_STREAMS, "true");
 | 
	
		
			
				|  |  |             context.addInterceptStrategy(tracer);
 | 
	
		
			
				|  |  |             context.setTracing(true);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             context.getProperties().put(Exchange.LOG_DEBUG_BODY_STREAMS, "true");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             SystemCamelContext.getContext().start();
 | 
	
		
			
				|  |  |             context.start();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             List<URL> URLs = new ArrayList<>();
 | 
	
		
			
				|  |  |             ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
 | 
	
		
			
				|  |  |             ClassLoader camelClassLoader = new URLClassLoader(URLs.toArray(new URL[]{}), currentClassLoader);
 | 
	
		
			
				|  |  |             Thread.currentThread().setContextClassLoader(camelClassLoader);
 | 
	
		
			
				|  |  |             SystemCamelContext.getContext().setApplicationContextClassLoader(camelClassLoader);
 | 
	
		
			
				|  |  |             context.setApplicationContextClassLoader(camelClassLoader);
 | 
	
		
			
				|  |  |             logger.info("Apache Camel Context 启动完成...");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -70,7 +74,7 @@ public class CamelStartBoot {
 | 
	
		
			
				|  |  |                     Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) camelClassLoader.loadClass(className);
 | 
	
		
			
				|  |  |                     if (routeBuilderClass != null) {
 | 
	
		
			
				|  |  |                         RouteBuilder routeBuilder = routeBuilderClass.newInstance();
 | 
	
		
			
				|  |  |                         SystemCamelContext.getContext().addRoutes(routeBuilder);
 | 
	
		
			
				|  |  |                         context.addRoutes(routeBuilder);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 } catch (ClassNotFoundException e) {
 | 
	
		
			
				|  |  |                     e.printStackTrace();
 |