69.6. 간단한 언어 사용

예를 들어 특정 경로를 중지하기 위해 제어 버스와 함께 Simple 언어를 사용할 수 있습니다. 다음 메시지가 포함된 "controlbus:language: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()}");

우리는 async=true 를 사용하여 Camel을 비동기적으로 중지합니다. 그렇지 않으면 컨트롤 버스 구성 요소로 보낸 메시지를 처리하는 동안 Camel을 중지하려고 합니다.

작은 정보

또한 Groovy 등 다른 언어를 사용할 수도 있습니다.