70.6. 간단한 언어 사용
예를 들어 특정 경로를 중지하기 위해 간단한 언어를 사용할 수 있습니다. 예를 들어 다음 메시지가 포함된 "controlbus:ural:simple"
엔드포인트에 메시지를 보낼 수 있습니다.
template.sendBody("controlbus:language:simple", "${camelContext.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()}");
Red Hat은 async=true
를 사용하여 Camel을 비동기적으로 중단하고, 그렇지 않으면 컨트롤 버스 구성 요소로 보낸 메시지를 진행 중이던 동안 Camel을 중지하려고 합니다.
Groovy 와 같은 다른 언어도 사용할 수 있습니다.