Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试使用驼峰路由执行shell脚本&;面对以下问题_Java_Apache Camel - Fatal编程技术网

Java 尝试使用驼峰路由执行shell脚本&;面对以下问题

Java 尝试使用驼峰路由执行shell脚本&;面对以下问题,java,apache-camel,Java,Apache Camel,我正在尝试用camel执行shell脚本,并尝试了以下代码,一切看起来都很好,它正在开始运行,但我有以下两个问题 Shell脚本文件未拾取并执行其中的命令 甚至没有得到我保存在代码中的日志消息 下面是我正在使用的路线 @component public class ShellRoute extends RouteBuilder { @override public void configure() { final Logger logger = LoggerFactory.getLogger(S

我正在尝试用camel执行shell脚本,并尝试了以下代码,一切看起来都很好,它正在开始运行,但我有以下两个问题

  • Shell脚本文件未拾取并执行其中的命令
  • 甚至没有得到我保存在代码中的日志消息
  • 下面是我正在使用的路线

    @component
    public class ShellRoute extends RouteBuilder
    {
    @override
    public void configure()
    {
    final Logger logger = LoggerFactory.getLogger(ShellRoute.class);
    logger.info("shellRoute");
    
    boolean startupRoute=true;
    
    from("direct:start")
    .log(LoggingLevel.INFO, "Enter into Route:")
    .routeID("ShellRoute")
    .autoStartup(startupRoute)
    .onException(Exception.class);
    .logExhausted(false)
    .logStackTrace(false)
    .end()
    .log(LoggingLevel.INFO, "Starting Script:")
    .to("exec:./run_setup.sh?args=dev")
    .log(LoggingLevel.INFO, "End of Script:");
    }
    }
    
    日志如下:

    2017-09-29 08:32:53信息版本:30-HV000001:Hibernate Validator 5.2.4.Final

    2017-09-29 08:32:53信息SupportMain:48-在VDDP13C-52C8C99.mis.lmig.com上启动SupportMain,PID 13002 (/data/userdata/workspace/ClaimDownload/support/target/classes 由mani在/data/userdata/workspace/ClaimDownload/support中启动)

    2017-09-29 08:32:53信息支持主页:669-以下配置文件处于活动状态:本地

    2017-09-29 08:32:53信息注释配置应用程序上下文:581-刷新 org.springframework.context.annotation。AnnotationConfigApplicationContext@776aec5c: 启动日期[2017年9月29日星期五08:32:53美国东部夏令时];上下文层次结构的根 2017-09-29 08:32:55信息 后处理器注册Legate$BeanPostProcessorChecker:328-Bean [class]类型的“org.apache.camel.spring.boot.CamelAutoConfiguration” org.apache.camel.spring.boot.CamelAutoConfiguration$$EnhancerBySpringCGLIB$$9509da1] 不符合由所有BeanPostProcessor处理的条件(对于 示例:不符合自动代理的条件)

    2017-09-29 08:32:56信息默认类型转换器:56加载了209个类型转换器

    2017-09-29 08:32:57信息注释MBeanExporter:431在启动时注册JMX暴露的bean

    2017-09-29 08:32:57信息外壳路线:33-外壳路线

    2017-09-29 08:32:57信息路由收集器:148-从:classpath:Camel/*.XML加载其他Camel-XML路由

    2017-09-29 08:32:57信息路由收集器:162-从:classpath:Camel rest/*.XML加载其他Camel-XML rest

    2017-09-29 08:32:57信息SpringCamelContext:2800-Apache Camel 2.17.2(CamelContext:Camel-1)正在启动

    2017-09-29 08:32:57信息管理管理策略:191-JMX已启用

    2017-09-29 08:32:57信息DefaultRuntimeEndpointRegistry:203-运行时端点注册表处于扩展模式收集使用情况 所有传入和传出终结点的统计信息(缓存限制:1000)

    2017-09-29 08:32:57信息上下文:3039-AllowUseOriginalMessage已启用。如果访问原始消息 如果不需要,则建议尽可能关闭此选项 提高性能

    2017-09-29 08:32:57信息上下文:3049-未使用StreamCaching。如果使用流,则建议启用流 缓存。有关更多详细信息,请参阅

    2017-09-29 08:32:57信息和上下文:3570-路由:外壳路由从:端点开始使用[direct://start]

    2017-09-29 08:32:57信息背景:2840总共1条路线,其中1条已开通

    2017-09-29 08:32:57信息SpringCamelContext:2841-Apache Camel 2.17.2(CamelContext:Camel-1)在0.667秒内启动

    2017-09-29 08:32:57信息SupportMain:57-在4.963秒内启动SupportMain(JVM运行6.767)

    2017-09-29 08:32:57信息注释配置应用程序上下文:982-关闭 org.springframework.context.annotation。AnnotationConfigApplicationContext@776aec5c: 启动日期[2017年9月29日星期五08:32:53美国东部夏令时];上下文层次结构的根

    2017-09-29 08:32:57信息注释MBeanExporter:449-关闭时注销JMX暴露的bean

    2017-09-29 08:32:57信息SpringCamelContext:3066-Apache Camel 2.17.2(CamelContext:Camel-1)正在关闭


    按照exec组件文档,在apachecamel中执行shell脚本命令

    以下示例使用生成文件CamelExecBuildFile.xml执行Apache Ant(仅限Windows),前提是Ant.bat位于系统路径中,CamelExecBuildFile.xml位于当前目录中

    from(“direct:exec”).to(“exec:ant.bat?args=-f CamelExecBuildFile.xml”)

    同样地
    from(“direct:exec”).to(“exec:{path}/Cygwin/bin/bash?args=run_setup.sh”)

    根据exec组件文档,在Apache camel中执行shell脚本命令

    以下示例使用生成文件CamelExecBuildFile.xml执行Apache Ant(仅限Windows),前提是Ant.bat位于系统路径中,CamelExecBuildFile.xml位于当前目录中

    from(“direct:exec”).to(“exec:ant.bat?args=-f CamelExecBuildFile.xml”)

    同样地
    from(“direct:exec”).to(“exec:{path}/Cygwin/bin/bash?args=run\u setup.sh”)
    直接端点提供路由的同步调用。因此,您必须调用脚本执行的路由。 看看这个调用路由的答案

    如果希望在启动时只执行一次,可以替换

    from("direct:exec") 
    
    有点像

    from("timer://runOnce?repeatCount=1&delay=5000") 
    

    直接端点提供路由的同步调用。因此,您必须调用脚本执行的路由。 看看这个调用路由的答案

    如果希望在启动时只执行一次,可以替换

    from("direct:exec") 
    
    有点像

    from("timer://runOnce?repeatCount=1&delay=5000") 
    

    相关答案在

    嗨,ManishGupta,它不起作用,这条路线的问题是,路线正在按照我给出的方式启动。autoStartup(startupRoute),但不管是什么路线,它都会