Apache camel 与现有web应用程序的Camel集成

Apache camel 与现有web应用程序的Camel集成,apache-camel,Apache Camel,我有一个提供rest完整服务的web应用程序和另一个独立(jar)应用程序(使用camel)执行soap请求响应 有人能给我指点一下如何集成这两个应用程序吗 特别是在tomcat中部署war文件时如何取消驼峰路由,以及在特定HTTP请求到达时如何重新运行路由 我正在使用camel DSL(xml)和spring 更新1: 我跟着 检查web.xml是否有以下行: <context-param> <param-name>contextClass</param-

我有一个提供rest完整服务的web应用程序和另一个独立(jar)应用程序(使用camel)执行soap请求响应

有人能给我指点一下如何集成这两个应用程序吗

特别是在tomcat中部署war文件时如何取消驼峰路由,以及在特定HTTP请求到达时如何重新运行路由

我正在使用camel DSL(xml)和spring

更新1: 我跟着

  • 检查web.xml是否有以下行:

    <context-param>
        <param-name>contextClass</param-name>
        <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
    </context-param>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>com.mycompany.server.Binder</param-value>
    </context-param>
    
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/log4j.properties</param-value>
    </context-param>
    
    
    <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    
    上下文类
    org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    上下文配置位置
    com.mycompany.server.Binder
    log4jConfigLocation
    /WEB-INF/classes/log4j.properties
    org.springframework.web.context.ContextLoaderListener
    
  • 创建了一个/WEB-INF/applicationContext.xml文件,并将我所有的路由和bean放在其中(顺便说一句,我在src/main/resources中也有beans.xml文件,spring正在读取该文件)

    
    类路径:${env}/my.properties
    
  • 升级log4j.logger.org.apache.camel=DEBUG的日志记录级别
  • 但是,没有看到任何驼峰日志行的路由开始

    更新2: 我没有做mvn清洁生成源代码。
    一旦我开始进行mvn清理并重建war文件,camel就开始了。

    您的spring上下文似乎没有真正启动。一定要这样! 应该有一些Spring信息日志事件告诉您这一点

    尝试添加以下内容:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    
    
    上下文配置位置
    /WEB-INF/applicationContext.xml
    
    您能给我们看一下日志文件吗?我的建议是:从中给出的示例开始,然后逐个添加您的补充内容。顺便说一下:1)如果
    Log4j.properties
    被放入
    classes
    目录,则不必配置Log4j属性文件。2)
    ${env}/my.properties
    看起来有问题,如果
    my.properties
    位于类路径的顶部,只需删除
    ${env}
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>