Поскольку вы уже развертываете эту WAR в контейнере сервлета, который может обрабатывать HTTP, нет необходимости использовать компонент camel-jetty, но он может использовать компоненты camel-servlet и camel-servlet-listener.
В первом примере используется DSL Camel Java, а во втором - XML DSL, в первом go он может быть немного пугающим. Я не смог найти ни одного примера, объединяющего указанный сценарий c, поэтому я собрал quick demo , который можно было бы развернуть в контейнере сервлета и который мог бы направлять вызовы в другую службу HTTP. Это крошечная демоверсия и потребует некоторых модификаций. Я тестировал его с помощью jetty, но не пробовал бросать его в Tomcat.
В файле. xml, следующий раздел контролирует контекст.
<!-- Camel servlet mapping -->
<servlet-mapping>
<servlet-name>CamelServlet</servlet-name>
<url-pattern>/camel/*</url-pattern>
</servlet-mapping>
Есть только один java файл, конфигурация маршрута, как показано ниже
public class DefaultRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("servlet:hello?matchOnUriPrefix=true")
.routeId("HTTP Bridging Route")
.log("Request: ${in.header."+ Exchange.HTTP_METHOD +"} to ${in.header."+ Exchange.HTTP_URI +"}")
.to("https://another.service.com?bridgeEndpoint=true");
}
}
Как только сервлет запустится, вы можете получить доступ к HTTP-ресурсу, поддерживаемому верблюдом на http://server/<context root>/camel/hello
Я надеюсь, что это поможет вам начать работу.