87.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을 사용하여 정의된 변수 값을 해결하려고 할 때 오류가 발생하지 않도록 표현식 내 모든 속성을 "\"로 이스케이프해야 합니다.