303장. 간단한 언어


Camel 버전 1.1에서 사용 가능

Simple Expression Language는 만들 때 매우 간단한 언어 였지만 그 이후로 더 강력했습니다. 기본적으로 Expressions 및 Predicates를 평가하는 데 매우 작고 간단한 언어이며, new dependencies 또는 knowledge of comel-core를 요구하지 않고 Predicates를 평가하는 데 적합합니다. ??? 이 개념은 Camel 경로에 표현식 기반 스크립트가 필요할 때 일반적인 사용 사례의 95%를 포괄하는 것이었습니다.

그러나 훨씬 더 복잡한 사용 사례의 경우 일반적으로 다음과 같은 표현적이고 강력한 언어를 선택하는 것이 좋습니다.

간단한 언어는 표현식에 상수 리터럴이 포함된 복잡한 표현식에 ${body} 자리 표시자를 사용합니다. 표현식이 토큰 자체인 경우 $\{ } 자리 표시자를 생략할 수 있습니다.

작은 정보

Camel 2.5 이후의 대체 구문 에서는 $simple{ } 을 자리 표시자로 사용하는 대체 구문을 사용할 수도 있습니다. 이 문제를 사용하여 Camel과 함께 Spring 속성 자리 표시자를 사용할 때 충돌하지 않도록 할 수 있습니다.

303.1. Camel 2.9 이후의 간단한 언어 변경 사항

Camel 2.9에서는 정확한 오류 메시지를 작성할 수 있는 더 나은 구문 구문 구문 분석기를 사용하도록 Camel 2.9에서 향상된 언어가 향상되었으므로 무엇이 잘못되었는지와 문제가 있는지 정확히 알 수 있습니다. ??? 예를 들어 연산자 중 하나에 오타를 수행한 경우 이전에 구문 분석기에서 이를 탐지하지 못하고 평가가 true가 되도록 했습니다. 구문에는 더 이상 이전 버전과 호환되지 않는 몇 가지 변경 사항이 있습니다. Simple 언어를 Predicate로 사용하는 경우 리터럴 텍스트를 single 또는 double 따옴표로 묶어야 합니다. 예: "${body} == 'Camel'". 리터럴에 작은 따옴표가 있는지 확인합니다. 메시지 본문과 헤더를 참조하기 위해 "body""header.foo" 를 사용하는 이전 스타일은 @deprecated이며 내장 함수에 항상 $\{ } 토큰을 사용하는 것이 좋습니다. 이제 범위 연산자는 '30000..39999' 사이의 "${header.zip}" 과 같이 범위가 단일 인용에 있어야 합니다.

"body" 또는 "in.body" 또는 "${body}" 메시지에서 본문을 가져오려면 다음을 수행하십시오.

복잡한 표현식은 "Hello ${in.header.name}}과 같은 $\{ } 자리 표시자를 사용해야 합니다.

"Hello ${in.header.name}은(는) ${in.header.me}과 같은 표현식에서 여러 개의 함수를 가질 수 있습니다..
그러나 Camel 2.8.x 이상에서는 함수를 중첩할 수 없습니다 (즉, 기존에 다른 $\{ } 자리 표시자가 있으면 허용되지 않습니다).
Camel 2.9 이후에서는 기능을 중첩할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat