Ich habe eine Spring-Boot-Anwendung, die das Spring Boot Starter Web verwendet. Dies erstellt eine laufende Tomcat-Instanz und richtet den HTTP-Server ein, der auf einem Port ausgeführt wird. Innerhalb meiner Kamelroute möchte ich diesen HTTP-Server als Komponente für HTTP-Anfragen verwenden, aber ich kann nicht herausfinden, wie ich sie nutzen kann. Ich sehe viele, viele Beispiele für die Konfiguration einer Jetty-Instanz und deren Verwendung, aber hätte ich dann nicht tatsächlich zwei http-Server laufen? Ich möchte nur eins haben. Ich nehme an, der http-Server ist bereits autowired, da ich davon mit anderem Quellcode (wie einem RestController) konsumieren kann und ich kann es auch in meinen Spring-Boot-Logs sehen.Verwenden Sie den vorhandenen http-Server im Spring-Boot als Kamel-Endpunkt
@Component
public class ExampleRoute extends RouteBuilder
{
@Override
public void configure() throws Exception
{
//@formatter:off
from(<want to take in an http request here>)
.log(LoggingLevel.INFO, log, "Hello World!");
//@formatter:on
}
}
Ich war den Pfad des Servlets gegangen, konnte es aber nicht zur Arbeit bringen. Verwenden Sie Ihren @Bean über DID jedoch. Nebenbei bemerkt: Sie müssen dem ServletRegistrationBean einen Namen geben und es muss "CamelServlet" sein, sonst funktioniert es nicht (Wenn ich es ändere, um "MyCamelServlet" zu sagen, wird es nicht initialisiert). Das war aus den Beispielen und der Dokumentation nicht ersichtlich. –
Dieser Name muss mit dem Namen übereinstimmen, den Sie hier in der Tabelle finden: http://camel.apache.org/servlet –