1
我有這段代碼用於從使用wicket的java Tomcat web開發執行腳本shell。駱駝exec從shell腳本返回始終爲空字符串
public class CallingScript extends RouteBuilder {
String result;
@Override
public void configure() throws Exception {
from("direct:exec")
.to("exec:ls?args=/home/foo/")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
ExecResult execresult = exchange.getIn().getBody(ExecResult.class);
result = execesult.toString();
}
});
}
public String getResult() {
return result;
}
}
我用它在檢票7.0.0的onclick方法,沒有產生錯誤消息,但始終是一個空字符串由exec路線返回。
CamelContext camelContext = new DefaultCamelContext();
CallingScript call = new CallingScript();
try {
camelContext.addRoutes(call);
} catch (Exception e) {
e.printStackTrace();
}
try {
camelContext.start();
} catch (Exception e) {
e.printStackTrace();
}
try {
camelContext.stop();
} catch (Exception e) {
e.printStackTrace();
}
String res = call.getResult();
getSession().info("directory contents " + res + " !");