88.6.3. 표현식 매핑
표현식 매핑을 사용하면 Camel의 강력한 언어 기능을 사용하여 표현식을 평가하고 매핑의 대상 필드에 결과를 할당할 수 있습니다. Camel이 지원하는 모든 언어는 표현식 매핑에 사용할 수 있습니다. 표현식의 기본 예에는 Camel 메시지 헤더 또는 교환 속성을 대상 필드에 매핑하거나 여러 소스 필드를 대상 필드에 연결하는 기능이 포함됩니다. 매핑 식의 구문은 다음과 같습니다.
[language]:[expression]
메시지 헤더를 대상 필드에 매핑하는 예:
<mappings xmlns="http://dozermapper.github.io/schema/bean-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://dozermapper.github.io/schema/bean-mapping http://dozermapper.github.io/schema/bean-mapping.xsd"> <mapping> <class-a>org.apache.camel.component.dozer.ExpressionMapper</class-a> <class-b>org.example.B</class-b> <field custom-converter-id="_expressionMapping" custom-converter-param="simple:\${header.customerNumber}"> <a>expression</a> <b>custId</b> </field> </mapping> </mappings>
Dozer가 EL을 사용하여 정의된 변수 값을 해결하려고 할 때 오류가 발생하지 않도록 표현식 내 모든 속성을 "\"로 이스케이프해야 합니다.