22.8. 使用简单语言
您可以将 Simple 语言与控制总线一起使用,例如停止特定路由,您可以向 "controlbus:language:simple"
端点发送消息,其中包含以下信息:
template.sendBody("controlbus:language:simple", "${camelContext.getRouteController().stopRoute('myRoute')}");
由于这是一个 void 操作,因此不会返回任何结果。但是,如果您希望路由状态,您可以:
String status = template.requestBody("controlbus:language:simple", "${camelContext.getRouteStatus('myRoute')}", String.class);
使用 route
命令控制路由的生命周期更为容易。language
命令允许您执行具有更强大的电源的语言脚本,如 Groovy 或扩展某些 简单 语言。
例如,要关闭 Camel 本身,您可以:
template.sendBody("controlbus:language:simple?async=true", "${camelContext.stop()}");
我们使用 async=true
异步停止 Camel,否则我们将试图在处理我们发送到控制总线组件的消息时停止 Camel。
注意
您还可以使用其他语言,如 Groovy 等。