19장. JavaScript
19.1. 개요
ECMAScript라고도 하는 JavaScript는 오브젝트를 빠르게 구문 분석할 수 있는 Java 기반 스크립팅 언어입니다. JavaScript 지원은 camel-script 모듈의 일부입니다.
19.2. script 모듈 추가
경로에서 JavaScript를 사용하려면 예 19.1. “camel-script 종속성 추가” 에 표시된 대로 camel-script 에 대한 종속성을 프로젝트에 추가해야 합니다.
예 19.1. camel-script 종속성 추가
<!-- Maven POM File -->
<properties>
<camel-version>2.23.2.fuse-790054-redhat-00001</camel-version>
...
</properties>
<dependencies>
...
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-script</artifactId>
<version>${camel-version}</version>
</dependency>
...
</dependencies>19.3. 정적 가져오기
애플리케이션 코드에서 javaScript() 정적 메서드를 사용하려면 Java 소스 파일에 다음 import 문을 포함합니다.
import static org.apache.camel.builder.script.ScriptBuilder.*;
19.4. 기본 제공 속성
표 19.1. “JavaScript 속성” JavaScript를 사용할 때 액세스할 수 있는 기본 제공 속성을 나열합니다.
표 19.1. JavaScript 속성
| 속성 | 유형 | 현재의 |
|---|---|---|
|
|
| Camel 컨텍스트 |
|
|
| 현재 교환 |
|
|
| IN 메시지 |
|
|
| OUT 메시지 |
|
|
|
|
ENGINE_SCOPE 에서 모두 설정된 속성입니다.
19.5. 예제
예 19.2. “JavaScript를 사용하는 경로” JavaScript를 사용하는 경로를 표시합니다.
예 19.2. JavaScript를 사용하는 경로
<camelContext>
<route>
<from uri="direct:start"/>
<choice>
<when>
<langauge langauge="javaScript">request.headers.get('user') == 'admin'</langauge>
<to uri="seda:adminQueue"/>
</when>
<otherwise>
<to uri="seda:regularQueue"/>
</otherwise>
</choice>
</route>
</camelContext>19.6. 속성 구성 요소 사용
속성 구성 요소에서 속성 값에 액세스하려면 다음과 같이 기본 제공 속성 속성에서 resolve 메서드를 호출합니다.To access a property value from the properties component, invoke the resolve method on the built-in properties attribute, as follows:
.setHeader("myHeader").javaScript("properties.resolve(PropKey)")
여기서 PropKey 는 확인하려는 속성의 키이며 키 값은 String 유형의 키입니다.
속성 구성 요소에 대한 자세한 내용은 Apache Camel 구성 요소 참조 가이드의 속성을 참조하십시오.https://access.redhat.com/documentation/en-us/red_hat_fuse/7.9/html-single/apache_camel_component_reference/index#properties-component