16.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);
使用 route
命令控制路由的生命周期更为容易。语言
命令允许您执行具有更强大的电源的语言脚本,如 Groovy 或某些扩展 简单 语言。
例如,要关闭 Camel 本身,您可以执行以下操作:
template.sendBody("controlbus:language:simple?async=true", "${camelContext.stop()}");
我们使用 async=true
异步停止 Camel,否则我们将尝试在被发送到控制总线组件时尝试停止 Camel。
注意
您还可以使用其他语言,如 Groovy 等等。