Java 尝试使用驼峰路由执行shell脚本&;面对以下问题
我正在尝试用camel执行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
@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),但不管是什么路线,它都会