14.7. 使用简单语言
您可以将 简单 语言与控制总线一起使用,例如停止特定路由,您可以向 "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);
使用路由命令来控制 路由
的生命周期更容易。语言
命令允许您执行具有更强大的电源的语言脚本,如 Groovy 或一些扩展 简单 语言。
例如,关闭 Camel 本身可以:
template.sendBody("controlbus:language:simple?async=true", "${camelContext.stop()}");
我们使用 async=true
来异步停止 Camel,否则我们将在流中处理发送到控制总线组件的消息时停止 Camel。
注意
您还可以使用其他语言,如 Groovy 等。