здесь является пружинного загрузочного жира Jar CAMEL проекту структура:Почему контекст верблюда неспособен разрешить маршрут внутри сапфира весны?
/opt/java/spring/boot/fat/jar/camel/project/
├─ menus.json
├─ proxy.json
└─ chorke─boot─launch-1.0.00-SNAPSHOT.jar!
├─ META-INF/
├─ org/springframework/boot/loader/
├─ com/chorke/boot/launch/
├─ application.properties
├─ application.yml
├─ log4j.xml
└─ lib/
├─ annotations-2.0.0.jar
├─ camel-core-2.15.2.jar
├─ camel-hl7-2.15.2.jar
├─ camel-mina2-2.15.2.jar
├─ camel-spring-2.15.2.jar
├─ camel-spring-javaconfig-2.15.2.jar
├─ chorke-boot-jproxy-1.0.00-SNAPSHOT.jar!
│ ├─ META-INF/
│ │ ├─ camel/
│ │ │ └─ applicationContext-camel.xml
│ │ └─ property/
│ └─ com/chorke/boot/jproxy/
│
├─ chorke-boot-webapp-1.0.00-SNAPSHOT.jar
├─ chorke-comn-spring-1.0.00-SNAPSHOT.jar
├─ commons-collections-3.2.1.jar
├─ spring-context-4.1.6.RELEASE.jar
├─ spring-core-4.1.6.RELEASE.jar
├─ spring-webmvc-4.1.6.RELEASE.jar
├─ ..more..more..and..more..jar
├─ tomcat-embed-core-8.0.23.jar
└─ zuul-core-1.0.28.jar
Вот маршрут:
package com.chorke.boot.jproxy.route;
import org.apache.camel.builder.RouteBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ProxyRoute extends RouteBuilder {
private static final Logger log =LoggerFactory.getLogger(ProxyRoute.class);
@Override
public void configure() throws Exception {
from("mina2:tcp://0.0.0.0:22210?codec=#hl7codec&sync=true").process(new Processor() {
public void process(Exchange exchange) throws Exception {
String body = exchange.getIn().getBody(String.class);
log.info("Port-Forwarded body:\n {}", body);
}
}).to("mina2:tcp://192.168.0.10:22210?codec=#hl7codec&sync=true").end();
from("mina2:tcp://0.0.0.0:22211?codec=#hl7codec&sync=true").process(new Processor() {
public void process(Exchange exchange) throws Exception {
String body = exchange.getIn().getBody(String.class);
log.info("Port-Forwarded body:\n {}", body);
}
}).to("mina2:tcp://192.168.0.11:22211?codec=#hl7codec&sync=true").end();
}
}
Вот контекст верблюд конфигурация:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="locations">
<list>
<value>classpath:/META-INF/property/mina2.properties</value>
</list>
</property>
</bean>
<camel:camelContext id="camelContext">
<camel:packageScan>
<camel:package>com.chorke.boot</camel:package>
<camel:includes>**.route.*</camel:includes>
</camel:packageScan>
</camel:camelContext>
</beans>
Этого верблюд маршруты работают отлично, прежде чем делать жировую банку. Когда Весенний ботинок сделать толстый кувшин файл сканер пакета верблюдов неспособен разрешить эти маршруты динамически. Это ошибка весеннего ботинка или ограничение сканер камеры для верблюда относительно fat jar файл?
У вас есть решение для такого рода сценариев?