30장. 간단한 언어
초록
간단한 언어는 특히 교환 오브젝트의 다양한 부분에 액세스하고 조작하기 위해 Apache Camel에서 개발한 언어입니다. 이 언어는 원래 생성되었을 때만큼 간단하지 않으며 이제 포괄적인 논리 연산자 및 조합 세트가 있습니다.
30.1. Java DSL
30.1.1. Java DSL의 간단한 표현식
Java DSL에는 경로에서 simple()
명령을 사용하기 위한 두 가지 스타일이 있습니다. 다음과 같이 simple()
명령을 프로세서에 인수로 전달할 수 있습니다.
from("seda:order") .filter(simple("${in.header.foo}")) .to("mock:fooOrders");
또는 processor에서 sub-clause로 simple()
명령을 호출할 수 있습니다. 예를 들면 다음과 같습니다.
from("seda:order") .filter() .simple("${in.header.foo}") .to("mock:fooOrders");
30.1.2. 문자열에 포함
일반 텍스트 문자열 내에 간단한 표현식을 포함하는 경우 자리 표시자 구문 ${Expression}
을 사용해야 합니다. 예를 들어 in.header.name
표현식을 문자열에 포함하려면 다음을 수행합니다.
simple("Hello ${in.header.name}, how are you?")
30.1.3. 시작 및 종료 토큰 사용자 정의
Java에서 change function StartToken 정적 메서드를 호출하고
정적 메서드를 호출하여 시작 및 종료 토큰(SimpleLanguage
오브젝트에서 changeFunctionEndToken
{
및 }
)을 사용자 지정할 수 있습니다.
예를 들어 다음과 같이 시작 및 종료 토큰을 Java의 [
및 ]
로 변경할 수 있습니다.
// Java import org.apache.camel.language.simple.SimpleLanguage; ... SimpleLanguage.changeFunctionStartToken("["); SimpleLanguage.changeFunctionEndToken("]");
시작 및 종료 토큰을 사용자 정의하면 클래스 경로에서 동일한 camel-core
라이브러리를 공유하는 모든 Apache Camel 애플리케이션에 영향을 미칩니다. 예를 들어 OSGi 서버에서는 많은 애플리케이션에 영향을 미칠 수 있지만 웹 애플리케이션(WAR 파일)에서는 웹 애플리케이션 자체에만 영향을 미칩니다.