24장. Object-Graph Navigation Language(OGNL)
24.1. 개요
OGNL은 Java 개체의 속성을 가져오고 설정하기 위한 표현식 언어입니다. 속성 값을 가져오고 설정하는 데 모두 동일한 표현식을 사용합니다. OGNL 지원은 camel-ognl
모듈에 있습니다.
24.2. Camel on EAP 배포
이 구성 요소는 Red Hat JBoss EAP(JBoss Enterprise Application Platform) 컨테이너에 단순화된 배포 모델을 제공하는 EAP의 Camel(Wildfly Camel) 프레임워크에서 지원합니다.
24.3. OGNL 모듈 추가
경로에서 OGNL을 사용하려면 예 24.1. “camel-ognl 종속성 추가” 과 같이 프로젝트에 camel-ognl
에 대한 종속성을 추가해야 합니다.
예 24.1. camel-ognl 종속성 추가
<!-- Maven POM File --> ... <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ognl</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
24.4. 정적 가져오기
애플리케이션 코드에서 ognl()
정적 메서드를 사용하려면 Java 소스 파일에 다음 import 문을 포함합니다.
import static org.apache.camel.language.ognl.OgnlExpression.ognl;
24.5. 기본 제공 변수
표 24.1. “OGNL 변수” OGNL을 사용할 때 액세스할 수 있는 기본 제공 변수를 나열합니다.
이름 | 유형 | 설명 |
---|---|---|
|
| 현재 교환 |
|
| 현재 교환 |
|
| 교환 예외 (있는 경우) |
|
| 교환 ID |
|
| Fault 메시지(있는 경우) |
|
| IN 메시지 |
|
| OUT 메시지 |
|
| 교환 속성 |
|
| 이름이 지정된 Exchange 속성의 값 |
|
| 이름이 지정된 Exchange 속성의 형식 값 |
24.6. 예제
예 24.2. “OGNL을 사용하는 경로” OGNL을 사용하는 경로를 표시합니다.
예 24.2. OGNL을 사용하는 경로
<camelContext> <route> <from uri="seda:foo"/> <filter> <language langauge="ognl">request.headers.foo == 'bar'</language> <to uri="seda:bar"/> </filter> </route> </camelContext>