74장. XPath
Camel은 DSL 에서 Expression 또는 Predicate 를 사용할 수 있도록 XPath 를 지원합니다.
예를 들어 XPath를 사용하여 메시지 필터에서 조건자를 만들거나 받는 목록의 식으로 작성할 수 있습니다.For example, you could use XPath to create a predicate in a Message Filter or as an expression for a Recipient List.
74.1. XPath 언어 옵션
XPath 언어는 아래 나열된 10 가지 옵션을 지원합니다.
이름 | 기본값 | Java Type | 설명 |
---|---|---|---|
documentType |
| 문서 유형의 클래스 이름: 기본값은 org.w3c.dom.Document입니다. | |
resultType |
| 결과 유형(출력에서 유형)의 클래스 이름을 설정합니다. 기본 결과 유형은 NodeSet입니다. 열거형 값:
| |
saxon |
| Saxon 사용 여부 | |
factoryRef |
| 사용자 지정 XPathFactory에 대한 참조를 확인하여 레지스트리에서 조회합니다. | |
objectModel |
| 사용할 XPath 개체 모델입니다. | |
logNamespaces |
| 문제 해결 중에 지원할 수 있는 네임스페이스 로그 여부입니다. | |
headerName |
| 메시지 본문 대신 입력으로 사용할 헤더의 이름입니다. | |
threadSafety |
| xpath 식의 반환된 결과에 대해 스레드 보호 기능을 사용할지 여부입니다.Whether to enable thread- protection for the returned result of the xpath expression. 이는 결과 유형으로 NODESET을 사용할 때 적용되며 반환된 세트에 여러 요소가 있습니다. 이러한 상황에서 Camel Splitter EIP의 병렬 처리 모드에서와 같이 NODESET을 동시에 처리하는 경우 스레드 안전 문제가 발생할 수 있습니다. 이 옵션은 노드의 방어 사본을 수행하여 동시성 문제를 방지합니다. 애플리케이션에서 camel-saxon 또는 Saxon을 사용하는 경우 이 옵션을 켜는 것이 좋습니다. Saxon에는 스레드 안전 문제가 있으므로 이 옵션을 켜서 방지할 수 있습니다. | |
preCompile |
| 초기화 단계에서 xpath 표현식 사전 컴파일 여부입니다. 사전 컴파일은 기본적으로 활성화됩니다. 예를 들어 애플리케이션이 컴파일된 시간(예: camel-quarkus) 이전에 컴파일된 시간(예: camel-quarkus)보다 먼저 컴파일된 경우와 같이 컴파일 단계에서 컴파일 단계가 필요한 경우(예: 빌드된 운영 체제의 xpath 팩 팩토리)를 로드하고 JVM 런타임이 아닌 JVM 런타임이 로드되는 경우와 같이 컴파일 단계에서 컴파일 단계를 끄는 데 사용할 수 있습니다. | |
trim |
| 선행 공백과 후행 공백과 줄 바꿈을 제거할 값을 트리밍할지 여부입니다. |