Apache Camel 구성 요소 참조
Camel 구성 요소에 대한 구성 참조
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.
1장. 구성 요소 개요 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 Apache Camel에 사용할 수 있는 모든 구성 요소에 대한 요약 정보를 제공합니다.
1.1. 컨테이너 유형 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Fuse는 Camel 애플리케이션을 배포할 수 있는 다양한 컨테이너 유형을 제공합니다.
- Spring Boot
- Apache Karaf
- JBoss EAP(JBoss Enterprise Application Platform)
또한 Camel 애플리케이션을 containerless 로 실행할 수 있습니다. 즉, Camel 애플리케이션이 특별한 컨테이너 없이 JVM에서 직접 실행됩니다.
Fuse는 한 컨테이너에서 Camel 구성 요소를 지원할 수 있지만 다른 컨테이너는 지원하지 않는 경우가 있습니다. 이에 대한 여러 가지 이유가 있지만 경우에 따라 구성 요소가 모든 컨테이너 유형에 적합하지 않습니다. 예를 들어, camel-ejb 구성 요소는 Java EE(즉, JBoss EAP)용으로 특별히 설계되었으며 다른 컨테이너 유형에서는 지원되지 않습니다.
1.2. 지원되는 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
다음 키를 확인합니다.
| 기호 | 설명 |
|---|---|
| ✔ | 지원됨 |
| ❌ | 지원되지 않거나 아직 지원되지 않음 |
| deprecated | 향후 릴리스에서 제거 가능 |
표 1.1. “Apache Camel 구성 요소 지원 매트릭스” 어떤 컨테이너에서 지원되는 Camel 구성 요소에 대한 포괄적인 세부 정보를 제공합니다.
| 구성 요소 | Containerless | Spring Boot 2.x | Karaf | JBoss EAP |
|---|---|---|---|---|
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| deprecated | deprecated | deprecated | ✔ |
|
| ✔ | ❌ | ✔ | ❌ |
|
| ✔ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | deprecated | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | ❌ | ❌ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ❌ | ❌ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | ✔ | ❌ |
|
| ✔ | ❌ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ❌ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | deprecated |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | ✔ | ❌ |
|
| deprecated | deprecated | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
| ✔ | ✔ |
| deprecated | ❌ |
| ✔ | ❌ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ❌ |
| ✔ | ❌ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ❌ |
| deprecated | ❌ |
| ✔ | ❌ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ |
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ✔ | deprecated | ❌ |
|
| deprecated | deprecated | deprecated | deprecated |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ❌ | ❌ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ❌ | ❌ | ✔ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | ❌ | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ✔ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ❌ |
|
| ✔ | ❌ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ❌ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| 구성 요소 | Containerless | Spring Boot 2.x | Karaf | JBoss EAP |
|---|---|---|---|---|
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | deprecated |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| deprecated | deprecated | deprecated | ✔ |
|
| deprecated | deprecated | deprecated | deprecated |
|
| ❌ | ❌ | ❌ | ❌ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
|
| ✔ | ✔ | ✔ | ✔ |
| 언어 | Containerless | Spring Boot 2.x | Karaf | JBoss EAP |
|---|---|---|---|---|
| 빈 메서드 | ✔ | ✔ | ✔ | ✔ |
| 상수 | ✔ | ✔ | ✔ | ✔ |
| EL | deprecated | ❌ | ❌ | ❌ |
| ExchangeProperty | ✔ | ✔ | ✔ | ✔ |
| 파일 | ✔ | ✔ | ✔ | ✔ |
| groovy | ✔ | ✔ | ✔ | ✔ |
| header | ✔ | ✔ | ✔ | ✔ |
| JsonPath | ✔ | ✔ | ✔ | ✔ |
| JXPath | deprecated | ❌ | ❌ | ❌ |
| MVEL | ✔ | ✔ | ✔ | ✔ |
| OGNL | ✔ | ✔ | ✔ | ✔ |
| PHP | deprecated | deprecated | ❌ | deprecated |
| Python | deprecated | deprecated | ❌ | deprecated |
| Ref | ✔ | ✔ | ✔ | ✔ |
| Ruby | deprecated | deprecated | ❌ | deprecated |
| simple | ✔ | ✔ | ✔ | ✔ |
| SpEL | ✔ | ✔ | ❌ | ✔ |
| tokenize | ✔ | ✔ | ✔ | ✔ |
| XML Tokenize | ✔ | ✔ | ✔ | ✔ |
| XPath | ✔ | ✔ | ✔ | ✔ |
| XQuery | ✔ | ✔ | ✔ | ✔ |
2장. ActiveMQ 링크 복사링크가 클립보드에 복사되었습니다!
2.1. ActiveMQ Component 링크 복사링크가 클립보드에 복사되었습니다!
ActiveMQ 구성 요소를 사용하면 메시지를 JMS Queue 또는 Topic으로 보내거나 Apache ActiveMQ 를 사용하여 JMS Queue 또는 Topic에서 사용할 메시지를 보낼 수 있습니다.
이 구성 요소는 178장. JMS 구성 요소 를 기반으로 하며 Spring의 JmsTemplate 을 사용하여 소비하기 위해 MessageListenerContainer 를 사용하여 선언적 트랜잭션에 대해 Spring의 JMS 지원을 사용합니다. 178장. JMS 구성 요소 구성 요소의 모든 옵션이 이 구성 요소에도 적용됩니다.
이 구성 요소를 사용하려면 camel-core.jar,camel-spring.jar 및 camel-jms.jar 와 같은 모든 Apache Camel 종속 항목과 함께 클래스 경로에 activemq.jar 또는 activemq-core.jar 가 있는지 확인하십시오.
JMS 와 함께 트랜잭션을 사용하는 경우 성능에 영향을 줄 수 있으므로 JMS가 포함된 트랜잭션을 사용하는 경우 JMS 페이지에서 아래 섹션 트랜잭션 및 캐시 수준 을 참조하십시오.
2.2. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
activemq:[queue:|topic:]destinationName
activemq:[queue:|topic:]destinationName
여기서 destinationName 은 ActiveMQ 대기열 또는 주제 이름입니다. 기본적으로 destinationName 은 큐 이름으로 해석됩니다. 예를 들어 큐에 연결하려면 FOO.BAR 을 사용합니다.
activemq:FOO.BAR
activemq:FOO.BAR
원하는 경우 선택적 queue: 접두사를 포함할 수 있습니다.
activemq:queue:FOO.BAR
activemq:queue:FOO.BAR
항목에 연결하려면 topic: 접두사를 포함해야 합니다. 예를 들어 주제, Stocks.Prices 에 연결하려면 다음을 사용합니다.
activemq:topic:Stocks.Prices
activemq:topic:Stocks.Prices
2.3. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소에도 적용되는 모든 옵션이 적용되므로 178장. JMS 구성 요소 구성 요소의 옵션을 참조하십시오.
2.4. EAP 배포용 Camel 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 Red Hat JBoss EAP(JBoss Enterprise Application Platform) 컨테이너에서 단순화된 배포 모델을 제공하는 Camel on EAP(Wildfly Camel) 프레임워크에서 지원합니다.
포함된 브로커 또는 외부 브로커와 함께 작동하도록 ActiveMQ Camel 구성 요소를 구성할 수 있습니다. JBoss EAP 컨테이너에 브로커를 포함하려면 EAP 컨테이너 구성 파일에서 ActiveMQ 리소스 어댑터를 구성하고 ActiveMQ 리소스 어댑터 구성 을 참조하십시오.
2.5. 연결 팩토리 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 테스트 사례 는 ActiveMQ 연결에 사용되는 brokerURL 을 지정하는 동안 activeMQComponent() 메서드 를 사용하여 ActiveMQ Component를 CamelContext 에 추가하는 방법을 보여줍니다.
camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false"));
camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false"));
2.6. Spring XML을 사용하여 연결 팩토리 구성 링크 복사링크가 클립보드에 복사되었습니다!
ActiveMQComponent에서 다음과 같이 ActiveMQ 브로커 URL을 구성할 수 있습니다.
2.7. 연결 풀링 사용 링크 복사링크가 클립보드에 복사되었습니다!
Camel을 사용하여 ActiveMQ 브로커로 전송하는 경우 풀링된 연결 팩토리를 사용하여 JMS 연결, 세션 및 생산자의 효율적인 풀링을 처리하는 것이 좋습니다. 이 내용은 ActiveMQ Spring Support 페이지에 설명되어 있습니다.
Maven으로 Jencks AMQ 풀을 캡처할 수 있습니다.
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
<version>5.3.2</version>
</dependency>
그런 다음 다음과 같이 activemq 구성 요소를 설정합니다.
풀링된 연결 팩토리의 init 및 destroy 메서드를 확인합니다. 이는 연결 풀이 올바르게 시작되고 종료되었는지 확인하는 것이 중요합니다.
그런 다음 PooledConnectionFactory 가 동시에 사용 중인 최대 8개의 연결이 있는 연결 풀을 생성합니다. 각 연결은 여러 세션에서 공유할 수 있습니다. 연결당 최대 세션 수를 구성하는 데 사용할 수 있는 maxActive 옵션이 있습니다. 기본값은 500 입니다. ActiveMQ 5.7 이후 옵션은 용도를 보다 잘 반영하기 위해 옵션이 변경되었으며 maxActiveSessionPerConnection 로 이름이 지정되었습니다. concurrentConsumers 가 maxConnections 보다 더 높은 값으로 설정되어 있습니다. 이는 각 소비자가 세션을 사용하고 있으며 세션으로서 동일한 연결을 공유할 수 있으므로 이는 괜찮습니다. 이 예제에서는 8 * 500 = 4000 활성 세션을 동시에 가질 수 있습니다.
2.8. 경로에서 MessageListener POJO 호출 링크 복사링크가 클립보드에 복사되었습니다!
ActiveMQ 구성 요소는 또한 JMS MessageListener에서 프로세서 로 도우미 유형 변환기 를 제공합니다. 즉, 43장. 빈 구성 요소 구성 요소는 모든 경로 내에서 직접 JMS MessageListener 빈을 호출할 수 있습니다.
예를 들어 다음과 같이 JMS에서 MessageListener를 생성할 수 있습니다.
public class MyListener implements MessageListener {
public void onMessage(Message jmsMessage) {
// ...
}
}
public class MyListener implements MessageListener {
public void onMessage(Message jmsMessage) {
// ...
}
}
그런 다음 다음과 같이 경로에 사용하십시오.
from("file://foo/bar").
bean(MyListener.class);
from("file://foo/bar").
bean(MyListener.class);
즉, Apache Camel 구성 요소를 재사용하고 JMS MessageListener POJO\에 쉽게 통합할 수 있습니다!
2.9. ActiveMQ 대상 옵션 사용 링크 복사링크가 클립보드에 복사되었습니다!
ActiveMQ 5.6에서 사용 가능
"destination." 접두사를 사용하여 끝점 URI에서 대상 옵션 을 구성할 수 있습니다. 예를 들어 소비자를 배타적으로 표시하고 prefetch 크기를 50으로 설정하려면 다음과 같이 수행할 수 있습니다.
2.10. 권고 메시지 사용 링크 복사링크가 클립보드에 복사되었습니다!
ActiveMQ는 사용할 수 있는 항목에 배치된 권고 메시지 를 생성할 수 있습니다. 이러한 메시지는 느린 소비자를 감지하거나 통계(일별 메시지/생성된 메시지 수 등)를 작성하는 경우에 알림을 보내는 데 도움이 될 수 있습니다. 다음 Spring DSL 예제에서는 주제에서 메시지를 읽는 방법을 보여줍니다.
큐에서 메시지를 사용하는 경우 data/activemq 폴더에 다음 파일이 표시됩니다.If you consume a message on a queue, you should see the following files under data/activemq folder:
advisoryConnection-20100312.txt advisoryProducer-20100312.txt
문자열을 포함하는 경우:
2.11. 구성 요소 JAR 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
이 종속성이 필요합니다.
-
activemq-camel
ActiveMQ는 ActiveMQ 프로젝트 와 함께 릴리스된 178장. JMS 구성 요소 구성 요소의 확장입니다.
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-camel</artifactId> <version>5.6.0</version> </dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-camel</artifactId>
<version>5.6.0</version>
</dependency>
3장. AHC 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.8에서 사용 가능
ahc: 구성 요소는 외부 HTTP 리소스를 사용하기 위해 HTTP 기반 엔드포인트를 제공합니다(HTTP를 사용하여 외부 서버를 호출하는 클라이언트로).
구성 요소는 Async Http Client 라이브러리를 사용합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
3.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
ahc:http://hostname[:port][/resourceUri][?options] ahc:https://hostname[:port][/resourceUri][?options]
ahc:http://hostname[:port][/resourceUri][?options]
ahc:https://hostname[:port][/resourceUri][?options]
는 기본적으로 HTTP용 포트 80 및 443을 HTTPS에 사용합니다.
다음 형식 ?option=value&option=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
3.2. AhcEndpoint 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AHC 끝점은 URI 구문을 사용하여 구성됩니다.
ahc:httpUri
ahc:httpUri
다음 경로 및 쿼리 매개변수를 사용합니다.
3.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| httpUri | required: http://hostname:port/path과 같이 사용할 URI | URI |
3.2.2. 쿼리 매개변수(13 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bridgeEndpoint (producer) | 옵션이 true인 경우 Exchange.HTTP_URI 헤더가 무시되고 요청 끝점의 URI를 사용합니다. 또한 AhcProducer가 모든 오류 응답을 다시 보낼 수 있도록 throwExceptionOnFailure를 false로 설정할 수도 있습니다. | false | boolean |
| bufferSize (producer) | Camel과 AHC Client 간에 데이터를 전송할 때 사용되는 초기 메모리 버퍼 크기입니다. | 4096 | int |
| connectionClose (producer) | Connection Close 헤더를 HTTP 요청에 추가해야 하는지 정의합니다. 이 매개변수는 기본적으로 false입니다. | false | boolean |
| cookieHandler (producer) | HTTP 세션을 유지 관리하도록 쿠키 처리기 구성 | CookieHandler | |
| headerFilterStrategy (producer) | 사용자 지정 HeaderFilterStrategy를 사용하여 Camel 메시지와의 헤더를 필터링합니다. | HeaderFilterStrategy | |
| throwExceptionOnFailure (producer) | 원격 서버에서 응답이 실패한 경우 AhcOperationFailedException의 throw를 비활성화하는 옵션입니다. 이를 통해 HTTP 상태 코드와 관계없이 모든 응답을 얻을 수 있습니다. | true | boolean |
| transferException (producer) | 소비자 측에서 Exchange가 실패하고 발생한 Exception이 애플리케이션/x-java-serialized-object 콘텐츠 유형으로 응답에서 직렬화된 경우 (예: Jetty 또는 Servlet Camel 구성 요소 사용) 생산자 측에서 예외는 AhcOperationFailedException 대신 deserialize되고 그대로 발생합니다. 원인된 예외는 직렬화해야 합니다. 이 설정은 기본적으로 꺼져 있습니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| 바인딩 (advanced) | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. | AhcBinding | |
| clientConfig (advanced) | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. | AsyncHttpClientConfig | |
| clientConfigOptions (고급) | 맵의 키/값을 사용하여 AsyncHttpClientConfig를 구성하려면 다음을 수행합니다. | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| clientConfigRealmOptions (보안) | 맵의 키/값을 사용하여 AsyncHttpClientConfig Realm을 구성하려면 다음을 수행합니다. | map | |
| sslContextParameters (security) | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 참조는 구성 요소 수준에서 구성된 모든 SSLContextParameter를 재정의합니다. JSSE 구성 유틸리티 사용을 참조하십시오. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. | SSLContextParameters |
3.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.ahc.allow-java-serialized-object | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 기본적으로 꺼집니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | 부울 |
| camel.component.ahc.binding | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. 옵션은 org.apache.camel.component.ahc.AhcBinding 유형입니다. | 문자열 | |
| camel.component.ahc.client | 사용자 지정 AsyncHttpClient를 사용합니다. 옵션은 org.asynchttpclient.AsyncHttpClient 유형입니다. | 문자열 | |
| camel.component.ahc.client-config | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. 옵션은 org.asynchttpclient.AsyncHttpClientConfig 유형입니다. | 문자열 | |
| camel.component.ahc.enabled | ahc 구성 요소 활성화 | true | 부울 |
| camel.component.ahc.header-filter-strategy | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. 옵션은 org.apache.camel.spi.HeaderFilterStrategy 유형입니다. | 문자열 | |
| camel.component.ahc.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.ahc.ssl-context-parameters | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. 옵션은 org.apache.camel.util.jsse.SSLContextParameters 유형입니다. | 문자열 | |
| camel.component.ahc.use-global-ssl-context-parameters | 글로벌 SSL 컨텍스트 매개 변수의 사용을 활성화합니다. | false | 부울 |
3.4. AhcComponent Options 링크 복사링크가 클립보드에 복사되었습니다!
AHC 구성 요소는 아래에 나열된 8 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 클라이언트 (고급) | 사용자 정의 AsyncHttpClient 사용 | AsyncHttpClient | |
| 바인딩 (advanced) | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. | AhcBinding | |
| clientConfig (advanced) | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. | AsyncHttpClientConfig | |
| sslContextParameters (security) | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. | SSLContextParameters | |
| JavaSerialized Object (advanced) 허용 | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 기본적으로 꺼집니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| useGlobalSslContext 매개변수 (보안) | 글로벌 SSL 컨텍스트 매개 변수의 사용을 활성화합니다. | false | boolean |
| headerFilterStrategy (filter) | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AhcComponent 의 모든 옵션을 설정하면 해당 옵션을 생성되는 AhcEndpoints 로 전파합니다. 그러나 AhcEndpoint 는 사용자 지정 옵션을 설정/override할 수도 있습니다. 끝점에 설정된 옵션은 항상 AhcComponent 의 옵션보다 우선합니다.
3.5. 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 유형 | 설명 |
|---|---|---|
|
|
| 호출할 URI입니다. 는 엔드포인트에서 직접 설정된 기존 URI를 재정의합니다. |
|
|
|
요청 URI의 경로, 헤더는 HTTP_URI를 사용하여 요청 URI를 빌드하는 데 사용됩니다. 경로가 "/"로 시작하는 경우 http 생산자는 Exchange.HTTP_BASE_URI 헤더 또는 |
|
|
| Camel 2.11 이후: URI 매개변수. 는 끝점에 직접 설정된 기존 URI 매개 변수를 재정의합니다. |
|
|
| 외부 서버의 HTTP 응답 코드입니다. 200은 OK 입니다. |
|
|
| 문자 인코딩. |
|
|
|
HTTP 콘텐츠 유형입니다. 는 |
|
|
|
HTTP 콘텐츠 인코딩입니다. |
3.6. 메시지 본문 링크 복사링크가 클립보드에 복사되었습니다!
Camel은 외부 서버의 HTTP 응답을 OUT 본문에 저장합니다. IN 메시지의 모든 헤더가 OUT 메시지에 복사되므로 라우팅 중에 헤더가 유지됩니다. 또한 Camel은 HTTP 응답 헤더와 OUT 메시지 헤더에 추가합니다.
3.7. 응답 코드 링크 복사링크가 클립보드에 복사되었습니다!
Camel은 HTTP 응답 코드에 따라 처리합니다.
- 응답 코드는 범위 100.299이며 Camel은 성공 대응과 관련이 있습니다.
-
응답 코드는 범위 300..399에 있으며 Camel은 리디렉션 응답과 관련이 있으며 정보가 포함된
AhcOOperationFailedException이 발생합니다. 응답 코드는 400 이상이며 Camel은 외부 서버 오류로 간주하고 정보가 포함된
AhcOperationFailedException이 발생합니다.throwExceptionOnFailure
실패한 응답 코드에 대해
AhcOperationFailedException이 throw되지 않도록 옵션throwExceptionOnFailure을false로 설정할 수 있습니다. 이를 통해 원격 서버에서 모든 응답을 가져올 수 있습니다.
3.8. AhcOperationFailedException 링크 복사링크가 클립보드에 복사되었습니다!
이 예외에는 다음 정보가 포함됩니다.
- HTTP 상태 코드
- HTTP 상태 줄 (상태 코드의 텍스트)
- 리디렉션 위치, 서버가 리디렉션을 반환하는 경우
-
서버가 응답으로 본문을 제공하는 경우
java.lang.String로서 응답 본문
3.9. GET 또는 POST를 사용하여 호출 링크 복사링크가 클립보드에 복사되었습니다!
다음 알고리즘은 GET 또는 POST HTTP 메서드를 사용해야 하는지 확인하는 데 사용됩니다.
1. 헤더에 제공된 메서드를 사용합니다.
2. 쿼리 문자열이 헤더에 제공되는 경우 GET 입니다.
3. 끝점이 쿼리 문자열로 구성된 경우 GET 입니다.
4. 보낼 데이터가 있는 경우 POST (body가 null이 아님)
5. 그렇지 않으면 GET 입니다.
3.10. 호출할 URI 구성 링크 복사링크가 클립보드에 복사되었습니다!
HTTP 생산자의 URI를 직접 엔드포인트 URI로 설정할 수 있습니다. 아래 경로에서 Camel은 HTTP를 사용하여 외부 서버 oldhost 로 호출합니다.
from("direct:start")
.to("ahc:http://oldhost");
from("direct:start")
.to("ahc:http://oldhost");
다음과 같은 Spring 샘플이 있습니다.
메시지에 Exchange.HTTP_URI 라는 헤더를 추가하여 HTTP 끝점 URI를 덮어쓸 수 있습니다.
from("direct:start")
.setHeader(Exchange.HTTP_URI, constant("http://newhost"))
.to("ahc:http://oldhost");
from("direct:start")
.setHeader(Exchange.HTTP_URI, constant("http://newhost"))
.to("ahc:http://oldhost");
3.11. URI 매개변수 구성 링크 복사링크가 클립보드에 복사되었습니다!
ahc 생산자는 HTTP 서버로 보낼 URI 매개 변수를 지원합니다. URI 매개 변수는 끝점 URI에서 직접 설정하거나 메시지에서 Exchange.HTTP_QUERY 키를 사용하는 헤더로 설정할 수 있습니다.
from("direct:start")
.to("ahc:http://oldhost?order=123&detail=short");
from("direct:start")
.to("ahc:http://oldhost?order=123&detail=short");
또는 헤더에 제공되는 옵션:
from("direct:start")
.setHeader(Exchange.HTTP_QUERY, constant("order=123&detail=short"))
.to("ahc:http://oldhost");
from("direct:start")
.setHeader(Exchange.HTTP_QUERY, constant("order=123&detail=short"))
.to("ahc:http://oldhost");
3.12. http 메서드를 HTTP 생산자로 설정하는 방법 링크 복사링크가 클립보드에 복사되었습니다!
HTTP 구성 요소는 메시지 헤더를 설정하여 HTTP 요청 메서드를 설정하는 방법을 제공합니다. 예를 들면 다음과 같습니다.
from("direct:start")
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.to("ahc:http://www.google.com")
.to("mock:results");
from("direct:start")
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.to("ahc:http://www.google.com")
.to("mock:results");
다음과 같은 Spring 샘플이 있습니다.
3.13. charset 구성 링크 복사링크가 클립보드에 복사되었습니다!
POST 를 사용하여 데이터를 보내는 경우 Exchange 속성을 사용하여 charset을 구성할 수 있습니다.If you are using POST to send data you can configure the charset using the Exchange property:
exchange.setProperty(Exchange.CHARSET_NAME, "iso-8859-1");
exchange.setProperty(Exchange.CHARSET_NAME, "iso-8859-1");
3.13.1. 끝점 URI의 URI 매개 변수 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플에는 웹 브라우저에 입력한 전체 URI 엔드포인트가 있습니다. 물론 여러 URI 매개변수는 웹 브라우저에서와 마찬가지로 구분 기호로 & amp; 문자를 사용하여 설정할 수 있습니다. Camel은 여기에서 속임수를 사용하지 않습니다.
// we query for Camel at the Google page
template.sendBody("ahc:http://www.google.com/search?q=Camel", null);
// we query for Camel at the Google page
template.sendBody("ahc:http://www.google.com/search?q=Camel", null);
3.13.2. 메시지의 URI 매개 변수 링크 복사링크가 클립보드에 복사되었습니다!
Map headers = new HashMap();
headers.put(Exchange.HTTP_QUERY, "q=Camel&lr=lang_en");
// we query for Camel and English language at Google
template.sendBody("ahc:http://www.google.com/search", null, headers);
Map headers = new HashMap();
headers.put(Exchange.HTTP_QUERY, "q=Camel&lr=lang_en");
// we query for Camel and English language at Google
template.sendBody("ahc:http://www.google.com/search", null, headers);
위의 헤더 값에서 ? 접두사가 붙 지 않아야 하며 & amp; char를 사용하여 일반적으로 매개 변수를 분리할 수 있습니다.
3.13.3. 응답 코드 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
Exchange.HTTP_RESPONSE_CODE 를 사용하여 출력 메시지 헤더에서 값을 가져와 AHC 구성 요소에서 HTTP 응답 코드를 가져올 수 있습니다.
3.14. AsyncHttpClient 구성 링크 복사링크가 클립보드에 복사되었습니다!
AsyncHttpClient 클라이언트는 AsyncHttpClientConfig 를 사용하여 클라이언트를 구성합니다. 자세한 내용은
Async Http Client 설명서를 참조하십시오.
Camel 2.8 에서 구성은 AsyncHttpClientConfig.Builder 에서 제공하는 빌더 패턴을 사용하도록 제한됩니다. Camel 2.8에서 AsyncHttpClientConfig 는 getter/setter를 지원하지 않으므로 Spring bean 스타일(예: XML 파일의 <bean> 태그)을 사용하여 쉽게 만들고 구성할 수 없습니다.
아래 예제에서는 빌더를 사용하여 AhcComponent 에서 구성하는 AsyncHttpClientConfig 를 생성하는 방법을 보여줍니다.
Camel 2.9 에서 AHC 구성 요소는 Async HTTP 라이브러리 1.6.4를 사용합니다. 이 최신 버전은 일반 빈 스타일 구성에 대한 추가 지원을 제공합니다. AsyncHttpClientConfigBean 클래스는 AsyncHttpClientConfig 에서 사용할 수 있는 구성 옵션에 대한 getter 및 setter를 제공합니다. AsyncHttpClientConfigBean 인스턴스는 AHC 구성 요소로 직접 전달되거나 clientConfig URI를 사용하여 끝점 URI에서 참조될 수 있습니다.
Camel 2.9 에서도 사용할 수 있는 기능은 URI에서 직접 구성 옵션을 설정하는 기능입니다. "clientConfig"로 시작하는 URI 매개 변수를 사용하여 AsyncHttpClientConfig 의 다양한 구성 가능한 속성을 설정할 수 있습니다. 끝점 URI에 지정된 속성은 "clientConfig" 매개변수 사용 우선 순위를 사용하여 설정되는 항목과 "clientConfig" URI 매개변수에서 참조하는 구성에 지정된 특성과 병합됩니다. 참조되는 AsyncHttpClientConfig 인스턴스는 각 엔드포인트에 대해 항상 복사되므로 하나의 끝점의 설정이 이전에 생성된 끝점의 설정과 관계없이 유지됩니다. 아래 예제에서는 "clientConfig" 유형 URI 매개 변수를 사용하여 AHC 구성 요소를 구성하는 방법을 보여줍니다.
from("direct:start")
.to("ahc:http://localhost:8080/foo?clientConfig.maxRequestRetry=3&clientConfig.followRedirects=true")
from("direct:start")
.to("ahc:http://localhost:8080/foo?clientConfig.maxRequestRetry=3&clientConfig.followRedirects=true")
3.15. SSL 지원(HTTPS) 링크 복사링크가 클립보드에 복사되었습니다!
JSSE 구성 유틸리티 사용
Camel 2.9부터 AHC 구성 요소는 Camel JSSE 구성 유틸리티를 통해 SSL/TLS 구성을 지원합니다. 이 유틸리티는 작성하는 데 필요한 구성 요소별 코드의 양을 크게 줄이고 엔드포인트 및 구성 요소 수준에서 구성할 수 있습니다. 다음 예제에서는 AHC 구성 요소에서 유틸리티를 사용하는 방법을 보여줍니다.
구성 요소의 프로그래밍 구성
끝점의 Spring DSL 기반 구성
3.16. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
4장. AHC Websocket 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.14로 사용 가능
ahc-ws 구성 요소는 Websocket을 통해 외부 서버와 통신하는 클라이언트를 위해 Websocket 기반 엔드포인트를 제공합니다(클라이언트가 외부 서버에 대한 Websocket 연결을 여는 경우).
구성 요소는 Async Http Client 라이브러리를 차례로 사용하는 AHC 구성 요소를 사용합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
4.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
ahc-ws://hostname[:port][/resourceUri][?options] ahc-wss://hostname[:port][/resourceUri][?options]
ahc-ws://hostname[:port][/resourceUri][?options]
ahc-wss://hostname[:port][/resourceUri][?options]
는 기본적으로 ahc-ws에 포트 80을 사용하고 ahc-ws에는 443 포트를 사용합니다.
4.2. AHC-WS Options 링크 복사링크가 클립보드에 복사되었습니다!
AHC-WS 구성 요소는 AHC 구성 요소의 다양한 구성 옵션을 사용할 수 있습니다.
AHC Websocket 구성 요소는 아래에 나열된 8 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 클라이언트 (고급) | 사용자 정의 AsyncHttpClient 사용 | AsyncHttpClient | |
| 바인딩 (advanced) | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. | AhcBinding | |
| clientConfig (advanced) | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. | AsyncHttpClientConfig | |
| sslContextParameters (security) | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. | SSLContextParameters | |
| JavaSerialized Object (advanced) 허용 | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 기본적으로 꺼집니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| useGlobalSslContext 매개변수 (보안) | 글로벌 SSL 컨텍스트 매개 변수의 사용을 활성화합니다. | false | boolean |
| headerFilterStrategy (filter) | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AHC Websocket 끝점은 URI 구문을 사용하여 구성됩니다.
ahc-ws:httpUri
ahc-ws:httpUri
다음 경로 및 쿼리 매개변수를 사용합니다.
4.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| httpUri | required: http://hostname:port/path과 같이 사용할 URI | URI |
4.2.2. 쿼리 매개변수(18 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bridgeEndpoint (common) | 옵션이 true인 경우 Exchange.HTTP_URI 헤더가 무시되고 요청 끝점의 URI를 사용합니다. 또한 AhcProducer가 모든 오류 응답을 다시 보낼 수 있도록 throwExceptionOnFailure를 false로 설정할 수도 있습니다. | false | boolean |
| bufferSize (일반) | Camel과 AHC Client 간에 데이터를 전송할 때 사용되는 초기 메모리 버퍼 크기입니다. | 4096 | int |
| headerFilterStrategy (common) | 사용자 지정 HeaderFilterStrategy를 사용하여 Camel 메시지와의 헤더를 필터링합니다. | HeaderFilterStrategy | |
| throwExceptionOnFailure (일반) | 원격 서버에서 응답이 실패한 경우 AhcOperationFailedException의 throw를 비활성화하는 옵션입니다. 이를 통해 HTTP 상태 코드와 관계없이 모든 응답을 얻을 수 있습니다. | true | boolean |
| transferException (일반) | 소비자 측에서 Exchange가 실패하고 발생한 Exception이 애플리케이션/x-java-serialized-object 콘텐츠 유형으로 응답에서 직렬화된 경우 (예: Jetty 또는 Servlet Camel 구성 요소 사용) 생산자 측에서 예외는 AhcOperationFailedException 대신 deserialize되고 그대로 발생합니다. 원인된 예외는 직렬화해야 합니다. 이 설정은 기본적으로 꺼져 있습니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| sendMessageOnError (consumer) | web-socket 리스너가 오류를 수신한 경우 메시지를 보낼지 여부입니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| connectionClose (producer) | Connection Close 헤더를 HTTP 요청에 추가해야 하는지 정의합니다. 이 매개변수는 기본적으로 false입니다. | false | boolean |
| cookieHandler (producer) | HTTP 세션을 유지 관리하도록 쿠키 처리기 구성 | CookieHandler | |
| Streaming(producer) 사용 | 스트리밍이 여러 개의 텍스트 조각으로 데이터를 보낼 수 있도록 합니다. | false | boolean |
| 바인딩 (advanced) | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. | AhcBinding | |
| clientConfig (advanced) | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. | AsyncHttpClientConfig | |
| clientConfigOptions (고급) | 맵의 키/값을 사용하여 AsyncHttpClientConfig를 구성하려면 다음을 수행합니다. | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| clientConfigRealmOptions (보안) | 맵의 키/값을 사용하여 AsyncHttpClientConfig Realm을 구성하려면 다음을 수행합니다. | map | |
| sslContextParameters (security) | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 참조는 구성 요소 수준에서 구성된 모든 SSLContextParameter를 재정의합니다. JSSE 구성 유틸리티 사용을 참조하십시오. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. | SSLContextParameters |
4.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.ahc-ws.allow-java-serialized-object | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 기본적으로 꺼집니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | 부울 |
| camel.component.ahc-ws.binding | AHC와 Camel 간에 바인딩하는 방법을 제어할 수 있는 사용자 지정 AhcBinding을 사용합니다. 옵션은 org.apache.camel.component.ahc.AhcBinding 유형입니다. | 문자열 | |
| camel.component.ahc-ws.client | 사용자 지정 AsyncHttpClient를 사용합니다. 옵션은 org.asynchttpclient.AsyncHttpClient 유형입니다. | 문자열 | |
| camel.component.ahc-ws.client-config | 사용자 지정 com.ning.http.client.AsyncHttpClient 인스턴스를 사용하도록 AsyncHttpClient를 구성합니다. 옵션은 org.asynchttpclient.AsyncHttpClientConfig 유형입니다. | 문자열 | |
| camel.component.ahc-ws.enabled | ahc-ws 구성 요소 활성화 | true | 부울 |
| camel.component.ahc-ws.header-filter-strategy | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. 옵션은 org.apache.camel.spi.HeaderFilterStrategy 유형입니다. | 문자열 | |
| camel.component.ahc-ws.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.ahc-ws.ssl-context-parameters | 레지스트리의 org.apache.camel.util.jsse.SSLContextParameters에 대한 참조입니다. 이 옵션을 구성하면 끝점 또는 구성 요소 수준에서 clientConfig 옵션을 통해 제공되는 모든 SSL/TLS 구성 옵션을 재정의합니다. 옵션은 org.apache.camel.util.jsse.SSLContextParameters 유형입니다. | 문자열 | |
| camel.component.ahc-ws.use-global-ssl-context-parameters | 글로벌 SSL 컨텍스트 매개 변수의 사용을 활성화합니다. | false | 부울 |
4.4. Websocket을 통한 데이터 쓰기 및 읽기 링크 복사링크가 클립보드에 복사되었습니다!
ahc-ws 끝점은 엔드포인트가 생산자 또는 소비자로 구성되어 있는지 여부에 따라 소켓에 데이터를 쓰거나 소켓에서 읽을 수 있습니다.
4.5. 데이터를 쓰거나 읽을 URI 구성 링크 복사링크가 클립보드에 복사되었습니다!
아래 경로에서 Camel은 지정된 websocket 연결에 씁니다.
from("direct:start")
.to("ahc-ws://targethost");
from("direct:start")
.to("ahc-ws://targethost");
다음과 같은 Spring 샘플이 있습니다.
아래 경로에서 Camel은 지정된 websocket 연결에서 읽습니다.
from("ahc-ws://targethost")
.to("direct:next");
from("ahc-ws://targethost")
.to("direct:next");
다음과 같은 Spring 샘플이 있습니다.
4.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AHC
- Atmosphere-Websocket
5장. AMQP 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 1.2로 사용 가능
amqp: 구성 요소는 Qpid 프로젝트의 JMS 클라이언트 API를 사용하여 AMQP 1.0 프로토콜 을 지원합니다. AMQP 0.9(특히 RabbitMQ)를 사용하려는 경우 Camel RabbitMQ 구성 요소에도 관심이 있을 수 있습니다. Camel 2.17.0 AMQP 구성 요소가 AMQP 0.9 이상을 지원하기 전에 먼저 Camel 2.17.0은 AMQP 1.0만 지원했습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-amqp</artifactId>
<version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-amqp</artifactId>
<version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>
5.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
amqp:[queue:|topic:]destinationName[?options]
amqp:[queue:|topic:]destinationName[?options]
5.2. AMQP 옵션 링크 복사링크가 클립보드에 복사되었습니다!
대상 이름 뒤에 JMS 구성 요소의 모든 다양한 구성 옵션을 지정할 수 있습니다.
AMQP 구성 요소는 아래에 나열된 81 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | 공유 JMS 구성 사용 | JmsConfiguration | |
| acceptMessages whilee Stopping (consumer) | 소비자가 중지되는 동안 메시지를 수락하는지 여부를 지정합니다. 대기열에 포함된 메시지가 여전히 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는 재전송을 시도해야 하지만 다시 거부될 수 있으며 결국 메시지가 JMS 브로커의 dead letter 큐에서 이동될 수 있습니다. 이 옵션을 사용하려면 이 옵션을 사용하는 것이 좋습니다. | false | boolean |
| allowReplyManagerQuick Stop (consumer) | 응답 관리자에서 request-reply 메시징에 사용된 DefaultMessageListenerContainer에 사용된지 여부에 따라 JmsConfiguration#isAcceptMessages whileeStopping이 활성화되어 있고 org.apache.camel.CamelContext가 현재 중지된 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자를 위해 이 플래그를 활성화해야 합니다. | false | boolean |
| acknowledgementMode (consumer) | Integer로 정의된 JMS 승인 모드입니다. 벤더별 확장을 acknowledgment 모드로 설정할 수 있습니다. 일반 모드에서는 acknowledgementModeName을 대신 사용하는 것이 좋습니다. | int | |
| ReLoadingOf Properties (Consumer) | JMS 속성이 필요하지 않기 때문에 일반적으로 비효율적인 메시지가 로드되는 즉시 JMS 속성을 신속하게 로드할 수 있지만 기본 JMS 공급자 및 JMS 속성 사용과 관련된 문제를 조기에 포착할 수 있습니다. | false | boolean |
| acknowledgementModeName (consumer) | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | AUTO_ ACKNOWLEDGE | 문자열 |
| AutoStartup (consumer) | 소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다. | true | boolean |
| cacheLevel (consumer) | 기본 JMS 리소스의 ID별 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오. | int | |
| cacheLevelName (consumer) | 기본 JMS 리소스의 이름으로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE 및 CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
| replyToCacheLevelName (producer) | JMS를 통해 요청/반복을 수행할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 배타적 또는 공유 w/ replyToSelectorName에 대해 CACHE_CONSUMER를 사용합니다. 그리고 replyToSelectorName 없이 공유의 경우 CACHE_SESSION을 사용합니다. IBM WebSphere와 같은 일부 JMS 브로커는 작동하도록 replyToCacheLevelName=CACHE_NONE을 설정해야 할 수 있습니다. 참고: 임시 대기열을 사용하는 경우 CACHE_NONE이 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
| clientID( 일반) | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 내구성 주제 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용할 수 있습니다. | 문자열 | |
| concurrentConsumers (consumer) | JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 1 | int |
| replyToConcurrent Consumers (producer) | JMS를 통해 요청/reply를 수행할 때 기본 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 1 | int |
| ConnectionFactory (일반) | 사용할 연결 팩토리입니다. 구성 요소 또는 끝점에서 연결 팩토리를 구성해야 합니다. | ConnectionFactory | |
| 사용자 이름 (보안) | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| 암호 (보안) | ConnectionFactory에 사용할 암호입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| deliveryPersistent (producer) | 기본적으로 영구 제공이 사용되는지 여부를 지정합니다. | true | boolean |
| deliveryMode (producer) | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode에서 정의한 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
| durableSubscriptionName (common) | 내구성 주제 서브스크립션을 지정하기 위한 내구성 있는 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
| exceptionListener (advanced) | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. | ExceptionListener | |
| errorHandler (advanced) | 메시지를 처리하는 동안 throw되지 않은 예외의 경우 호출될 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 errorHandler가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준 및 스택 추적을 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 기록해야 하는지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 지정 오류 처리기를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다.This makes it much easier to configure, than having to code a custom errorHandler. | ErrorHandler | |
| errorHandlerLogging Level (logging) | 은 로깅되지 않은 예외에 대해 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | WARN | LoggingLevel |
| errorHandlerLogStack Trace (logging) | 기본 errorHandler로 stacktrace를 기록해야 하는지 여부를 제어할 수 있습니다. | true | boolean |
| explicitQosEnabled (producer) | 메시지를 보낼 때 서비스의 deliveryMode, 우선순위 또는 timeToLive 특성을 사용해야 하는 경우 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority 및 timeToLive 옵션이 현재 엔드포인트에 적용됩니다. 이는 메시지 세분화에서 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서만 QoS 속성을 읽습니다. | false | boolean |
| exposeListenerSession (consumer) | 메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다. | false | boolean |
| idleTaskExecutionLimit (advanced) | 수신 작업의 유휴 실행에 대한 제한을 지정하고 해당 실행 내에 메시지를 받지 못했습니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 작업에 대한 수신을 그대로 둡니다(동적 스케줄링의 경우 maxConcurrentConsumers 설정을 참조). Spring에서 사용할 수 있는 추가 doc가 있습니다. | 1 | int |
| idleConsumerLimit (advanced) | 언제든지 유휴 상태일 수 있는 소비자 수에 대한 제한을 지정합니다. | 1 | int |
| maxConcurrentConsumers (Consumer) | JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToMaxConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | int | |
| replyToMaxConcurrent Consumers (producer) | JMS에서 요청/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | int | |
| replyOnTimeoutToMax ConcurrentConsumers (producer) | JMS를 통해 요청/reply를 사용할 때 시간 초과가 발생한 경우 계속 라우팅할 수 있는 최대 동시 소비자 수를 지정합니다. | 1 | int |
| maxMessagesPerTask (advanced) | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자에 범위(예: max)를 사용하는 경우 이 옵션을 사용하여 더 적은 작업이 필요할 때 소비자의 속도를 축소하는 방법을 제어하기 위해 값을 100으로 설정할 수 있습니다. | -1 | int |
| messageConverter (advanced) | 사용자 지정 Spring org.springframework.jms.support.converter.MessageConverter를 사용하려면 javax.jms.Message에 매핑할 수 있는 방법을 제어할 수 있습니다. | MessageConverter | |
| mapJmsMessage (advanced) | Camel이 수신된 JMS 메시지를 javax.jms.TextMessage와 같은 적절한 페이로드 유형에 자동 매핑해야 하는지 여부를 문자열 등에 지정합니다. | true | boolean |
| messageIdEnabled (advanced) | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 메시지 ID가 null로 설정되어야 합니다. 공급자가 힌트를 무시하는 경우 메시지 ID를 일반 고유 값으로 설정해야 합니다. | true | boolean |
| messageTimestampEnabled (advanced) | 메시지 전송 시 기본적으로 타임스탬프를 활성화할지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 타임스탬프가 0으로 설정되어야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 정규 값으로 설정해야 합니다. | true | boolean |
| alwaysCopyMessage (producer) | true인 경우 Camel은 전송을 위해 생산자에 전달될 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 데 필요한 경우 Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정합니다. | false | boolean |
| useMessageIDAs CorrelationID (advanced) | JMSMessageID를 항상 InOut 메시지의 JMSCorrelationID로 사용할지 여부를 지정합니다. | false | boolean |
| 우선 순위 (producer) | 1보다 큰 값은 보낼 때 메시지 우선 순위를 지정합니다(여기서 0이 가장 낮은 우선 순위이고 9가 가장 높은 경우). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다. | 4 | int |
| pubSubNoLocal (advanced) | 자체 연결에서 게시한 메시지 배달을 금지할지 여부를 지정합니다.Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean |
| receiveTimeout (advanced) | 메시지 수신 시간(밀리초)입니다. | 1000 | long |
| 복구Interval (advanced) | 연결이 새로 고쳐질 때(즉, 밀리초) 복구 시도 사이의 간격을 지정합니다. 기본값은 5000ms, 즉 5초입니다. | 5000 | long |
| taskExecutor (consumer) | 메시지를 사용하기 위한 사용자 지정 작업 executor를 지정할 수 있습니다. | TaskExecutor | |
| deliveryDelay (producer) | JMS에 대한 전송 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다. | -1 | long |
| TimeToLive (producer) | 메시지를 보낼 때 메시지의 TTL(밀리초)을 지정합니다. | -1 | long |
| 트랜잭션(Transaction acted ) | transacted 모드를 사용할지 여부를 지정합니다. | false | boolean |
| lazyCreateTransaction Manager (transaction) | true인 경우 Camel은 옵션을 transacted=true할 때 삽입된 transactionManager가 없는 경우 JmsTransactionManager를 생성합니다. | true | boolean |
| TransactionManager (transaction) | 사용할 Spring 트랜잭션 관리자입니다. | PlatformTransaction Manager | |
| transactionName (transaction) | 사용할 트랜잭션의 이름입니다. | 문자열 | |
| TransactionTimeout (transaction) | 트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 초과 값(초 단위)입니다. | -1 | int |
| testConnectionOn 시작 (일반) | 시작 시 연결을 테스트할지 여부를 지정합니다.Specifies whether to test the connection on startup. 이를 통해 Camel이 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결을 시작하게 합니다. 연결을 허용할 수 없는 경우 Camel은 시작 시 예외를 throw합니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트 중입니다. | false | boolean |
| asyncStartListener (advanced) | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기적으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 대한 연결을 가져올 수 없는 경우 재시도 및/또는 페일오버를 시도하는 동안 차단될 수 있습니다. 이로 인해 Camel이 경로를 시작하는 동안 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 지정할 수 있습니다. 이 옵션을 사용하면 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자는 메시지를 수신할 수 없습니다. 그런 다음 다시 시도하도록 경로를 다시 시작할 수 있습니다. | false | boolean |
| asyncStopListener (advanced) | 경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기적으로 중지할지 여부입니다. | false | boolean |
| forceSendOriginal Message (producer) | mapJmsMessage=false Camel을 사용하면 경로 중 헤더를 만났을 때 새 JMS 대상에 보낼 새 JMS 메시지가 생성됩니다. 수신한 원래 JMS 메시지를 전송하도록 Camel을 강제 적용하려면 이 옵션을 true로 설정합니다. | false | boolean |
| requestTimeout (producer) | InOut Exchange Pattern(밀리초)을 사용할 때 응답을 기다리는 시간 초과입니다. 기본값은 20초입니다. 이 엔드포인트 구성 시간 값을 재정의하기 위해 CamelJmsRequestTimeout 헤더를 포함할 수 있으므로 메시지당 개별 시간 제한 값이 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오. | 20000 | long |
| requestTimeoutChecker Interval (advanced) | Camel이 JMS를 통해 요청/반복 시 Exchange 시간 초과를 확인하는 빈도를 설정합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 제한은 옵션 requestTimeout에 따라 결정됩니다. | 1000 | long |
| transferExchange (advanced) | 당신은 단지 바디와 헤더 대신 전선을 통해 교환을 전송할 수 있습니다. 다음 필드가 전송됩니다. 본문, 외부 본문, Fault 본문, 헤더, 외부 헤더, Fault 헤더, 교환 속성, 교환 예외. 이렇게 하려면 개체가 직렬화 가능 해야 합니다.This requires that the objects are serializable. Camel은 non-serializable 오브젝트를 제외하고 WARN 수준에서 로깅합니다. 제작자와 소비자 측에서 이 옵션을 모두 활성화해야 하므로 Camel은 페이로드가 Exchange이고 일반 페이로드가 아닌 Exchange임을 알고 있습니다. | false | boolean |
| transferException (advanced) | 활성화되고 소비자 측면에서 Request Reply messaging(InOut)을 사용하고 Exchange 실패를 사용하는 경우 원인 Exception이 다시 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception은 rethrown입니다. 이를 통해 라우팅에서 Camel JMS를 브리지로 사용할 수 있습니다. 예를 들어 영구 대기열을 사용하여 강력한 라우팅을 활성화할 수 있습니다. 또한 transferExchange를 사용하도록 설정한 경우 이 옵션이 우선합니다. catch 예외는 직렬화 가능 해야 합니다.The caught exception is required to be serializable. 소비자 측의 원래 예외는 생산자로 반환될 때 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다. | false | boolean |
| transferFault (advanced) | 활성화된 경우 Request Reply messaging (InOut)을 사용하고 Exchange가 소비자 측에서 SOAP 오류 ( exception 아님)와 함께 실패한 경우 Message#isFault()의 오류 플래그는 키 org.apache.camel.component.jmsConstel.jms.JmsConstants.jmsConstants.jmsConstants.jmsConstants#FATRANTER_FATRANTER_FATRANTER_JMST_TRANTER_FATER_JMS_TRANTER_FATERS. JMS 헤더로 다시 전송될 것입니다. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. Cxf 또는 Spring-ws와 같은 SOAP과 같은 결함을 지원하는 Camel 구성 요소를 사용할 때 이를 활성화할 수 있습니다. | false | boolean |
| jmsOperations (advanced) | org.springframework.jms.core.JmsOperations 인터페이스의 자체 구현을 사용할 수 있습니다. Camel은 JmsTemplate을 기본값으로 사용합니다. 테스트 목적으로 사용할 수 있지만 스프링 API 문서에 명시된 대로 많이 사용되지는 않습니다. | JmsOperations | |
| destinationResolver (advanced) | 고유한 확인자를 사용할 수 있는 플러그형 org.springframework.jms.support.DestinationResolver(예: JNDI 레지스트리에서 실제 대상을 조회하기 위해). | DestinationResolver | |
| replyToType (producer) | 를 사용하면 JMS를 통해 요청/reply를 수행할 때 replyTo 큐에 사용할 유형의 전략을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 전용 대기열을 사용할 수 있습니다. 자세한 내용은 Camel JMS 설명서를 참조하십시오. 특히 클러스터형 환경에서 실행 중인 경우 미치는 영향에 대한 참고 사항 및 공유 응답 대기열이 대체 시간 및 필수 값보다 성능이 낮다는 사실에서 참조하십시오. | ReplyToType | |
| preserveMessageQos (producer) | JMS 끝점의 QoS 설정이 아니라 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 엔드포인트의 값을 사용하도록 대체합니다. 따라서 이 옵션을 사용하면 헤더가 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 끝점에 설정된 옵션만 사용합니다. | false | boolean |
| asyncConsumer (Consumer) | JmsConsumer가 Exchange를 비동기적으로 처리하는지 여부입니다. 활성화된 경우 JmsConsumer는 이전 메시지가 비동기적으로(Asynchronous Routing Engine에 의해) 비동기적으로 처리되는 동안 JMS 대기열에서 다음 메시지를 선택할 수 있습니다. 즉, 메시지가 100% 엄격하게 정렬되어 처리되지 않을 수 있습니다. 비활성화된 경우 Exchange는 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택하기 전에 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션이 동기적으로 실행되어야 하므로 비동기Consumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0은 비동기 트랜잭션을 지원할 수 있음). | false | boolean |
| allownullBody (producer) | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | boolean |
| includeSentJMS MessageID (producer) | InOnly(예: fire 및 forget)를 사용하여 JMS 대상으로 보낼 때만 적용됩니다. 이 옵션을 사용하면 메시지가 JMS 대상으로 전송될 때 JMS 클라이언트에서 사용하는 실제 JMSMessageID로 Camel Exchange가 강화됩니다. | false | boolean |
| include allJMSX Properties (advanced) | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 지정 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다. | false | boolean |
| defaultTaskExecutor 유형 (consumer) | 소비자 끝점과 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync (SAP의 SimpleAsyncTaskExecutor) 또는 ThreadPool (s Spring의 ThreadPoolTaskExecutor 사용) - 캐시된 threadpool-like입니다. 설정하지 않으면 기본적으로 소비자 엔드포인트에 대해 캐시된 스레드 풀을 사용하고 응답 소비자에게 SimpleAsync를 사용하는 이전 동작으로 설정됩니다. ThreadPool은 동적으로 늘어나고 동시 소비자를 줄이는 탄력적 구성의 스레드 쓰레기를 줄이는 것이 좋습니다. | DefaultTaskExecutor Type | |
| jmsKeyFormatStrategy (advanced) | JMS 사양을 준수하는 데 사용할 수 있도록 JMS 키를 인코딩 및 디코딩하는 플러그인 전략입니다. Camel은 기본 및 패스스루의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈을 안전하게 마샬링합니다(. 및 -). 통과 전략은 다음과 같이 키를 남겨 둡니다. JMS 헤더 키에 불법 문자가 포함되어 있는지 여부를 고려하지 않는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | JmsKeyFormatStrategy | |
| additional Headers(producer) 허용 | 이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있을 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 잘못된 유형의 값이 포함된 접두사 JMS_IBM_MQMD_를 사용하여 헤더 이름으로 이 작업을 수행합니다. 여러 헤더 이름을 쉼표로 구분하여 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다. | 문자열 | |
| queueBrowseStrategy (advanced) | 큐를 탐색할 때 사용자 정의 QueueBrowseStrategy 사용 | QueueBrowseStrategy | |
| messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 Camel이 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
| waitForrelationToBeUpdated Counter (advanced) | JMS를 통해 요청/응답할 때 및 useMessageIDAsCorrelationID 옵션이 활성화된 경우 provisional correlation id가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | int |
| waitForrelationToBeUpdated ThreadSleepingTime (advanced) | 프로비저닝 상관 ID가 업데이트될 때까지 기다리는 동안 밀리코어가 잠기지 않는 간격입니다. | 100 | long |
| correlationProperty (producer) | 이 JMS 속성을 사용하여 JMSCorrelationID 속성 대신 InOut exchange 패턴(request-reply) 메시지의 상관 관계를 유지할 수 있습니다. 이렇게 하면 JMSCorrelationID JMS 속성을 사용하여 메시지의 상관 관계가 없는 시스템과 메시지를 교환할 수 있습니다. 사용된 JMSCorrelationID는 Camel에 의해 사용되거나 설정되지 않습니다. 이 속성의 값은 동일한 이름의 메시지 헤더에 제공되지 않는 경우 생성됩니다. | 문자열 | |
| SubscriptionDurable (consumer) | 서브스크립션의 내구성을 유지할지 여부를 설정합니다. 사용할 내구성 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 사용 가능한 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. | false | boolean |
| subscriptionShared (consumer) | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 내구성이 있을 수 있으므로 이 플래그도 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | boolean |
| subscriptionName (consumer) | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 내구성이 있는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: JMS 2.0이 필요한 공유 서브스크립션을 제외하고 각 서브스크립션에 대해 1개의 동시 소비자(이 기본값은 이 메시지 리스너 컨테이너)만 허용됩니다. | 문자열 | |
| streamMessageType Enabled (producer) | StreamMessage 유형이 활성화되어 있는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 종류의 메시지 페이로드는 BytesMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로 BytesMessage는 전체 메시지 페이로드를 메모리로 읽어오도록 적용하는 데 사용됩니다. 이 옵션을 활성화하면 메시지 페이로드가 청크의 메모리에 판독되고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 작성됩니다. | false | boolean |
| formatDateHeadersTo Iso8601 (producer) | ISO 8601 표준에 따라 날짜 헤더를 포맷해야 하는지 여부를 설정합니다. | false | boolean |
| headerFilterStrategy (filter) | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AMQP 엔드포인트는 URI 구문을 사용하여 구성됩니다.
amqp:destinationType:destinationName
amqp:destinationType:destinationName
다음 경로 및 쿼리 매개변수를 사용합니다.
5.2.1. 경로 매개 변수(2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| destinationType | 사용할 대상의 종류 | queue | 문자열 |
| destinationName | 대상으로 사용할 큐 또는 항목의 이름입니다.The name of the queue or topic to use as destination | 문자열 |
5.2.2. 쿼리 매개변수(92 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| clientID( 일반) | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 내구성 주제 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용할 수 있습니다. | 문자열 | |
| ConnectionFactory (일반) | 사용할 연결 팩토리입니다. 구성 요소 또는 끝점에서 연결 팩토리를 구성해야 합니다. | ConnectionFactory | |
| disableReplyTo (common) | Camel이 메시지의 JMSReplyTo 헤더를 무시할지 여부를 지정합니다. true인 경우 Camel은 JMSReplyTo 헤더에 지정된 대상으로 회신을 다시 보내지 않습니다. Camel을 경로에서 사용하고 Camel이 자동으로 응답 메시지를 처리하므로 응답 메시지를 처리하도록 하려면 이 옵션을 사용할 수 있습니다. Camel을 다른 메시지 브로커 간에 프록시로 사용하고 한 시스템에서 다른 시스템으로 메시지를 라우팅하려는 경우에도 이 옵션을 사용할 수 있습니다. | false | boolean |
| durableSubscriptionName (common) | 내구성 주제 서브스크립션을 지정하기 위한 내구성 있는 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
| jmsMessageType (common) | JMS 메시지를 전송하기 위해 특정 javax.jms.Message 구현을 강제로 사용할 수 있습니다. 가능한 값은 Bytes, Map, Object, Stream, Text입니다. 기본적으로 Camel은 본문 유형에서 사용할 JMS 메시지 유형을 결정합니다. 이 옵션을 사용하면 지정할 수 있습니다. | JmsMessageType | |
| testConnectionOnStartup (일반) | 시작 시 연결을 테스트할지 여부를 지정합니다.Specifies whether to test the connection on startup. 이를 통해 Camel이 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결을 시작하게 합니다. 연결을 허용할 수 없는 경우 Camel은 시작 시 예외를 throw합니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트 중입니다. | false | boolean |
| acknowledgementModeName (consumer) | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | AUTO_ ACKNOWLEDGE | 문자열 |
| asyncConsumer (Consumer) | JmsConsumer가 Exchange를 비동기적으로 처리하는지 여부입니다. 활성화된 경우 JmsConsumer는 이전 메시지가 비동기적으로(Asynchronous Routing Engine에 의해) 비동기적으로 처리되는 동안 JMS 대기열에서 다음 메시지를 선택할 수 있습니다. 즉, 메시지가 100% 엄격하게 정렬되어 처리되지 않을 수 있습니다. 비활성화된 경우 Exchange는 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택하기 전에 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션이 동기적으로 실행되어야 하므로 비동기Consumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0은 비동기 트랜잭션을 지원할 수 있음). | false | boolean |
| AutoStartup (consumer) | 소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다. | true | boolean |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| cacheLevel (consumer) | 기본 JMS 리소스의 ID별 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오. | int | |
| cacheLevelName (consumer) | 기본 JMS 리소스의 이름으로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE 및 CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
| concurrentConsumers (consumer) | JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 1 | int |
| maxConcurrentConsumers (Consumer) | JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToMaxConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | int | |
| 응답 대상 (consumer) | Message.getJMSReplyTo()의 들어오는 값을 재정의하는 명시적 ReplyTo 대상을 제공합니다. | 문자열 | |
| replyToDeliveryPersistent (consumer) | 응답에 대해 기본적으로 영구 전달을 사용할지 여부를 지정합니다. | true | boolean |
| 선택기 (소비자) | 사용할 JMS 선택기 설정 | 문자열 | |
| SubscriptionDurable (consumer) | 서브스크립션의 내구성을 유지할지 여부를 설정합니다. 사용할 내구성 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 사용 가능한 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. | false | boolean |
| subscriptionName (consumer) | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 내구성이 있는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: JMS 2.0이 필요한 공유 서브스크립션을 제외하고 각 서브스크립션에 대해 1개의 동시 소비자(이 기본값은 이 메시지 리스너 컨테이너)만 허용됩니다. | 문자열 | |
| subscriptionShared (consumer) | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 내구성이 있을 수 있으므로 이 플래그도 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | boolean |
| acceptMessages whileeStopping (consumer) | 소비자가 중지되는 동안 메시지를 수락하는지 여부를 지정합니다. 대기열에 포함된 메시지가 여전히 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는 재전송을 시도해야 하지만 다시 거부될 수 있으며 결국 메시지가 JMS 브로커의 dead letter 큐에서 이동될 수 있습니다. 이 옵션을 사용하려면 이 옵션을 사용하는 것이 좋습니다. | false | boolean |
| allowReplyManagerQuickStop (consumer) | 응답 관리자에서 request-reply 메시징에 사용된 DefaultMessageListenerContainer에 사용된지 여부에 따라 JmsConfiguration#isAcceptMessages whileeStopping이 활성화되어 있고 org.apache.camel.CamelContext가 현재 중지된 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자를 위해 이 플래그를 활성화해야 합니다. | false | boolean |
| consumerType (consumer) | 사용할 소비자 유형은 Simple, Default 또는 Custom 중 하나일 수 있습니다. 소비자 유형은 사용할 Spring JMS 리스너를 결정합니다. 기본값은 org.springframework.jms.listener.DefaultMessageListenerContainer를 사용하며 Simple은 org.springframework.jms.listener.SimpleMessageListenerContainer를 사용합니다. Custom이 지정되면 messageListenerContainerFactory 옵션에 의해 정의된 MessageListenerContainerFactory는 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정합니다. | 기본값 | ConsumerType |
| defaultTaskExecutorType (consumer) | 소비자 끝점과 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync (SAP의 SimpleAsyncTaskExecutor) 또는 ThreadPool (s Spring의 ThreadPoolTaskExecutor 사용) - 캐시된 threadpool-like입니다. 설정하지 않으면 기본적으로 소비자 엔드포인트에 대해 캐시된 스레드 풀을 사용하고 응답 소비자에게 SimpleAsync를 사용하는 이전 동작으로 설정됩니다. ThreadPool은 동적으로 늘어나고 동시 소비자를 줄이는 탄력적 구성의 스레드 쓰레기를 줄이는 것이 좋습니다. | DefaultTaskExecutor Type | |
| eagerLoadingOfProperties (consumer) | 메시지가 로드되는 즉시 JMS 속성 및 페이로드를 신속하게 로드할 수 있습니다. 이 경우 JMS 속성이 필요하지 않기 때문에 일반적으로 비효율적일 수 있지만 기본 JMS 공급자 및 JMS 속성의 사용 문제를 조기에 포착할 수 있습니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| exposeListenerSession (consumer) | 메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다. | false | boolean |
| replyToSameDestination Allowed (consumer) | JMS 소비자가 소비자가 사용할 때 사용하는 것과 동일한 대상으로 응답 메시지를 보낼 수 있는지 여부입니다. 이를 통해 무한 루프를 사용하지 않도록 하고 동일한 메시지를 자체에 보냅니다.This prevents an endless loop by consuming and sending back the same message to itself. | false | boolean |
| taskExecutor (consumer) | 메시지를 사용하기 위한 사용자 지정 작업 executor를 지정할 수 있습니다. | TaskExecutor | |
| deliveryDelay (producer) | JMS에 대한 전송 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다. | -1 | long |
| deliveryMode (producer) | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode에서 정의한 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
| deliveryPersistent (producer) | 기본적으로 영구 제공이 사용되는지 여부를 지정합니다. | true | boolean |
| explicitQosEnabled (producer) | 메시지를 보낼 때 서비스의 deliveryMode, 우선순위 또는 timeToLive 특성을 사용해야 하는 경우 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority 및 timeToLive 옵션이 현재 엔드포인트에 적용됩니다. 이는 메시지 세분화에서 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서만 QoS 속성을 읽습니다. | false | 부울 |
| formatDateHeadersToIso8601 (producer) | ISO 8601 표준에 따라 JMS 날짜 속성을 포맷해야 하는지 여부를 설정합니다. | false | boolean |
| preserveMessageQos (producer) | JMS 끝점의 QoS 설정이 아니라 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 엔드포인트의 값을 사용하도록 대체합니다. 따라서 이 옵션을 사용하면 헤더가 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 끝점에 설정된 옵션만 사용합니다. | false | boolean |
| 우선 순위 (producer) | 1보다 큰 값은 보낼 때 메시지 우선 순위를 지정합니다(여기서 0이 가장 낮은 우선 순위이고 9가 가장 높은 경우). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다. | 4 | int |
| replyToConcurrentConsumers (producer) | JMS를 통해 요청/reply를 수행할 때 기본 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 1 | int |
| replyToMaxConcurrent Consumers (producer) | JMS에서 요청/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | int | |
| replyToOnTimeoutMax ConcurrentConsumers (producer) | JMS를 통해 요청/reply를 사용할 때 시간 초과가 발생한 경우 계속 라우팅할 수 있는 최대 동시 소비자 수를 지정합니다. | 1 | int |
| replyToOverride (producer) | JMS 메시지에서 명시적 ReplyTo 대상을 제공하여 replyTo 설정을 재정의합니다. 메시지를 원격 대기열로 전달하고 ReplyTo 대상에서 응답 메시지를 수신하려는 경우 유용합니다. | 문자열 | |
| replyToType (producer) | 를 사용하면 JMS를 통해 요청/reply를 수행할 때 replyTo 큐에 사용할 유형의 전략을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 전용 대기열을 사용할 수 있습니다. 자세한 내용은 Camel JMS 설명서를 참조하십시오. 특히 클러스터형 환경에서 실행 중인 경우 미치는 영향에 대한 참고 사항 및 공유 응답 대기열이 대체 시간 및 필수 값보다 성능이 낮다는 사실에서 참조하십시오. | ReplyToType | |
| requestTimeout (producer) | InOut Exchange Pattern(밀리초)을 사용할 때 응답을 기다리는 시간 초과입니다. 기본값은 20초입니다. 이 엔드포인트 구성 시간 값을 재정의하기 위해 CamelJmsRequestTimeout 헤더를 포함할 수 있으므로 메시지당 개별 시간 제한 값이 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오. | 20000 | long |
| TimeToLive (producer) | 메시지를 보낼 때 메시지의 TTL(밀리초)을 지정합니다. | -1 | long |
| additional Headers(producer) 허용 | 이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있을 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 잘못된 유형의 값이 포함된 접두사 JMS_IBM_MQMD_를 사용하여 헤더 이름으로 이 작업을 수행합니다. 여러 헤더 이름을 쉼표로 구분하여 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다. | 문자열 | |
| allownullBody (producer) | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | boolean |
| alwaysCopyMessage (producer) | true인 경우 Camel은 전송을 위해 생산자에 전달될 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 데 필요한 경우 Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정합니다. | false | boolean |
| correlationProperty (producer) | InOut 교환 패턴을 사용하는 경우 JMSCorrelationID JMS 속성 대신 이 JMS 속성을 사용하여 메시지를 서로 연관시킵니다. 설정 메시지가 이 속성의 값에만 상관되는 경우 JMSCorrelationID 속성은 무시되고 Camel에 의해 설정되지 않습니다. | 문자열 | |
| disableTimeToLive (producer) | 이 옵션을 사용하여 실행 중인 시간을 강제 비활성화하십시오. 예를 들어 JMS를 요청/재정하는 경우 Camel은 기본적으로 requestTimeout 값을 전송 중인 메시지 라이브 시간으로 사용합니다. 문제는 발신자와 수신자 시스템이 시계를 동기화해야 하므로 시계가 동기화되어 있다는 것입니다. 항상 압축하기가 쉽지는 않습니다. so you can use disableTimeToLive=true to not set a time to live value on the sent message. 그러면 메시지가 수신자 시스템에서 만료되지 않습니다. 자세한 내용은 아래 섹션을 참조하십시오. | false | boolean |
| forceSendOriginalMessage (producer) | mapJmsMessage=false Camel을 사용하면 경로 중 헤더를 만났을 때 새 JMS 대상에 보낼 새 JMS 메시지가 생성됩니다. 수신한 원래 JMS 메시지를 전송하도록 Camel을 강제 적용하려면 이 옵션을 true로 설정합니다. | false | boolean |
| includeSentJMSMessageID (producer) | InOnly(예: fire 및 forget)를 사용하여 JMS 대상으로 보낼 때만 적용됩니다. 이 옵션을 사용하면 메시지가 JMS 대상으로 전송될 때 JMS 클라이언트에서 사용하는 실제 JMSMessageID로 Camel Exchange가 강화됩니다. | false | boolean |
| replyToCacheLevelName (producer) | JMS를 통해 요청/반복을 수행할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 배타적 또는 공유 w/ replyToSelectorName에 대해 CACHE_CONSUMER를 사용합니다. 그리고 replyToSelectorName 없이 공유의 경우 CACHE_SESSION을 사용합니다. IBM WebSphere와 같은 일부 JMS 브로커는 작동하도록 replyToCacheLevelName=CACHE_NONE을 설정해야 할 수 있습니다. 참고: 임시 대기열을 사용하는 경우 CACHE_NONE이 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
| replyToDestinationSelector 이름 (producer) | 공유 대기열을 사용할 때(즉, 임시 응답 대기열을 사용하지 않는 경우) 다른 이름에서 자체 응답을 필터링할 수 있도록 사용할 고정 이름을 사용하여 JMS Selector를 설정합니다. | 문자열 | |
| streamMessageTypeEnabled (producer) | StreamMessage 유형이 활성화되어 있는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 종류의 메시지 페이로드는 BytesMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로 BytesMessage는 전체 메시지 페이로드를 메모리로 읽어오도록 적용하는 데 사용됩니다. 이 옵션을 활성화하면 메시지 페이로드가 청크의 메모리에 판독되고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 작성됩니다. | false | boolean |
| allowSerializedHeaders (advanced) | 직렬화된 헤더를 포함할지 여부를 제어합니다. 이는 transferExchange가 true인 경우에만 적용됩니다. 이렇게 하려면 개체가 직렬화 가능 해야 합니다.This requires that the objects are serializable. Camel은 non-serializable 오브젝트를 제외하고 WARN 수준에서 로깅합니다. | false | boolean |
| asyncStartListener (advanced) | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기적으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 대한 연결을 가져올 수 없는 경우 재시도 및/또는 페일오버를 시도하는 동안 차단될 수 있습니다. 이로 인해 Camel이 경로를 시작하는 동안 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 지정할 수 있습니다. 이 옵션을 사용하면 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자는 메시지를 수신할 수 없습니다. 그런 다음 다시 시도하도록 경로를 다시 시작할 수 있습니다. | false | boolean |
| asyncStopListener (advanced) | 경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기적으로 중지할지 여부입니다. | false | boolean |
| destinationResolver (advanced) | 고유한 확인자를 사용할 수 있는 플러그형 org.springframework.jms.support.DestinationResolver(예: JNDI 레지스트리에서 실제 대상을 조회하기 위해). | DestinationResolver | |
| errorHandler (advanced) | 메시지를 처리하는 동안 throw되지 않은 예외의 경우 호출될 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 errorHandler가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준 및 스택 추적을 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 기록해야 하는지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 지정 오류 처리기를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다.This makes it much easier to configure, than having to code a custom errorHandler. | ErrorHandler | |
| exceptionListener (advanced) | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. | ExceptionListener | |
| headerFilterStrategy (advanced) | 사용자 지정 HeaderFilterStrategy를 사용하여 Camel 메시지와의 헤더를 필터링합니다. | HeaderFilterStrategy | |
| idleConsumerLimit (advanced) | 언제든지 유휴 상태일 수 있는 소비자 수에 대한 제한을 지정합니다. | 1 | int |
| idleTaskExecutionLimit (advanced) | 수신 작업의 유휴 실행에 대한 제한을 지정하고 해당 실행 내에 메시지를 받지 못했습니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 작업에 대한 수신을 그대로 둡니다(동적 스케줄링의 경우 maxConcurrentConsumers 설정을 참조). Spring에서 사용할 수 있는 추가 doc가 있습니다. | 1 | int |
| includeAllJMSXProperties (advanced) | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 지정 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다. | false | boolean |
| jmsKeyFormatStrategy (advanced) | JMS 사양을 준수하는 데 사용할 수 있도록 JMS 키를 인코딩 및 디코딩하는 플러그인 전략입니다. Camel은 기본 및 패스스루의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈을 안전하게 마샬링합니다(. 및 -). 통과 전략은 다음과 같이 키를 남겨 둡니다. JMS 헤더 키에 불법 문자가 포함되어 있는지 여부를 고려하지 않는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | 문자열 | |
| mapJmsMessage (advanced) | Camel이 수신된 JMS 메시지를 javax.jms.TextMessage와 같은 적절한 페이로드 유형에 자동 매핑해야 하는지 여부를 문자열 등에 지정합니다. | true | boolean |
| maxMessagesPerTask (advanced) | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자에 범위(예: max)를 사용하는 경우 이 옵션을 사용하여 더 적은 작업이 필요할 때 소비자의 속도를 축소하는 방법을 제어하기 위해 값을 100으로 설정할 수 있습니다. | -1 | int |
| messageConverter (advanced) | 사용자 지정 Spring org.springframework.jms.support.converter.MessageConverter를 사용하려면 javax.jms.Message에 매핑할 수 있는 방법을 제어할 수 있습니다. | MessageConverter | |
| messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 Camel이 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
| messageIdEnabled (advanced) | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 메시지 ID가 null로 설정되어야 합니다. 공급자가 힌트를 무시하는 경우 메시지 ID를 일반 고유 값으로 설정해야 합니다. | true | boolean |
| messageListenerContainer Factory (advanced) | 메시지를 사용하는 데 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정하는 데 사용되는 MessageListenerContainer의 레지스트리 ID입니다. 이를 설정하면 consumerType이 Custom으로 자동 설정됩니다. | MessageListener ContainerFactory | |
| messageTimestampEnabled (advanced) | 메시지 전송 시 기본적으로 타임스탬프를 활성화할지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 타임스탬프가 0으로 설정되어야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 정규 값으로 설정해야 합니다. | true | boolean |
| pubSubNoLocal (advanced) | 자체 연결에서 게시한 메시지 배달을 금지할지 여부를 지정합니다.Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean |
| receiveTimeout (advanced) | 메시지 수신 시간(밀리초)입니다. | 1000 | long |
| 복구Interval (advanced) | 연결이 새로 고쳐질 때(즉, 밀리초) 복구 시도 사이의 간격을 지정합니다. 기본값은 5000ms, 즉 5초입니다. | 5000 | long |
| requestTimeoutChecker Interval (advanced) | Camel이 JMS를 통해 요청/반복 시 Exchange 시간 초과를 확인하는 빈도를 설정합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 제한은 옵션 requestTimeout에 따라 결정됩니다. | 1000 | long |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| transferException (advanced) | 활성화되고 소비자 측면에서 Request Reply messaging(InOut)을 사용하고 Exchange 실패를 사용하는 경우 원인 Exception이 다시 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception은 rethrown입니다. 이를 통해 라우팅에서 Camel JMS를 브리지로 사용할 수 있습니다. 예를 들어 영구 대기열을 사용하여 강력한 라우팅을 활성화할 수 있습니다. 또한 transferExchange를 사용하도록 설정한 경우 이 옵션이 우선합니다. catch 예외는 직렬화 가능 해야 합니다.The caught exception is required to be serializable. 소비자 측의 원래 예외는 생산자로 반환될 때 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다. | false | boolean |
| transferExchange (advanced) | 당신은 단지 바디와 헤더 대신 전선을 통해 교환을 전송할 수 있습니다. 다음 필드가 전송됩니다. 본문, 외부 본문, Fault 본문, 헤더, 외부 헤더, Fault 헤더, 교환 속성, 교환 예외. 이렇게 하려면 개체가 직렬화 가능 해야 합니다.This requires that the objects are serializable. Camel은 non-serializable 오브젝트를 제외하고 WARN 수준에서 로깅합니다. 제작자와 소비자 측에서 이 옵션을 모두 활성화해야 하므로 Camel은 페이로드가 Exchange이고 일반 페이로드가 아닌 Exchange임을 알고 있습니다. | false | boolean |
| transferFault (advanced) | 활성화된 경우 Request Reply messaging (InOut)을 사용하고 Exchange가 소비자 측에서 SOAP 오류 ( exception 아님)와 함께 실패한 경우 Message#isFault()의 오류 플래그는 키 org.apache.camel.component.jmsConstel.jms.JmsConstants.jmsConstants.jmsConstants.jmsConstants#FATRANTER_FATRANTER_FATRANTER_JMST_TRANTER_FATER_JMS_TRANTER_FATERS. JMS 헤더로 다시 전송될 것입니다. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. Cxf 또는 Spring-ws와 같은 SOAP과 같은 결함을 지원하는 Camel 구성 요소를 사용할 때 이를 활성화할 수 있습니다. | false | boolean |
| useMessageIDAsCorrelation ID (advanced) | JMSMessageID를 항상 InOut 메시지의 JMSCorrelationID로 사용할지 여부를 지정합니다. | false | boolean |
| waitForProvisionCorrelation ToBeUpdatedCounter (advanced) | JMS를 통해 요청/응답할 때 및 useMessageIDAsCorrelationID 옵션이 활성화된 경우 provisional correlation id가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | int |
| waitForProvisionCorrelation ToBeUpdatedThreadSleeping Time (advanced) | 프로비저닝 상관 ID가 업데이트될 때까지 기다리는 동안 밀리코어가 잠기지 않는 간격입니다. | 100 | long |
| errorHandlerLoggingLevel (logging) | 은 로깅되지 않은 예외에 대해 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | WARN | LoggingLevel |
| errorHandlerLogStackTrace (logging) | 기본 errorHandler로 stacktrace를 기록해야 하는지 여부를 제어할 수 있습니다. | true | boolean |
| 암호 (보안) | ConnectionFactory에 사용할 암호입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| 사용자 이름 (보안) | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| 트랜잭션(Transaction acted ) | transacted 모드를 사용할지 여부를 지정합니다. | false | boolean |
| lazyCreateTransaction Manager (transaction) | true인 경우 Camel은 옵션을 transacted=true할 때 삽입된 transactionManager가 없는 경우 JmsTransactionManager를 생성합니다. | true | boolean |
| TransactionManager (transaction) | 사용할 Spring 트랜잭션 관리자입니다. | PlatformTransaction Manager | |
| transactionName (transaction) | 사용할 트랜잭션의 이름입니다. | 문자열 | |
| TransactionTimeout (transaction) | 트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 초과 값(초 단위)입니다. | -1 | int |
5.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 81 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.amqp.accept-messages-while-stopping | 소비자가 중지되는 동안 메시지를 수락하는지 여부를 지정합니다. 대기열에 포함된 메시지가 여전히 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는 재전송을 시도해야 하지만 다시 거부될 수 있으며 결국 메시지가 JMS 브로커의 dead letter 큐에서 이동될 수 있습니다. 이 옵션을 사용하려면 이 옵션을 사용하는 것이 좋습니다. | false | 부울 |
| camel.component.amqp.acknowledgement-mode | Integer로 정의된 JMS 승인 모드입니다. 벤더별 확장을 acknowledgment 모드로 설정할 수 있습니다. 일반 모드에서는 acknowledgementModeName을 대신 사용하는 것이 좋습니다. | 정수 | |
| camel.component.amqp.acknowledgement-mode-name | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | AUTO_ ACKNOWLEDGE | 문자열 |
| camel.component.amqp.allow-additional-headers | 이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있을 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 잘못된 유형의 값이 포함된 접두사 JMS_IBM_MQMD_를 사용하여 헤더 이름으로 이 작업을 수행합니다. 여러 헤더 이름을 쉼표로 구분하여 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다. | 문자열 | |
| camel.component.amqp.allow-null-body | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | 부울 |
| camel.component.amqp.allow-reply-manager-quick-stop | 응답 관리자에서 request-reply 메시징에 사용된 DefaultMessageListenerContainer에 사용된지 여부에 따라 JmsConfiguration#isAcceptMessages whileeStopping이 활성화되어 있고 org.apache.camel.CamelContext가 현재 중지된 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자를 위해 이 플래그를 활성화해야 합니다. | false | 부울 |
| camel.component.amqp.always-copy-message | true인 경우 Camel은 전송을 위해 생산자에 전달될 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 데 필요한 경우 Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정합니다. | false | 부울 |
| camel.component.amqp.async-consumer | JmsConsumer가 Exchange를 비동기적으로 처리하는지 여부입니다. 활성화된 경우 JmsConsumer는 이전 메시지가 비동기적으로(Asynchronous Routing Engine에 의해) 비동기적으로 처리되는 동안 JMS 대기열에서 다음 메시지를 선택할 수 있습니다. 즉, 메시지가 100% 엄격하게 정렬되어 처리되지 않을 수 있습니다. 비활성화된 경우 Exchange는 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택하기 전에 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션이 동기적으로 실행되어야 하므로 비동기Consumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0은 비동기 트랜잭션을 지원할 수 있음). | false | 부울 |
| camel.component.amqp.async-start-listener | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기적으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 대한 연결을 가져올 수 없는 경우 재시도 및/또는 페일오버를 시도하는 동안 차단될 수 있습니다. 이로 인해 Camel이 경로를 시작하는 동안 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 지정할 수 있습니다. 이 옵션을 사용하면 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자는 메시지를 수신할 수 없습니다. 그런 다음 다시 시도하도록 경로를 다시 시작할 수 있습니다. | false | 부울 |
| camel.component.amqp.async-stop-listener | 경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기적으로 중지할지 여부입니다. | false | 부울 |
| camel.component.amqp.auto-startup | 소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다. | true | 부울 |
| camel.component.amqp.cache-level | 기본 JMS 리소스의 ID별 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오. | 정수 | |
| camel.component.amqp.cache-level-name | 기본 JMS 리소스의 이름으로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE 및 CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
| camel.component.amqp.client-id | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 내구성 주제 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용할 수 있습니다. | 문자열 | |
| camel.component.amqp.concurrent-consumers | JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 1 | 정수 |
| camel.component.amqp.configuration | 공유 JMS 구성을 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.component.jms.JmsConfiguration 유형입니다. | 문자열 | |
| camel.component.amqp.connection-factory | 사용할 연결 팩토리입니다. 구성 요소 또는 끝점에서 연결 팩토리를 구성해야 합니다. 옵션은 javax.jms.ConnectionFactory 유형입니다. | 문자열 | |
| camel.component.amqp.correlation-property | 이 JMS 속성을 사용하여 JMSCorrelationID 속성 대신 InOut exchange 패턴(request-reply) 메시지의 상관 관계를 유지할 수 있습니다. 이렇게 하면 JMSCorrelationID JMS 속성을 사용하여 메시지의 상관 관계가 없는 시스템과 메시지를 교환할 수 있습니다. 사용된 JMSCorrelationID는 Camel에 의해 사용되거나 설정되지 않습니다. 이 속성의 값은 동일한 이름의 메시지 헤더에 제공되지 않는 경우 생성됩니다. | 문자열 | |
| camel.component.amqp.default-task-executor-type | 소비자 끝점과 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync (SAP의 SimpleAsyncTaskExecutor) 또는 ThreadPool (s Spring의 ThreadPoolTaskExecutor 사용) - 캐시된 threadpool-like입니다. 설정하지 않으면 기본적으로 소비자 엔드포인트에 대해 캐시된 스레드 풀을 사용하고 응답 소비자에게 SimpleAsync를 사용하는 이전 동작으로 설정됩니다. ThreadPool은 동적으로 늘어나고 동시 소비자를 줄이는 탄력적 구성의 스레드 쓰레기를 줄이는 것이 좋습니다. | DefaultTaskExecutor Type | |
| camel.component.amqp.delivery-mode | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode에서 정의한 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
| camel.component.amqp.delivery-persistent | 기본적으로 영구 제공이 사용되는지 여부를 지정합니다. | true | 부울 |
| camel.component.amqp.destination-resolver | 고유한 확인자를 사용할 수 있는 플러그형 org.springframework.jms.support.DestinationResolver(예: JNDI 레지스트리에서 실제 대상을 조회하기 위해). 옵션은 org.springframework.jms.support.destination.DestinationResolver 유형입니다. | 문자열 | |
| camel.component.amqp.durable-subscription-name | 내구성 주제 서브스크립션을 지정하기 위한 내구성 있는 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
| camel.component.amqp.eager-loading-of-properties | JMS 속성이 필요하지 않기 때문에 일반적으로 비효율적인 메시지가 로드되는 즉시 JMS 속성을 신속하게 로드할 수 있지만 기본 JMS 공급자 및 JMS 속성 사용과 관련된 문제를 조기에 포착할 수 있습니다. | false | 부울 |
| camel.component.amqp.enabled | mqp 구성 요소 활성화 | true | 부울 |
| camel.component.amqp.error-handler | 메시지를 처리하는 동안 throw되지 않은 예외의 경우 호출될 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 errorHandler가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준 및 스택 추적을 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 기록해야 하는지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 지정 오류 처리기를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다.This makes it much easier to configure, than having to code a custom errorHandler. 옵션은 org.springframework.util.ErrorHandler 유형입니다. | 문자열 | |
| camel.component.amqp.error-handler-log-stack-trace | 기본 errorHandler로 stacktrace를 기록해야 하는지 여부를 제어할 수 있습니다. | true | 부울 |
| camel.component.amqp.error-handler-logging-level | 은 로깅되지 않은 예외에 대해 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | LoggingLevel | |
| camel.component.amqp.exception-listener | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. 옵션은 javax.jms.ExceptionListener 유형입니다. | 문자열 | |
| camel.component.amqp.explicit-qos-enabled | 메시지를 보낼 때 서비스의 deliveryMode, 우선순위 또는 timeToLive 특성을 사용해야 하는 경우 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority 및 timeToLive 옵션이 현재 엔드포인트에 적용됩니다. 이는 메시지 세분화에서 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서만 QoS 속성을 읽습니다. | false | 부울 |
| camel.component.amqp.expose-listener-session | 메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다. | false | 부울 |
| camel.component.amqp.force-send-original-message | mapJmsMessage=false Camel을 사용하면 경로 중 헤더를 만났을 때 새 JMS 대상에 보낼 새 JMS 메시지가 생성됩니다. 수신한 원래 JMS 메시지를 전송하도록 Camel을 강제 적용하려면 이 옵션을 true로 설정합니다. | false | 부울 |
| camel.component.amqp.format-date-headers-to-iso8601 | ISO 8601 표준에 따라 날짜 헤더를 포맷해야 하는지 여부를 설정합니다. | false | 부울 |
| camel.component.amqp.header-filter-strategy | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. 옵션은 org.apache.camel.spi.HeaderFilterStrategy 유형입니다. | 문자열 | |
| camel.component.amqp.idle-consumer-limit | 언제든지 유휴 상태일 수 있는 소비자 수에 대한 제한을 지정합니다. | 1 | 정수 |
| camel.component.amqp.idle-task-execution-limit | 수신 작업의 유휴 실행에 대한 제한을 지정하고 해당 실행 내에 메시지를 받지 못했습니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 작업에 대한 수신을 그대로 둡니다(동적 스케줄링의 경우 maxConcurrentConsumers 설정을 참조). Spring에서 사용할 수 있는 추가 doc가 있습니다. | 1 | 정수 |
| camel.component.amqp.include-all-j-m-s-x-properties | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 지정 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다. | false | 부울 |
| camel.component.amqp.include-sent-j-m-s-message-i-d | InOnly(예: fire 및 forget)를 사용하여 JMS 대상으로 보낼 때만 적용됩니다. 이 옵션을 사용하면 메시지가 JMS 대상으로 전송될 때 JMS 클라이언트에서 사용하는 실제 JMSMessageID로 Camel Exchange가 강화됩니다. | false | 부울 |
| camel.component.amqp.jms-key-format-strategy | JMS 사양을 준수하는 데 사용할 수 있도록 JMS 키를 인코딩 및 디코딩하는 플러그인 전략입니다. Camel은 기본 및 패스스루의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈을 안전하게 마샬링합니다(. 및 -). 통과 전략은 다음과 같이 키를 남겨 둡니다. JMS 헤더 키에 불법 문자가 포함되어 있는지 여부를 고려하지 않는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. 옵션은 org.apache.camel.component.jms.JmsKeyFormatStrategy 유형입니다. | 문자열 | |
| camel.component.amqp.jms-operations | org.springframework.jms.core.JmsOperations 인터페이스의 자체 구현을 사용할 수 있습니다. Camel은 JmsTemplate을 기본값으로 사용합니다. 테스트 목적으로 사용할 수 있지만 스프링 API 문서에 명시된 대로 많이 사용되지는 않습니다. 옵션은 org.springframework.jms.core.JmsOperations 유형입니다. | 문자열 | |
| camel.component.amqp.lazy-create-transaction-manager | true인 경우 Camel은 옵션을 transacted=true할 때 삽입된 transactionManager가 없는 경우 JmsTransactionManager를 생성합니다. | true | 부울 |
| camel.component.amqp.map-jms-message | Camel이 수신된 JMS 메시지를 javax.jms.TextMessage와 같은 적절한 페이로드 유형에 자동 매핑해야 하는지 여부를 문자열 등에 지정합니다. | true | 부울 |
| camel.component.amqp.max-concurrent-consumers | JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통한 요청/복제용 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답 시 replyToMaxConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 정수 | |
| camel.component.amqp.max-messages-per-task | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자에 범위(예: max)를 사용하는 경우 이 옵션을 사용하여 더 적은 작업이 필요할 때 소비자의 속도를 축소하는 방법을 제어하기 위해 값을 100으로 설정할 수 있습니다. | -1 | 정수 |
| camel.component.amqp.message-converter | 사용자 지정 Spring org.springframework.jms.support.converter.MessageConverter를 사용하려면 javax.jms.Message에 매핑할 수 있는 방법을 제어할 수 있습니다. 옵션은 org.springframework.jms.support.converter.MessageConverter 유형입니다. | 문자열 | |
| camel.component.amqp.message-created-strategy | Camel이 JMS 메시지를 보낼 때 Camel이 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. 옵션은 org.apache.camel.component.jms.MessageCreatedStrategy 유형입니다. | 문자열 | |
| camel.component.amqp.message-id-enabled | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 메시지 ID가 null로 설정되어야 합니다. 공급자가 힌트를 무시하는 경우 메시지 ID를 일반 고유 값으로 설정해야 합니다. | true | 부울 |
| camel.component.amqp.message-timestamp-enabled | 메시지 전송 시 기본적으로 타임스탬프를 활성화할지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 타임스탬프가 0으로 설정되어야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 정규 값으로 설정해야 합니다. | true | 부울 |
| camel.component.amqp.password | ConnectionFactory에 사용할 암호입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| camel.component.amqp.preserve-message-qos | JMS 끝점의 QoS 설정이 아니라 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 엔드포인트의 값을 사용하도록 대체합니다. 따라서 이 옵션을 사용하면 헤더가 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 끝점에 설정된 옵션만 사용합니다. | false | 부울 |
| camel.component.amqp.priority | 1보다 큰 값은 보낼 때 메시지 우선 순위를 지정합니다(여기서 0이 가장 낮은 우선 순위이고 9가 가장 높은 경우). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다. | 4 | 정수 |
| camel.component.amqp.pub-sub-no-local | 자체 연결에서 게시한 메시지 배달을 금지할지 여부를 지정합니다.Specifies whether to inhibit the delivery of messages published by its own connection. | false | 부울 |
| camel.component.amqp.queue-browse-strategy | 대기열을 탐색할 때 사용자 지정 QueueBrowseStrategy를 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.component.jms.QueueBrowseStrategy 유형입니다. | 문자열 | |
| camel.component.amqp.receive-timeout | 메시지 수신 시간(밀리초)입니다. | 1000 | long |
| camel.component.amqp.recovery-interval | 연결이 새로 고쳐질 때(즉, 밀리초) 복구 시도 사이의 간격을 지정합니다. 기본값은 5000ms, 즉 5초입니다. | 5000 | long |
| camel.component.amqp.reply-on-timeout-to-max-concurrent-consumers | JMS를 통해 요청/reply를 사용할 때 시간 초과가 발생한 경우 계속 라우팅할 수 있는 최대 동시 소비자 수를 지정합니다. | 1 | 정수 |
| camel.component.amqp.reply-to-cache-level-name | JMS를 통해 요청/반복을 수행할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 배타적 또는 공유 w/ replyToSelectorName에 대해 CACHE_CONSUMER를 사용합니다. 그리고 replyToSelectorName 없이 공유의 경우 CACHE_SESSION을 사용합니다. IBM WebSphere와 같은 일부 JMS 브로커는 작동하도록 replyToCacheLevelName=CACHE_NONE을 설정해야 할 수 있습니다. 참고: 임시 대기열을 사용하는 경우 CACHE_NONE이 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
| camel.component.amqp.reply-to-concurrent-consumers | JMS를 통해 요청/reply를 수행할 때 기본 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 1 | 정수 |
| camel.component.amqp.reply-to-max-concurrent-consumers | JMS에서 요청/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 정수 | |
| camel.component.amqp.reply-to-type | 를 사용하면 JMS를 통해 요청/reply를 수행할 때 replyTo 큐에 사용할 유형의 전략을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 전용 대기열을 사용할 수 있습니다. 자세한 내용은 Camel JMS 설명서를 참조하십시오. 특히 클러스터형 환경에서 실행 중인 경우 미치는 영향에 대한 참고 사항 및 공유 응답 대기열이 대체 시간 및 필수 값보다 성능이 낮다는 사실에서 참조하십시오. | ReplyToType | |
| camel.component.amqp.request-timeout | InOut Exchange Pattern(밀리초)을 사용할 때 응답을 기다리는 시간 초과입니다. 기본값은 20초입니다. 이 엔드포인트 구성 시간 값을 재정의하기 위해 CamelJmsRequestTimeout 헤더를 포함할 수 있으므로 메시지당 개별 시간 제한 값이 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오. | 20000 | long |
| camel.component.amqp.request-timeout-checker-interval | Camel이 JMS를 통해 요청/반복 시 Exchange 시간 초과를 확인하는 빈도를 설정합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 제한은 옵션 requestTimeout에 따라 결정됩니다. | 1000 | long |
| camel.component.amqp.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.amqp.stream-message-type-enabled | StreamMessage 유형이 활성화되어 있는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 종류의 메시지 페이로드는 BytesMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로 BytesMessage는 전체 메시지 페이로드를 메모리로 읽어오도록 적용하는 데 사용됩니다. 이 옵션을 활성화하면 메시지 페이로드가 청크의 메모리에 판독되고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 작성됩니다. | false | 부울 |
| camel.component.amqp.subscription-durable | 서브스크립션의 내구성을 유지할지 여부를 설정합니다. 사용할 내구성 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 사용 가능한 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. | false | 부울 |
| camel.component.amqp.subscription-name | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 내구성이 있는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: JMS 2.0이 필요한 공유 서브스크립션을 제외하고 각 서브스크립션에 대해 1개의 동시 소비자(이 기본값은 이 메시지 리스너 컨테이너)만 허용됩니다. | 문자열 | |
| camel.component.amqp.subscription-shared | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 내구성이 있을 수 있으므로 이 플래그도 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | 부울 |
| camel.component.amqp.task-executor | 메시지를 사용하기 위한 사용자 지정 작업 executor를 지정할 수 있습니다. 옵션은 org.springframework.core.task.TaskExecutor 유형입니다. | 문자열 | |
| camel.component.amqp.test-connection-on-startup | 시작 시 연결을 테스트할지 여부를 지정합니다.Specifies whether to test the connection on startup. 이를 통해 Camel이 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결을 시작하게 합니다. 연결을 허용할 수 없는 경우 Camel은 시작 시 예외를 throw합니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트 중입니다. | false | 부울 |
| camel.component.amqp.time-to-live | 메시지를 보낼 때 메시지의 TTL(밀리초)을 지정합니다. | -1 | long |
| camel.component.amqp.transacted | transacted 모드를 사용할지 여부를 지정합니다. | false | 부울 |
| camel.component.amqp.transaction-manager | 사용할 Spring 트랜잭션 관리자입니다. 옵션은 org.springframework.transaction.PlatformTransactionManager 유형입니다. | 문자열 | |
| camel.component.amqp.transaction-name | 사용할 트랜잭션의 이름입니다. | 문자열 | |
| camel.component.amqp.transaction-timeout | 트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 초과 값(초 단위)입니다. | -1 | 정수 |
| camel.component.amqp.transfer-exception | 활성화되고 소비자 측면에서 Request Reply messaging(InOut)을 사용하고 Exchange 실패를 사용하는 경우 원인 Exception이 다시 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception은 rethrown입니다. 이를 통해 라우팅에서 Camel JMS를 브리지로 사용할 수 있습니다. 예를 들어 영구 대기열을 사용하여 강력한 라우팅을 활성화할 수 있습니다. 또한 transferExchange를 사용하도록 설정한 경우 이 옵션이 우선합니다. catch 예외는 직렬화 가능 해야 합니다.The caught exception is required to be serializable. 소비자 측의 원래 예외는 생산자로 반환될 때 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다. | false | 부울 |
| camel.component.amqp.transfer-exchange | 당신은 단지 바디와 헤더 대신 전선을 통해 교환을 전송할 수 있습니다. 다음 필드가 전송됩니다. 본문, 외부 본문, Fault 본문, 헤더, 외부 헤더, Fault 헤더, 교환 속성, 교환 예외. 이렇게 하려면 개체가 직렬화 가능 해야 합니다.This requires that the objects are serializable. Camel은 non-serializable 오브젝트를 제외하고 WARN 수준에서 로깅합니다. 제작자와 소비자 측에서 이 옵션을 모두 활성화해야 하므로 Camel은 페이로드가 Exchange이고 일반 페이로드가 아닌 Exchange임을 알고 있습니다. | false | 부울 |
| camel.component.amqp.transfer-fault | 활성화된 경우 Request Reply messaging (InOut)을 사용하고 Exchange가 소비자 측에서 SOAP 오류 ( exception 아님)와 함께 실패한 경우 Message#isFault()의 오류 플래그는 키 org.apache.camel.component.jmsConstel.jms.JmsConstant.jmsConstants #JMS_TRANTER_FATRANTER_FATER_JMS_TRANTER_FATRANTER_JMST_TRANTER_JMS_TRANTER_TRANTER_TRANTER_JMS_TRANTER_JMS 헤더로 다시 전송될 것입니다. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. Cxf 또는 Spring-ws와 같은 SOAP과 같은 결함을 지원하는 Camel 구성 요소를 사용할 때 이를 활성화할 수 있습니다. | false | 부울 |
| camel.component.amqp.use-message-i-d-as-correlation-i-d | JMSMessageID를 항상 InOut 메시지의 JMSCorrelationID로 사용할지 여부를 지정합니다. | false | 부울 |
| camel.component.amqp.username | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 사용자 이름/암호를 직접 구성할 수도 있습니다. | 문자열 | |
| camel.component.amqp.wait-for-provision-correlation-to-be-updated-counter | JMS를 통해 요청/응답할 때 및 useMessageIDAsCorrelationID 옵션이 활성화된 경우 provisional correlation id가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | 정수 |
| camel.component.amqp.wait-for-provision-correlation-to-be-updated-thread-sleeping-time | 프로비저닝 상관 ID가 업데이트될 때까지 기다리는 동안 밀리코어가 잠기지 않는 간격입니다. | 100 | long |
5.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
AMQP 구성 요소가 JMS 구성 요소에서 상속되므로 전자 사용은 후자의 사용과 거의 동일합니다.
AMQP 구성 요소 사용
5.5. AMQP 구성 요소 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.16.1부터 AMQPComponent#amqp10Component(String connectionURI) 팩토리 메서드를 사용하여 사전 구성된 주제 접두사가 있는 AMQP 1.0 구성 요소를 반환할 수도 있습니다.
AMQP 1.0 구성 요소 생성
AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");
AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");
Camel 2.17부터 AMQPComponent#amqp10Component(String connectionURI) 팩토리 방법(String connectionURI)의 경우 AMQPComponent#amqpComponent(String connectionURI) 를 대신하여 더 이상 사용되지 않습니다.
AMQP 1.0 구성 요소 생성
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
AMQP 구성 요소를 자동으로 구성하기 위해 Camel 2.17부터 레지스트리에 org.apache.camel.component.amqp.AMQPConnectionDetails 인스턴스를 추가할 수도 있습니다. 예를 들어 Spring Boot의 경우 빈을 정의해야 합니다.
AMQP 연결 세부 정보 자동 구성
마찬가지로 Camel-CDI를 사용할 때 CDI 생산자 방법을 사용할 수도 있습니다.
AMQP 연결 세부 정보 CDI의 자동 구성
@Produces
AMQPConnectionDetails amqpConnection() {
return new AMQPConnectionDetails("amqp://localhost:5672");
}
@Produces
AMQPConnectionDetails amqpConnection() {
return new AMQPConnectionDetails("amqp://localhost:5672");
}
Camel 속성 을 사용하여 AMQP 연결 세부 정보를 읽을 수도 있습니다. 팩토리 방법 AMQPConnectionDetails.discoverAMQP() 는 아래 스니펫에서와 같이 Kubernetes와 유사한 규칙에서 Camel 속성을 읽으려고 합니다.
AMQP 연결 세부 정보 자동 구성
AMQP 관련 옵션 활성화
예를 들어, 다음 예제 와 같이 옵션을 URI에 추가하여mqp.traceFrames 를 활성화해야 합니다.
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672?amqp.traceFrames=true");
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672?amqp.traceFrames=true");
참조는 QPID JMS 클라이언트 구성을 참조하십시오.
5.6. 주제 사용 링크 복사링크가 클립보드에 복사되었습니다!
camel-amqp 로 작업하는 주제를 사용하려면 다음과 같이 topic:// 를 주제 접두사로 사용하도록 구성 요소를 구성해야 합니다.
AMQPComponent#amqpComponent() 메서드와 AMQPConnectionDetails 둘 다 주제 접두사로 구성 요소를 미리 구성하므로 이를 명시적으로 구성할 필요가 없습니다.
5.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
6장. APNS 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.8에서 사용 가능
apns 구성 요소는 iOS 장치에 알림을 보내는 데 사용됩니다. apns 구성 요소는 javapns 라이브러리를 사용합니다.
구성 요소는 Apple Push Notification Servers(APNS)에 알림을 보내고 서버에서 피드백을 사용할 수 있도록 지원합니다.
소비자는 Apple Push Notification Servers에서 때때로 피드백 스트림을 사용하는 것이 최상의 관행이기 때문에 기본적으로 3600초로 구성됩니다. 예를 들어, 서버 홍수를 방지하기 위해 1시간마다.
피드백 스트림은 비활성 장치에 대한 정보를 제공합니다. 모바일 애플리케이션이 크게 사용되지 않은 경우에만 몇 시간마다 이 정보를 얻을 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
6.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
알림을 보내려면 다음을 수행합니다.
apns:notify[?options]
apns:notify[?options]
피드백을 사용하려면 다음을 수행합니다.
apns:consumer[?options]
apns:consumer[?options]
6.2. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
APNS 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| apnsService (일반) | 사용할 ApnsService가 필요합니다. org.apache.camel.component.apns.factory.ApnsServiceFactory를 사용하여 ApnsService를 빌드할 수 있습니다. | ApnsService | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
APNS 끝점은 URI 구문을 사용하여 구성됩니다.
apns:name
apns:name
다음 경로 및 쿼리 매개변수를 사용합니다.
6.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| name | 끝점의 이름입니다. | 문자열 |
6.2.2. 쿼리 매개변수 (20 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 토큰 (공용) | 알림하려는 장치와 관련된 토큰을 정적으로 선언하려는 경우 이 속성을 구성합니다. 토큰은 쉼표로 구분됩니다. | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
6.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 3 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.apns.apns-service | 사용할 ApnsService입니다. org.apache.camel.component.apns.factory.ApnsServiceFactory를 사용하여 ApnsService를 빌드할 수 있습니다. 옵션은 com.notnoop.apns.ApnsService 유형입니다. | 문자열 | |
| camel.component.apns.enabled | apns 구성 요소 활성화 | true | 부울 |
| camel.component.apns.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
다음 형식 ?option=value&option=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
6.3.1. 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
ApnsComponent 는 com.notnoop.apns.ApnsService 로 구성해야 합니다. 서비스는 org.apache.camel.component.apns.factory.ApnsServiceFactory 를 사용하여 생성하고 구성할 수 있습니다. 예제는 아래를 참조하십시오. 또한 테스트 소스 코드에서 도 마찬가지입니다.
6.3.1.1. SSL 설정 링크 복사링크가 클립보드에 복사되었습니다!
보안 연결을 사용하려면 구성 요소를 구성하는 데 사용되는 org.apache.camel.jsse.jsse.SSLContextParameters 의 인스턴스를 org.apache.camel.component.apns.factory.ApnsServiceFactory 에 삽입해야 합니다. 예제는 테스트 리소스를 참조하십시오. SSL 예
6.4. 교환 데이터 형식 링크 복사링크가 클립보드에 복사되었습니다!
Camel이 비활성 장치에 해당하는 피드백 데이터를 가져오면 InactiveDevice 오브젝트 목록을 검색합니다. 검색된 목록의 각 InactiveDevice 오브젝트는 본문으로 설정된 다음 소비자 끝점에서 처리합니다.
6.5. 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
Camel Apns는 이러한 헤더를 사용합니다.
| 속성 | 기본값 | 설명 |
|---|---|---|
|
| 기본적으로 비어 있습니다. | |
|
|
| 메시지 유형에 대해 PAYLOAD를 선택하는 경우, 메시지가 APNS 페이로드로 간주되고 그대로 전송됩니다. STRING을 선택하면 메시지가 APNS 페이로드로 변환됩니다. Camel 2.16 에서 APNS_NOTIFICATION은 메시지 본문을 com.notnoop.apns.ApnsNotification 유형으로 보내는 데 사용됩니다. |
6.6. ApnsServiceFactory 빌더 콜백 링크 복사링크가 클립보드에 복사되었습니다!
ApnsServiceFactory 에는 기본 ApnsServiceBuilder 인스턴스를 구성(또는 대체)하는 데 사용할 수 있는 빈 콜백 메서드가 제공됩니다. 메서드의 서명은 다음과 같이 나타날 수 있습니다.
protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
다음과 같이 사용할 수 있습니다.
6.7. 샘플 링크 복사링크가 클립보드에 복사되었습니다!
6.7.1. Camel Xml 경로 링크 복사링크가 클립보드에 복사되었습니다!
6.7.2. Camel Java 경로 링크 복사링크가 클립보드에 복사되었습니다!
camel 컨텍스트 생성 및 프로그래밍 방식으로 apns 구성 요소 선언
[[APNS-ApnsProducer-iOStargetdevicedynamicallyconfiguredviaheader:"CamelApnsTokens"] 헤더를 통해 동적으로 구성된 ApnsProducer - iOS 대상 장치: "CamelApnsTokens""
ApnsProducer - iOS 대상 장치는 uri을 통해 정적으로 구성
ApnsConsumer
from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
.to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
.to("mock:result");
from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
.to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
.to("mock:result");
6.8. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- 구성 요소
- 엔드 포인트 * APNS (in french) 사용에 대한블로그
7장. ASN.1 파일 데이터 형식 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx는 Bouncy Castle의 bcprov-jdk15on 라이브러리 및 jASN-jdk15on 라이브러리 및 jASN.1의 Java 컴파일러를 기반으로 하는 Camel 프레임워크의 데이터 형식 구현입니다. 메시지는 unmarshalled(단순 Java POJO에 대한 버전)에서 일반 Java 오브젝트에 적용할 수 있습니다. Camel의 라우팅 엔진 및 데이터 변환의 도움으로 POJO를 사용하여 사용자 지정 포맷을 적용하고 다른 Camel 구성 요소를 호출하여 메시지를 업스트림 시스템으로 변환 및 전송할 수 있습니다.
7.1. ASN.1 데이터 형식 옵션 링크 복사링크가 클립보드에 복사되었습니다!
ASN.1 File dataformat은 아래 나열된 세 가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| usingIterator |
|
| asn1 파일에 하나 이상의 항목이 있는 경우 이 옵션을 true로 설정하면 splitter EIP로 작업할 수 있으며 스트리밍 모드에서 반복기를 사용하여 데이터를 분할할 수 있습니다. |
| clazzName |
| unmarshalling할 때 사용할 클래스의 이름 | |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
7.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 4 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.asn1.clazz-name | unmarshalling할 때 사용할 클래스의 이름 | 문자열 | |
| camel.dataformat.asn1.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.asn1.enabled | asn1 데이터 형식의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.dataformat.asn1.using-iterator | asn1 파일에 하나 이상의 항목이 있는 경우 이 옵션을 true로 설정하면 splitter EIP로 작업할 수 있으며 스트리밍 모드에서 반복기를 사용하여 데이터를 분할할 수 있습니다. | false | 부울 |
ND
7.3. unmarshal 링크 복사링크가 클립보드에 복사되었습니다!
해상 ASN.1 구조화된 메시지를 압축 해제하는 방법에는 세 가지가 있습니다. (일반적으로 바이너리 파일)
이 첫 번째 예제에서는 OutputStream에 대한marshal BER 파일 페이로드를 생략하고 mock 엔드포인트로 보냅니다.
from("direct:unmarshal").unmarshal(asn1).to("mock:unmarshal");
from("direct:unmarshal").unmarshal(asn1).to("mock:unmarshal");
두 번째 예제에서는 Split EIP를 사용하여 바이트 배열에 대한marshal BER 파일 페이로드를 해제합니다. Split EIP를 적용하는 이유는 일반적으로 각 BER 파일 또는 (ASN.1 구조화된 파일)에 처리 할 여러 레코드가 포함되어 있으며 Split EIP는 실제로 ASN1Primitive의 인스턴스 (Bunastle의 ASN 사용)인 바이트 배열로 파일의 각 레코드를 가져오는 데 도움이 되기 때문입니다. 1 bcprov-jdk15on 라이브러리의 지원) Byte 배열은 (ASN1Primitive.fromByteArray)의 공용 정적 메서드의 도움으로 ASN1Primitive로 변환될 수 있습니다. Iter ator=true를 사용하여설정해야 합니다.
from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming().to("mock:unmarshal");
from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming().to("mock:unmarshal");
마지막 예제에서는 Split EIP를 사용하는 기존 Java 객체에 대한marshal BER 파일 페이로드를 해제합니다. Split EIP를 적용하는 이유는 이미 이전 예제에서 언급되어 있습니다. 그 이유를 염두에 두십시오. 이 예제에서는 또한 클래스의 정규화된 이름 또는 데이터 형식을 통해 <YourObject>.class 참조를 설정해야 합니다. 여기서 주의해야 할 중요한 사항은 ASN.1 구조의 Java 개체 표현을 생성하는 유용한 도구인 jasn1 컴파일러에 의해 개체가 생성되어야 한다는 것입니다. jasn1 컴파일러의 참조 사용은 [JASN.1 Project Page](https://www.openmuc.org/asn1/)를 참조하고 maven의 exec 플러그인과 함께 컴파일러를 호출하는 방법도 참조하십시오. 예를 들어, 이 데이터 형식의 단위에서는 예제 ASN.1 구조(TestSMSBerCdr.asn1)가 src/test/resources/asn1_structure. jasn1 컴파일러에 추가되고 java 오브젝트의 표현이 호출되고 java 오브젝트의 표현은 ${basedir}/target/generated/src/src/test/java 에 생성됩니다.
from("direct:unmarshaldsl")
.unmarshal()
.asn1("org.apache.camel.dataformat.asn1.model.testsmscbercdr.SmsCdr")
.split(body(Iterator.class)).streaming()
.to("mock:unmarshaldsl");
from("direct:unmarshaldsl")
.unmarshal()
.asn1("org.apache.camel.dataformat.asn1.model.testsmscbercdr.SmsCdr")
.split(body(Iterator.class)).streaming()
.to("mock:unmarshaldsl");
7.4. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
camel 경로에서 ASN.1 데이터 형식을 사용하려면 이 데이터 형식을 구현하는 camel-asn1 에 종속성을 추가해야 합니다.
Maven을 사용하는 경우 pom.xml 에 다음을 추가할 수 있으며 최신 및 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
8장. AS2 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Karaf의 camel-as2 구성 요소는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다.
이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
Camel 버전 2.22에서 사용 가능
AS2 구성 요소는 RFC4130 에 지정된 대로 HTTP 전송 프로토콜을 사용하여 EDI 메시지의 전송을 제공합니다.
이 구성 요소는 현재 진행 중인 작업입니다. URI 옵션 및 경로 및 쿼리 매개 변수가 이 구성 요소의 향후 버전에서 변경될 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
8.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
as2://apiName/methodName
as2://apiName/methodName
apiName은 다음 중 하나일 수 있습니다.
- 클라이언트
- server
8.2. AS2 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AS2 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성을 사용하려면To use the shared configuration | AS2Configuration | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AS2 끝점은 URI 구문을 사용하여 구성됩니다.
as2:apiName
as2:apiName
다음 경로 및 쿼리 매개변수를 사용합니다.
8.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| apiName | 어 떤 종류의 작업을 수행해야 합니까? | AS2ApiName |
8.2.2. 쿼리 매개변수(30 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| as2From (일반) | AS2 메시지의 AS2From 헤더 값입니다. | 문자열 | |
| as2MessageStructure (일반) | AS2 Message의 구조입니다. PLAIN - 암호화 없음, 서명 없음, SIGNED - 암호화 없음, 서명, ENCRYPTED - 암호화, 서명 없음, 서명 | AS2MessageStructure | |
| as2To (일반) | AS2 메시지의 AS2To 헤더 값입니다. | 문자열 | |
| as2Version (일반) | AS2 프로토콜의 버전입니다. | 1.1 | 문자열 |
| clientFqdn (일반) | 클라이언트 정규화된 도메인 이름(FQDN)입니다. 끝점에서 보낸 메시지 ID에서 사용됩니다. | camel.apache.org | 문자열 |
| dispositionNotificationTo (common) | Disposition-Notification-To 헤더의 값입니다. 이 매개 변수에 값을 할당하면 AS2 메시지에 대한 message disposition notification(MDN)이 요청됩니다. | 문자열 | |
| ediMessageTransferEncoding (일반) | EDI 메시지의 전송 인코딩입니다. | 문자열 | |
| ediMessageType (일반) | EDI 메시지의 콘텐츠 유형입니다. application/edifact, application/edi-x12 중 하나, application/edi-consent | ContentType | |
| encryptingAlgorithm (common) | EDI 메시지를 암호화하는 데 사용되는 알고리즘입니다. | AS2EncryptionAlgorithm | |
| 인증서 체인 암호화 (일반) | EDI 메시지를 암호화하는 데 사용되는 인증서 체인입니다. | certificate[] | |
| privateKey 암호화 ( 일반) | EDI 메시지를 암호화하는 데 사용되는 키입니다. | PrivateKey | |
| 에서 (일반) | AS2 메시지의 From 헤더의 값입니다. | 문자열 | |
| InBody (일반) | 교환 In Body에서 전달할 매개 변수의 이름을 설정합니다. | 문자열 | |
| methodName (common) | 선택한 작업에 사용할 하위 작업 필요 | 문자열 | |
| requestUri (common) | EDI 메시지의 요청 URI입니다. | / | 문자열 |
| 서버 (공용) | AS2 서버를 식별하는 서버 메시지 헤더에 포함된 값입니다. | Camel AS2 Server Endpoint | 문자열 |
| serverFqdn (common) | 서버의 정규화된 도메인 이름(FQDN)입니다. 끝점에서 보낸 메시지 ID에서 사용됩니다. | camel.apache.org | 문자열 |
| serverPortNumber (일반) | 서버 포트 번호입니다. | 정수 | |
| signedReceiptMicAlgorithms (일반적으로) | MDN(Message dispostion notification)에서 반환된 MIC(메시지 무결성 검사)를 생성하도록 요청된 알고리즘 목록입니다. | string[] | |
| signingAlgorithm (일반) | EDI 메시지에 서명하는 데 사용되는 알고리즘입니다. | AS2SignatureAlgorithm | |
| signingCertificateChain (일반) | EDI 메시지에 서명하는 데 사용되는 인증서 체인입니다. | certificate[] | |
| signingPrivateKey (common) | EDI 메시지에 서명하는 데 사용되는 키입니다. | PrivateKey | |
| 제목 (일반) | AS2 메시지의 주체 헤더 값입니다. | 문자열 | |
| targetHostname (일반) | 대상 호스트의 호스트 이름(IP 또는 DNS 이름)입니다. | 문자열 | |
| targetPortNumber (일반) | 대상 호스트의 포트 수입니다. -1은 스키마의 기본 포트를 나타냅니다. | 정수 | |
| userAgent (일반) | AS2 사용자 에이전트를 식별하는 User-Agent 메시지 헤더에 포함된 값입니다. | Camel AS2 클라이언트 끝점 | 문자열 |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
8.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 28 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.as2.configuration.api-name | 어떤 종류의 작업을 수행합니까? | AS2ApiName | |
| camel.component.as2.configuration.as2-from | AS2 메시지의 AS2From 헤더 값입니다. | 문자열 | |
| camel.component.as2.configuration.as2-message-structure | AS2 Message의 구조입니다. PLAIN - 암호화 없음, 서명 없음, SIGNED - 암호화 없음, 서명, ENCRYPTED - 암호화, 서명 없음, 서명 | AS2MessageStructure | |
| camel.component.as2.configuration.as2-to | AS2 메시지의 AS2To 헤더 값입니다. | 문자열 | |
| camel.component.as2.configuration.as2-version | AS2 프로토콜의 버전입니다. | 1.1 | 문자열 |
| camel.component.as2.configuration.client-fqdn | 클라이언트 정규화된 도메인 이름(FQDN)입니다. 끝점에서 보낸 메시지 ID에서 사용됩니다. | camel.apache.org | 문자열 |
| camel.component.as2.configuration.disposition-notification-to | Disposition-Notification-To 헤더의 값입니다. 이 매개 변수에 값을 할당하면 AS2 메시지에 대한 message disposition notification(MDN)이 요청됩니다. | 문자열 | |
| camel.component.as2.configuration.edi-message-transfer-encoding | EDI 메시지의 전송 인코딩입니다. | 문자열 | |
| camel.component.as2.configuration.edi-message-type | EDI 메시지의 콘텐츠 유형입니다. application/edifact, application/edi-x12 중 하나, application/edi-consent | ContentType | |
| camel.component.as2.configuration.encrypting-algorithm | EDI 메시지를 암호화하는 데 사용되는 알고리즘입니다. | AS2EncryptionAlgorithm | |
| camel.component.as2.configuration.encrypting-certificate-chain | EDI 메시지를 암호화하는 데 사용되는 인증서 체인입니다. | certificate[] | |
| camel.component.as2.configuration.encrypting-private-key | EDI 메시지를 암호화하는 데 사용되는 키입니다. | PrivateKey | |
| camel.component.as2.configuration.from | AS2 메시지의 From 헤더의 값입니다. | 문자열 | |
| camel.component.as2.configuration.method-name | 선택한 작업에 사용할 하위 작업 | 문자열 | |
| camel.component.as2.configuration.request-uri | EDI 메시지의 요청 URI입니다. | / | 문자열 |
| camel.component.as2.configuration.server | AS2 서버를 식별하는 서버 메시지 헤더에 포함된 값입니다. | Camel AS2 Server Endpoint | 문자열 |
| camel.component.as2.configuration.server-fqdn | 서버의 정규화된 도메인 이름(FQDN)입니다. 끝점에서 보낸 메시지 ID에서 사용됩니다. | camel.apache.org | 문자열 |
| camel.component.as2.configuration.server-port-number | 서버 포트 번호입니다. | 정수 | |
| camel.component.as2.configuration.signed-receipt-mic-algorithms | MDN(Message dispostion notification)에서 반환된 MIC(메시지 무결성 검사)를 생성하도록 요청된 알고리즘 목록입니다. | string[] | |
| camel.component.as2.configuration.signing-algorithm | EDI 메시지에 서명하는 데 사용되는 알고리즘입니다. | AS2SignatureAlgorithm | |
| camel.component.as2.configuration.signing-certificate-chain | EDI 메시지에 서명하는 데 사용되는 인증서 체인입니다. | certificate[] | |
| camel.component.as2.configuration.signing-private-key | EDI 메시지에 서명하는 데 사용되는 키입니다. | PrivateKey | |
| camel.component.as2.configuration.subject | AS2 메시지의 주체 헤더 값입니다. | 문자열 | |
| camel.component.as2.configuration.target-hostname | 대상 호스트의 호스트 이름(IP 또는 DNS 이름)입니다. | 문자열 | |
| camel.component.as2.configuration.target-port-number | 대상 호스트의 포트 수입니다. -1은 스키마의 기본 포트를 나타냅니다. | 정수 | |
| camel.component.as2.configuration.user-agent | AS2 사용자 에이전트를 식별하는 User-Agent 메시지 헤더에 포함된 값입니다. | Camel AS2 클라이언트 끝점 | 문자열 |
| camel.component.as2.enabled | as2 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.as2.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
8.4. 클라이언트 끝점: 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 끝점은 엔드포인트 접두사 클라이언트 뒤에 메서드의 이름과 다음에 설명된 관련 옵션을 사용합니다. 엔드포인트 URI에는 접두사 클라이언트 가 있어야 합니다.
as2://client/method?[options]
as2://client/method?[options]
필수가 아닌 엔드포인트 옵션은 [] 로 표시됩니다. 끝점에 대한 필수 옵션이 없는 경우 [] 옵션 세트 중 하나를 제공해야 합니다. 생산자 엔드포인트는 Camel Exchange In 메시지에 포함된 엔드포인트 옵션의 이름을 포함해야 하는 특수 옵션 inBody 를 사용할 수도 있습니다.
끝점 URI에서 또는 메시지 헤더에서 동적으로 끝점 옵션을 제공할 수 있습니다. 메시지 헤더 이름은 CamelAS2.<option> 형식이어야 합니다. inBody 옵션은 메시지 헤더를 덮어씁니다. 즉 inBody=option 의 endpoint 옵션은 CamelAS2.option 헤더를 재정의합니다.
끝점 URI 또는 메시지 헤더에 있는 옵션 defaultRequest에 대해 값이 제공되지 않으면 null 로 간주됩니다. null 값은 다른 옵션이 일치하는 엔드 포인트를 충족하지 않는 경우에만 사용됩니다.
AS2 API 오류가 발생하는 경우 끝점은 org.apache.http.HttpException 파생 예외를 사용하여 RuntimeCamelException을 throw합니다.
| 방법 | 옵션 | 결과 본문 유형 |
|---|---|---|
| send | ediMessage, requestUri, subject, from, as2From, as2To, as2Message structureure, ediMessageContentType, ediMessageTransferEncoding, dispositionNotificationTo, signedReceiptMicAlgorithms | org.apache.http.protocol.HttpCoreContext |
클라이언트의 URI 옵션
| 이름 | 유형 |
|---|---|
| ediMessage | 문자열 |
| requestUri | 문자열 |
| 제목 | 문자열 |
| from | 문자열 |
| as2From | 문자열 |
| as2To | 문자열 |
| as2MessageStructure | org.apache.camel.component.as2.api.AS2MessageStructure |
| ediMessageContentType | 문자열 |
| ediMessageTransferEncoding | 문자열 |
| dispositionNotificationTo | 문자열 |
| signedReceiptMicAlgorithms | string[] |
8.5. 서버 끝점: 링크 복사링크가 클립보드에 복사되었습니다!
서버 끝점은 엔드포인트 접두사 서버 다음에 방법의 이름과 다음에 설명된 관련 옵션을 사용합니다. 엔드포인트 URI에는 접두사 서버 가 포함되어야 합니다.
as2://server/method?[options]
as2://server/method?[options]
필수가 아닌 엔드포인트 옵션은 [] 로 표시됩니다. 끝점에 대한 필수 옵션이 없는 경우 [] 옵션 세트 중 하나를 제공해야 합니다. 생산자 엔드포인트는 Camel Exchange In 메시지에 포함된 엔드포인트 옵션의 이름을 포함해야 하는 특수 옵션 inBody 를 사용할 수도 있습니다.
끝점 URI에서 또는 메시지 헤더에서 동적으로 끝점 옵션을 제공할 수 있습니다. 메시지 헤더 이름은 CamelAS2.<option> 형식이어야 합니다. inBody 옵션은 메시지 헤더를 덮어씁니다. 즉 inBody=option 의 endpoint 옵션은 CamelAS2.option 헤더를 재정의합니다.
끝점 URI 또는 메시지 헤더에 있는 옵션 defaultRequest에 대해 값이 제공되지 않으면 null 로 간주됩니다. null 값은 다른 옵션이 일치하는 엔드 포인트를 충족하지 않는 경우에만 사용됩니다.
AS2 API 오류가 발생하는 경우 끝점은 org.apache.http.HttpException 파생 예외를 사용하여 RuntimeCamelException을 throw합니다.
| 방법 | 옵션 | 결과 본문 유형 |
|---|---|---|
| listen | requestUriPattern | org.apache.http.protocol.HttpCoreContext |
서버의 URI 옵션
| 이름 | 유형 |
|---|---|
| requestUriPattern | 문자열 |
9장. 별표 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.18로 사용 가능
별표 : 구성 요소를 사용하면 별표 -java를 사용하여 Asterisk PBX Server http://www.asterisk.org/ 를사용하여 쉽게 작업할 수 있습니다.
이 구성 요소는 Asterisk Manager Interface와 상호 작용하는 데 도움이 됩니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
9.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
asterisk:name[?options]
asterisk:name[?options]
9.2. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Asterisk 구성 요소에는 옵션이 없습니다.
Asterisk 엔드포인트는 URI 구문을 사용하여 구성됩니다.
asterisk:name
asterisk:name
다음 경로 및 쿼리 매개변수를 사용합니다.
9.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| name | 필수 논리 이름 | 문자열 |
9.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 호스트 이름 (일반) | 필수 별표 서버의 호스트 이름 | 문자열 | |
| 암호 (공용) | 필수 로그인 암호 | 문자열 | |
| 사용자 이름 (공용) | 필수 로그인 사용자 이름 | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| 작업 (producer) | 대기열 상태, sip 피어 또는 확장 상태 등 수행할 작업. | AsteriskAction | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
9.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.asterisk.enabled | 별표 구성 요소 사용 | true | 부울 |
| camel.component.asterisk.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
9.4. 동작 링크 복사링크가 클립보드에 복사되었습니다!
지원되는 동작은 다음과 같습니다.
- QUEUE_STATUS, 대기열 상태
- SIP_PEERS, List SIP Peers
- EXTENSION_STATE, Check Extension Status
10장. Atmos 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.15에서 사용 가능
Camel-Atmos 는 Apache Camel 구성 요소로, Atmos Client 를 사용하여 ViPR 개체 데이터 서비스로 작업할 수 있습니다.
from("atmos:foo/get?remotePath=/path").to("mock:test");
from("atmos:foo/get?remotePath=/path").to("mock:test");
10.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Atmos 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| fullTokenId (security) | Atmos 클라이언트에 전달할 토큰 ID | 문자열 | |
| secretKey (security) | Atmos 클라이언트에 전달할 비밀 키 | 문자열 | |
| URI (advanced) | Atmos 클라이언트에서 연결할 서버의 URI입니다. | 문자열 | |
| sslValidation (security) | Atmos 클라이언트가 SSL 검증을 수행해야 하는지 여부 | false | boolean |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atmos 엔드포인트는 URI 구문을 사용하여 구성됩니다.
atmos:name/operation
atmos:name/operation
다음 경로 및 쿼리 매개변수를 사용합니다.
10.1.1. 경로 매개 변수(2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| name | Atmos 이름 | 문자열 | |
| 작업 | 수행해야 하는 작업 | AtmosOperation |
10.1.2. 쿼리 매개변수(12 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| enableSslValidation (일반) | Atmos SSL 검증 | false | boolean |
| fullTokenId (일반) | Atmos 클라이언트 fullTokenId | 문자열 | |
| localPath (common) | 파일 배치를 위한 로컬 경로 | 문자열 | |
| newRemotePath (common) | 파일을 이동할 때 Atmos의 새 경로 | 문자열 | |
| 쿼리 (일반) | Atmos에 대한 검색 쿼리 | 문자열 | |
| remotePath (common) | Atmos에 파일을 배치할 위치 | 문자열 | |
| secretKey (common) | Atmos 공유 보안 | 문자열 | |
| URI (공용) | Atomos 서버 uri | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
10.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 6 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atmos.enabled | atmos 구성 요소 활성화 | true | 부울 |
| camel.component.atmos.full-token-id | Atmos 클라이언트에 전달할 토큰 ID | 문자열 | |
| camel.component.atmos.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.atmos.secret-key | Atmos 클라이언트에 전달할 비밀 키 | 문자열 | |
| camel.component.atmos.ssl-validation | Atmos 클라이언트가 SSL 검증을 수행해야 하는지 여부 | false | 부울 |
| camel.component.atmos.uri | Atmos 클라이언트에서 연결할 서버의 URI입니다. | 문자열 |
10.3. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
camel 경로에서 Atmos를 사용하려면 이 데이터 형식을 구현하는 camel-atmos 에 종속성을 추가해야 합니다.
maven을 사용하는 경우 pom.xml에 다음을 추가하면 최신 및 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
10.4. 통합 링크 복사링크가 클립보드에 복사되었습니다!
atmos 통합을 볼 때 하나의 유형의 소비자, GetConsumer가 있으며 이는 ScheduledPollConsumer 유형입니다.
-
Get
반면, 4 가지 유형의 생산자가 있습니다.
-
Get -
Del -
move -
put
10.5. 예제 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제는 테스트에서 가져옵니다.
from("atmos:foo/get?remotePath=/path").to("mock:test");
from("atmos:foo/get?remotePath=/path").to("mock:test");
다음은 소비자 예입니다.Here is a consumer example. remotePath 는 데이터를 읽고 제작자 Underneath와 관련하여 camel exchange를 읽을 수있는 경로를 나타냅니다. 이 구성 요소는 이 구성 요소 및 기타 모든 작업에 대해 atmos 클라이언트 API를 사용합니다.
from("direct:start")
.to("atmos://get?remotePath=/dummy/dummy.txt")
.to("mock:result");
from("direct:start")
.to("atmos://get?remotePath=/dummy/dummy.txt")
.to("mock:result");
이 샘플은 Producer 샘플입니다. remotePath 는 ViPR 오브젝트 데이터 서비스에서 작업이 발생하는 경로를 나타냅니다. 생산자에서 작업(Get,Del,Move,Put)은 ViPR 오브젝트 데이터 서비스에서 실행되며 결과는 camel exchange 헤더에 설정됩니다.
작업에 대해 다음 헤더가 camel exhange에 설정되어 있습니다.
DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
10.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
11장. 대기 웹 소켓 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.14로 사용 가능
대기 시간: 구성 요소는 Websocket을 통해 외부 클라이언트와 통신하는 서블릿에 대해 Websocket 기반 엔드포인트를 제공합니다(외부 클라이언트의 웹 소켓 연결을 수락하는 서블릿).
구성 요소는 SERVLET 구성 요소를 사용하며 Atmosphere 라이브러리를 사용하여 다양한 서블릿 컨테이너(예: Jetty, Tomcat, …에서 Websocket 전송)를 지원합니다.
포함된 Jetty 서버를 시작하는 Websocket 구성 요소와 달리 이 구성 요소는 컨테이너의 서블릿 공급자를 사용합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
11.1. 대기 시간-웹 소켓 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Atmosphere Websocket 구성 요소는 아래 나열된 9가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 서블릿 이름 (consumer) | 사용할 서블릿의 기본 이름입니다. 기본 이름은 CamelServlet입니다. | CamelServlet | 문자열 |
| httpRegistry (consumer) | 사용자 지정 org.apache.camel.component.servlet.HttpRegistry를 사용합니다. | HttpRegistry | |
| attachmentMultipart Binding (consumer) | Camel Exchange의 첨부 파일로 multipart/form-data를 자동 바인딩할지 여부입니다. attachment attachmentMultipartBinding=true 및 disableStreamCache=false 옵션이 함께 작동할 수 없습니다. AttachmentMultipartBinding을 사용하려면 disableStreamCache를 제거합니다. Servlet을 사용할 때 이를 활성화하려면 서블릿별 구성이 필요할 수 있으므로 기본적으로 이 기능이 꺼집니다. | false | boolean |
| fileNameExtWhitelist (consumer) | 업로드된 파일을 수락하기 위해 허용된 파일 이름 확장자의 허용 목록. txt,xml과 같은 여러 확장 기능을 쉼표로 구분할 수 있습니다. | 문자열 | |
| httpBinding (advanced) | 사용자 지정 HttpBinding을 사용하여 Camel 메시지와 HttpClient 간의 매핑을 제어합니다. | HttpBinding | |
| httpConfiguration (advanced) | 공유 HttpConfiguration을 기본 구성으로 사용하려면 다음을 수행합니다. | HttpConfiguration | |
| JavaSerialized Object (advanced) 허용 | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 이 설정은 기본적으로 꺼져 있습니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| headerFilterStrategy (filter) | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atmosphere Websocket 끝점은 URI 구문을 사용하여 구성됩니다.
atmosphere-websocket:servicePath
atmosphere-websocket:servicePath
다음 경로 및 쿼리 매개변수를 사용합니다.
11.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| servicePath | 필수 websocket 엔드 포인트 이름 | 문자열 |
11.1.2. 쿼리 매개변수(38 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 청크됨 (공용) | 이 옵션이 false이면 Servlet은 HTTP 스트리밍을 비활성화하고 응답에 Content-length 헤더를 설정합니다. | true | boolean |
| disableStreamCache (common) | Servlet의 원시 입력 스트림이 캐시되었거나 그렇지 않은지 여부를 결정합니다. (Camel은 스트림을 메모리/오버 흐름에서 파일, 스트림 캐싱) 캐시로 스트림을 읽습니다. 기본적으로 Camel은 Servlet 입력 스트림을 캐시하여 Camel이 스트림에서 모든 데이터를 검색할 수 있도록 여러 번 읽을 수 있도록 지원합니다. 그러나 예를 들어 파일 또는 기타 영구 저장소로 직접 스트리밍하는 것과 같은 원시 스트림에 액세스해야 할 때 이 옵션을 true로 설정할 수 있습니다. DefaultHttpBinding은 요청 입력 스트림을 스트림 캐시에 복사하고 스트림을 여러 번 읽는 것을 지원하기 위해 이 옵션이 false인 경우 메시지 본문에 배치합니다. Servlet을 사용하여 끝점을 프록시하는 경우 메시지 페이로드를 여러 번 읽을 필요가 없는 경우 이 옵션을 사용하여 성능을 향상시킬 수 있습니다. http/http4 생산자는 기본적으로 응답 본문 스트림을 캐시합니다. 이 옵션을 true로 설정하면 생산자가 응답 본문 스트림을 캐시하지 않지만 응답 스트림을 메시지 본문으로 사용합니다. | false | boolean |
| headerFilterStrategy (common) | 사용자 지정 HeaderFilterStrategy를 사용하여 Camel 메시지와의 헤더를 필터링합니다. | HeaderFilterStrategy | |
| sendToAll (일반) | 모든 (브로드캐스트)로 보내거나 단일 수신자에게 보낼지 여부입니다. | false | boolean |
| transferException (일반) | 활성화된 경우 소비자 측에서 Exchange 실패 처리 및 원인 Exception이 다시 직렬화 된 응답에서 응답에서 애플리케이션/x-java-serialized-object 콘텐츠 유형으로 다시 전송되었습니다. 생산자 측에서 예외는 HttpOperationFailedException 대신 is로 deserialize되고 throw됩니다. 원인된 예외는 직렬화해야 합니다. 이 설정은 기본적으로 꺼져 있습니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | boolean |
| UseStreaming (common) | 스트리밍이 여러 개의 텍스트 조각으로 데이터를 보낼 수 있도록 합니다. | false | boolean |
| httpBinding (일반) | 사용자 지정 HttpBinding을 사용하여 Camel 메시지와 HttpClient 간의 매핑을 제어합니다. | HttpBinding | |
| async (consumer) | 비동기 모드에서 작동하도록 소비자 구성 | false | boolean |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| httpMethodRestrict (consumer) | HttpMethod가 GET/POST/PUT 등과 같은 경우에만 사용할 수 있도록 하는 데 사용됩니다. 여러 메서드를 쉼표로 구분하여 지정할 수 있습니다. | 문자열 | |
| matchOnUriPrefix (consumer) | 정확한 일치 항목이 없는 경우 소비자가 URI 접두사와 일치하여 대상 소비자를 찾아야 하는지 여부입니다. | false | boolean |
| responseBufferSize (consumer) | javax.servlet.ServletResponse에서 사용자 정의 버퍼 크기를 사용하려면 다음을 수행합니다. | 정수 | |
| 서블릿 이름 (consumer) | 사용할 서블릿의 이름입니다. | CamelServlet | 문자열 |
| attachmentMultipartBinding (consumer) | Camel Exchange의 첨부 파일로 multipart/form-data를 자동 바인딩할지 여부입니다. attachment attachmentMultipartBinding=true 및 disableStreamCache=false 옵션이 함께 작동할 수 없습니다. AttachmentMultipartBinding을 사용하려면 disableStreamCache를 제거합니다. Servlet을 사용할 때 이를 활성화하려면 서블릿별 구성이 필요할 수 있으므로 기본적으로 이 기능이 꺼집니다. | false | boolean |
| eagerCheckContentAvailable (consumer) | content-length 헤더가 0인지 아니면 존재하지 않는 경우 HTTP 요청에 콘텐츠가 있는지 확인할 수 있습니다. HTTP 클라이언트가 스트리밍된 데이터를 전송하지 않는 경우 이 기능을 설정할 수 있습니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| fileNameExtWhitelist (consumer) | 업로드된 파일을 수락하기 위해 허용된 파일 이름 확장자의 허용 목록. txt,xml과 같은 여러 확장 기능을 쉼표로 구분할 수 있습니다. | 문자열 | |
| optionsEnabled (consumer) | Servlet 소비자에 대해 HTTP 옵션 사용 여부를 지정합니다.Specifies whether to enable HTTP OPTIONS for this Servlet consumer. 기본적으로 옵션 설정은 해제되어 있습니다.By default, OPTIONS is turned off. | false | boolean |
| traceEnabled (consumer) | 이 서블릿 소비자에 대해 HTTP TRACE를 활성화할지 여부를 지정합니다.Specifies whether to enable HTTP TRACE for this Servlet consumer. 기본적으로 TRACE가 해제됩니다.By default, TRACE is turned off. | false | boolean |
| bridgeEndpoint (producer) | 옵션이 true인 경우 HttpProducer는 Exchange.HTTP_URI 헤더를 무시하고 요청 끝점의 URI를 사용합니다. 또한 causesExceptionOnFailure 옵션을 false로 설정하여 HttpProducer가 모든 오류 응답을 다시 보낼 수 있습니다. | false | boolean |
| connectionClose (producer) | Connection Close 헤더를 HTTP 요청에 추가해야 하는지 여부를 지정합니다. 기본적으로 연결 Close는 false입니다. | false | boolean |
| copyHeaders (producer) | 이 옵션이 true이면 IN 교환 헤더가 복사 전략에 따라 OUT 교환 헤더에 복사됩니다. 이를 false로 설정하면 HTTP 응답의 헤더만 포함할 수 있습니다( IN 헤더를 전파하지 않음). | true | boolean |
| httpMethod (producer) | 사용할 HTTP 메서드를 구성합니다. HttpMethod 헤더가 설정된 경우 이 옵션을 재정의할 수 없습니다. | HttpMethods | |
| ignoreResponseBody (producer) | 이 옵션이 true이면 http 생산자가 응답 본문을 읽지 않고 입력 스트림을 캐시합니다. | false | boolean |
| preserveHostHeader (producer) | 옵션이 true인 경우 HttpProducer는 현재 교환 호스트 헤더에 포함된 값으로 Host 헤더를 설정합니다. 다운스트림 서버에서 수신한 Host 헤더가 업스트림 클라이언트에서 호출한 URL을 반영하려는 역방향 프록시 애플리케이션에서 유용한 경우 호스트 헤더를 사용하여 프록시된 서비스에 대한 정확한 URL을 생성할 수 있습니다. | false | boolean |
| throwExceptionOnFailure (producer) | 원격 서버에서 응답이 실패한 경우 HttpOperationFailedException throw를 비활성화하는 옵션입니다. 이를 통해 HTTP 상태 코드와 관계없이 모든 응답을 얻을 수 있습니다. | true | boolean |
| cookieHandler (producer) | HTTP 세션을 유지 관리하도록 쿠키 처리기 구성 | CookieHandler | |
| okStatusCodeRange (producer) | 상태 코드는 성공 응답으로 간주됩니다. 값이 포함됩니다. 여러 범위를 쉼표로 구분하여 정의할 수 있습니다(예: 200-204,209,301-304). 각 범위는 단일 숫자 또는 대시가 포함된 from-to여야 합니다. | 200-299 | 문자열 |
| urlRewrite (producer) | 더 이상 사용되지 않는 사용자 지정 org.apache.camel.component.http.UrlRewrite를 통해 URL을 브리지/proxy 엔드포인트에서 다시 작성할 수 있습니다. 자세한 내용은 http://camel.apache.org/urlrewrite.html에서 참조하십시오. | UrlRewrite | |
| mapHttpMessageBody (advanced) | 이 옵션이 true이면 교환의 IN 교환 본문이 HTTP 본문에 매핑됩니다. 이를 false로 설정하면 HTTP 매핑이 발생하지 않습니다. | true | boolean |
| mapHttpMessageFormUrl EncodedBody (advanced) | 이 옵션이 true이면 교환의 양식 코딩된 본문이 HTTP에 매핑됩니다.If this option is true, IN exchange Form Encoded body of the exchange will be mapped to HTTP. 이를 false로 설정하면 HTTP 양식 Encoded 본문 매핑이 발생하지 않습니다. | true | boolean |
| mapHttpMessageHeaders (advanced) | 이 옵션이 true이면 교환의 IN 교환 헤더가 HTTP 헤더에 매핑됩니다. 이를 false로 설정하면 HTTP 헤더 매핑이 발생하지 않습니다. | true | boolean |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| proxyAuthScheme (proxy) | 사용할 프록시 인증 스키마 | 문자열 | |
| proxyHost (proxy) | 사용할 프록시 호스트 이름 | 문자열 | |
| proxyPort (proxy) | 사용할 프록시 포트 | int | |
| authHost (security) | NTML에서 사용할 인증 호스트 | 문자열 |
11.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 10 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atmosphere-websocket.allow-java-serialized-object | 요청이 context-type=application/x-java-serialized-object를 사용할 때 java serialization을 허용할지 여부입니다. 이 설정은 기본적으로 꺼져 있습니다. 이를 활성화하면 Java가 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있다는 점에 유의하십시오. | false | 부울 |
| camel.component.atmosphere-websocket.attachment-multipart-binding | Camel Exchange의 첨부 파일로 multipart/form-data를 자동 바인딩할지 여부입니다. attachment attachmentMultipartBinding=true 및 disableStreamCache=false 옵션이 함께 작동할 수 없습니다. AttachmentMultipartBinding을 사용하려면 disableStreamCache를 제거합니다. Servlet을 사용할 때 이를 활성화하려면 서블릿별 구성이 필요할 수 있으므로 기본적으로 이 기능이 꺼집니다. | false | 부울 |
| camel.component.atmosphere-websocket.enabled | 대기 웹 소켓 구성 요소 사용 | true | 부울 |
| camel.component.atmosphere-websocket.file-name-ext-whitelist | 업로드된 파일을 수락하기 위해 허용된 파일 이름 확장자의 허용 목록. txt,xml과 같은 여러 확장 기능을 쉼표로 구분할 수 있습니다. | 문자열 | |
| camel.component.atmosphere-websocket.header-filter-strategy | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링하려면 다음을 수행합니다. 옵션은 org.apache.camel.spi.HeaderFilterStrategy 유형입니다. | 문자열 | |
| camel.component.atmosphere-websocket.http-binding | 사용자 지정 HttpBinding을 사용하여 Camel 메시지와 HttpClient 간의 매핑을 제어합니다. 옵션은 org.apache.camel.http.common.HttpBinding 유형입니다. | 문자열 | |
| camel.component.atmosphere-websocket.http-configuration | 공유 HttpConfiguration을 기본 구성으로 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.http.common.HttpConfiguration 유형입니다. | 문자열 | |
| camel.component.atmosphere-websocket.http-registry | 사용자 지정 org.apache.camel.component.servlet.HttpRegistry를 사용합니다. 옵션은 org.apache.camel.component.servlet.HttpRegistry 유형입니다. | 문자열 | |
| camel.component.atmosphere-websocket.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.atmosphere-websocket.servlet-name | 사용할 서블릿의 기본 이름입니다. 기본 이름은 CamelServlet입니다. | CamelServlet | 문자열 |
11.3. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atmosphere-websocket:///relative path[?options]
atmosphere-websocket:///relative path[?options]
11.4. Websocket을 통해 데이터 읽기 및 쓰기 링크 복사링크가 클립보드에 복사되었습니다!
atmopshere-websocket 끝점은 끝점이 생산자 또는 소비자로 구성되어 있는지 여부에 따라 소켓에 데이터를 쓰거나 소켓에서 읽을 수 있습니다.
11.5. 데이터 읽기 또는 쓰기를 위한 URI 구성 링크 복사링크가 클립보드에 복사되었습니다!
아래 경로에서 Camel은 지정된 websocket 연결에서 읽습니다.
from("atmosphere-websocket:///servicepath")
.to("direct:next");
from("atmosphere-websocket:///servicepath")
.to("direct:next");
다음과 같은 Spring 샘플이 있습니다.
아래 경로에서 Camel은 지정된 websocket 연결에서 읽습니다.
from("direct:next")
.to("atmosphere-websocket:///servicepath");
from("direct:next")
.to("atmosphere-websocket:///servicepath");
다음과 같은 Spring 샘플이 있습니다.
11.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
12장. atom 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 1.2로 사용 가능
atom: 구성 요소는 Atom 피드를 폴링하는 데 사용됩니다.
Camel은 기본적으로 60초마다 피드를 폴링합니다.
참고: 현재 구성 요소는 폴링(시간) 피드만 지원합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
12.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atom://atomUri[?options]
atom://atomUri[?options]
여기서 atomUri 는 폴링할 Atom 피드에 대한 URI입니다.
12.2. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Atom 구성 요소에는 옵션이 없습니다.
Atom 끝점은 URI 구문을 사용하여 구성됩니다.
atom:feedUri
atom:feedUri
다음 경로 및 쿼리 매개변수를 사용합니다.
12.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| feedUri | 폴링할 피드에 대한 URI입니다. | 문자열 |
12.2.2. 쿼리 매개변수(27 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| feedHeader (consumer) | feed 오브젝트를 헤더로 추가할지 여부를 설정합니다. | true | boolean |
| 필터 (consumer) | 필터링을 사용할지 아니면 항목 중 사용할지 여부를 설정합니다.Sets whether to use filtering or not of the entries. | true | boolean |
| lastUpdate (consumer) | 원자 피드의 항목을 필터링하는 데 사용할 타임스탬프를 설정합니다. 이 옵션은 splitEntries와 함께 사용할 수 있습니다. | 날짜 | |
| 암호 (consumer) | HTTP 피드에서 폴링할 때 기본 인증에 사용할 암호를 설정합니다. | 문자열 | |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| sortEntries (consumer) | 게시된 날짜별로 항목을 정렬할지 여부를 설정합니다. splitEntries = true일 때만 작동합니다. | false | boolean |
| splitEntries (consumer) | 항목을 개별적으로 보내거나 전체 피드를 단일 메시지로 보내야 하는지 여부를 설정합니다. | true | boolean |
| throttleEntries (consumer) | 단일 피드 폴링에서 식별된 모든 항목을 즉시 전달해야 하는지 여부를 설정합니다. true인 경우 consumer.delay마다 하나의 항목만 처리됩니다. splitEntries = true인 경우에만 적용됩니다. | true | boolean |
| 사용자 이름 (consumer) | HTTP 피드에서 폴링할 때 기본 인증에 사용할 사용자 이름을 설정합니다. | 문자열 | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
12.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atom.enabled | atom 구성 요소 활성화 | true | 부울 |
| camel.component.atom.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
다음 형식 ?option=value&option=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
12.4. 교환 데이터 형식 링크 복사링크가 클립보드에 복사되었습니다!
Camel은 반환된 Exchange 의 In body를 항목으로 설정합니다. splitEntries 플래그에 따라 Camel은 하나의 Entry 또는 List<Entry>를 반환합니다.
| 옵션 | 값 | 동작 |
|---|---|---|
|
|
|
현재 처리 중인 피드의 단일 항목만 |
|
|
|
피드의 전체 항목 목록 set: |
Camel은 In 헤더에 feed 오브젝트 를 설정할 수 있습니다(이를 비활성화하려면 feedHeader 옵션 참조):
12.5. 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
Camel atom은 이러한 헤더를 사용합니다.
| header | 설명 |
|---|---|
|
|
|
12.6. 샘플 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플에서는 James Strachan의 블로그를 폴링합니다.
from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds");
from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds");
이 샘플에서는 SEDA 큐로 우리가 원하는 좋은 블로그만 필터링하려고 합니다. 샘플은 또한 Camel 독립 실행형 설정, 컨테이너 내에서 실행되지 않거나 Spring을 사용하는 방법을 보여줍니다.
12.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- RSS
13장. Atomix Map 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-map 구성 요소를 사용하면 Atomix의 분산 맵 컬렉션을 사용할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
13.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-map:mapName
atomix-map:mapName
13.2. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Atomix Map 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성 요소 구성 | AtomixMapConfiguration | |
| Atomix (common) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (공용) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (common) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix Map 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-map:resourceName
atomix-map:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
13.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
13.2.2. 쿼리 매개변수(18 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (common) | 사용할 Atomix 인스턴스 | Atomix | |
| configurationUri (common) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (common) | 기본 동작입니다. | PUT | 동작 |
| 키 (일반) | 헤더에 설정되지 않거나 특정 키에 대한 이벤트를 수신 대기하는 경우 사용할 키입니다. | 개체 | |
| 노드 (공용) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (일반) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (일반) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| TTL ( 일반) | 리소스 ttl. | long | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
13.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-map.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-map.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-map.configuration.default-action | 기본 동작입니다. | AtomixMap$Action | |
| camel.component.atomix-map.configuration.key | 헤더에 설정되지 않거나 특정 키에 대한 이벤트를 수신 대기하는 경우 사용할 키입니다. | 개체 | |
| camel.component.atomix-map.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-map.configuration.ttl | 리소스 ttl. | long | |
| camel.component.atomix-map.enabled | atomix-map 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-map.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-map.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
13.4. headers 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 유형 | 값 | 설명 |
|---|---|---|---|
| CamelAtomixResourceAction | AtomixMap.Action |
| 수행할 작업 |
| CamelAtomixResourceKey | 개체 | - | 작업할 키 |
| CamelAtomixResourceValue | 개체 | - | 값이 없는 경우 In Body를 사용합니다. |
| CamelAtomixResourceOldValue | 개체 | - | 이전 값 |
| CamelAtomixResourceTTL | 문자열 / long | - | 항목 TTL |
| CamelAtomixResourceReadConsistency | ReadConsistency |
| 읽기 일관성 수준 |
13.5. Atomix 클러스터에 연결하도록 구성 요소 구성 링크 복사링크가 클립보드에 복사되었습니다!
참여할 Atomix 클러스터의 노드는 몇 가지 예와 같이 끝점 또는 구성 요소 수준 (권장)에서 se가 될 수 있습니다.
endpoint:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 요소:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.6. 사용 예: 링크 복사링크가 클립보드에 복사되었습니다!
PUT 1초의 TTL이 있는 요소:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14장. Atomix Messaging 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-messaging 구성 요소를 사용하면 Atomix의 그룹 메시징을 사용할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
14.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-messaging:group
atomix-messaging:group
Atomix Messaging 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성 요소 구성 | AtomixMessaging 구성 | |
| Atomix (common) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (공용) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (common) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix Messaging 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-messaging:resourceName
atomix-messaging:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
14.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
14.1.2. 쿼리 매개변수(19 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (common) | 사용할 Atomix 인스턴스 | Atomix | |
| broadcastType (일반) | broadcast type입니다. | ALL | BroadcastType |
| channelName (common) | 메시징 채널 이름 | 문자열 | |
| configurationUri (common) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (common) | 기본 동작입니다. | DIRECT | 동작 |
| memberName (common) | Atomix 그룹 멤버 이름 | 문자열 | |
| 노드 (공용) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (일반) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (일반) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
14.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 10 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-messaging.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-messaging.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-messaging.configuration.broadcast-type | broadcast type입니다. | AtomixMessaging$ BroadcastType | |
| camel.component.atomix-messaging.configuration.channel-name | 메시징 채널 이름 | 문자열 | |
| camel.component.atomix-messaging.configuration.default-action | 기본 동작입니다. | AtomixMessaging$Action | |
| camel.component.atomix-messaging.configuration.member-name | Atomix 그룹 멤버 이름 | 문자열 | |
| camel.component.atomix-messaging.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-messaging.enabled | atomix-messaging 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-messaging.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-messaging.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
15장. Atomix MultiMap 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-multimap 구성 요소를 사용하면 Atomix의 Distributed MultiMap 컬렉션을 사용할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
15.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-multimap:multiMapName
atomix-multimap:multiMapName
Atomix MultiMap 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (consumer) | 공유 구성 요소 구성 | AtomixMultiMap 구성 | |
| Atomix (consumer) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (consumer) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (consumer) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix MultiMap 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-multimap:resourceName
atomix-multimap:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
15.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
15.1.2. 쿼리 매개변수(18 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (consumer) | 사용할 Atomix 인스턴스 | Atomix | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| configurationUri (consumer) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (consumer) | 기본 동작입니다. | PUT | 동작 |
| 키 (consumer) | 헤더에 설정되지 않거나 특정 키에 대한 이벤트를 수신 대기하는 경우 사용할 키입니다. | 개체 | |
| 노드 (consumer) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (consumer) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (consumer) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| TTL ( consumer) | 리소스 ttl. | long | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
15.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-multimap.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-multimap.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-multimap.configuration.default-action | 기본 동작입니다. | AtomixMultiMap$Action | |
| camel.component.atomix-multimap.configuration.key | 헤더에 설정되지 않거나 특정 키에 대한 이벤트를 수신 대기하는 경우 사용할 키입니다. | 개체 | |
| camel.component.atomix-multimap.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-multimap.configuration.ttl | 리소스 ttl. | long | |
| camel.component.atomix-multimap.enabled | atomix-multimap 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-multimap.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-multimap.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
16장. Atomix Queue 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-queue 구성 요소를 사용하면 Atomix의 분산 대기열 컬렉션을 사용할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
16.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-queue:queueName
atomix-queue:queueName
Atomix Queue 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성 요소 구성 | AtomixQueue 구성 | |
| Atomix (common) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (공용) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (common) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix Queue 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-queue:resourceName
atomix-queue:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
16.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
16.1.2. 쿼리 매개변수(16 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (common) | 사용할 Atomix 인스턴스 | Atomix | |
| configurationUri (common) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (common) | 기본 동작입니다. | ADD | 동작 |
| 노드 (공용) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (일반) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (일반) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
16.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 7 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-queue.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-queue.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-queue.configuration.default-action | 기본 동작입니다. | AtomixQueue$Action | |
| camel.component.atomix-queue.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-queue.enabled | atomix-queue 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-queue.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-queue.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
17장. Atomix 설정 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-set 구성 요소를 사용하면 Atomix의 분산 세트 컬렉션을 사용할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
17.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-set:setName
atomix-set:setName
Atomix Set 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성 요소 구성 | AtomixSetConfiguration | |
| Atomix (common) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (공용) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (common) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix Set 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-set:resourceName
atomix-set:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
17.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
17.1.2. 쿼리 매개변수(17 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (common) | 사용할 Atomix 인스턴스 | Atomix | |
| configurationUri (common) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (common) | 기본 동작입니다. | ADD | 동작 |
| 노드 (공용) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (일반) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (일반) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| TTL ( 일반) | 리소스 ttl. | long | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
17.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 8 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-set.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-set.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-set.configuration.default-action | 기본 동작입니다. | AtomixSet$Action | |
| camel.component.atomix-set.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-set.configuration.ttl | 리소스 ttl. | long | |
| camel.component.atomix-set.enabled | atomix-set 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-set.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-set.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
18장. Atomix 값 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
camel atomix-value 구성 요소를 사용하면 Atomix의 분산 가치 와 함께 작업 할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atomix</artifactId>
<version>${camel-version}</version>
</dependency>
18.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
atomix-value:valueName
atomix-value:valueName
Atomix Value 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성 요소 구성 | AtomixValue 구성 | |
| Atomix (common) | 공유 AtomixClient 인스턴스 | AtomixClient | |
| 노드 (공용) | AtomixClient가 연결해야 하는 노드 | list | |
| configurationUri (common) | AtomixClient 설정 경로 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Atomix Value 끝점은 URI 구문을 사용하여 구성됩니다.
atomix-value:resourceName
atomix-value:resourceName
다음 경로 및 쿼리 매개변수를 사용합니다.
18.1.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| resourceName | 필수 리소스 이름 | 문자열 |
18.1.2. 쿼리 매개변수(17 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| Atomix (common) | 사용할 Atomix 인스턴스 | Atomix | |
| configurationUri (common) | Atomix 구성 uri입니다. | 문자열 | |
| defaultAction (common) | 기본 동작입니다. | SET | 동작 |
| 노드 (공용) | 클러스터를 구성하는 노드의 주소입니다. | 문자열 | |
| resultHeader (일반) | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| 전송 (일반) | Atomix 전송을 설정합니다. | io.atomix.catalyst.transport.netty.NettyTransport | 전송 |
| TTL ( 일반) | 리소스 ttl. | long | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| defaultResourceConfig (고급) | 클러스터의 기본 리소스 구성입니다. | 속성 | |
| defaultResourceOptions (고급) | 로컬 기본 리소스 옵션입니다. | 속성 | |
| 임시 (advanced) | 로컬 멤버가 그룹을 PersistentMember로 조인해야 하는지 여부를 설정합니다. ephemeral로 설정하면 로컬 멤버가 자동 생성된 ID를 수신하므로 로컬 멤버는 무시됩니다. | false | boolean |
| ReadConsistency (advanced) | 읽기 일관성 수준입니다. | ReadConsistency | |
| resourceConfigs (고급) | 클러스터 전체 리소스 구성. | map | |
| resourceOptions (고급) | 로컬 리소스 구성 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
18.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 8 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.atomix-value.atomix | 공유 AtomixClient 인스턴스입니다. 옵션은 io.atomix.AtomixClient 유형입니다. | 문자열 | |
| camel.component.atomix-value.configuration-uri | AtomixClient 설정 경로 | 문자열 | |
| camel.component.atomix-value.configuration.default-action | 기본 동작입니다. | AtomixValue$Action | |
| camel.component.atomix-value.configuration.result-header | wil이 결과를 전달하는 헤더입니다. | 문자열 | |
| camel.component.atomix-value.configuration.ttl | 리소스 ttl. | long | |
| camel.component.atomix-value.enabled | atomix-value 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.atomix-value.nodes | AtomixClient가 연결해야 하는 노드 | list | |
| camel.component.atomix-value.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
19장. Avro 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.10에서 사용 가능
이 구성 요소는 Apache Avro의 바이너리 데이터 형식을 사용하여 메시지를 직렬화하고 역직렬화할 수 있도록 하는 avro의 dataformat을 제공합니다. 또한 netty 또는 http를 통해 avro 및 consumers 끝점을 사용하도록 생산자 및 소비자 끝점을 제공하여 Apache Avro의 rpc를 지원합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
19.1. Apache Avro 개요 링크 복사링크가 클립보드에 복사되었습니다!
Avro를 사용하면 json과 같은 형식을 사용하여 메시지 유형과 프로토콜을 정의한 다음 지정된 유형 및 메시지에 대해 java 코드를 생성할 수 있습니다. 스키마가 어떻게 보이는지의 예는 다음과 같습니다.
maven, ant 등을 사용하여 스키마에서 클래스를 쉽게 생성할 수 있습니다. 자세한 내용은 Apache Avro 설명서에서 확인할 수 있습니다.
그러나 스키마를 첫 번째 접근 방식은 적용하지 않으며 기존 클래스에 대한 스키마를 만들 수 있습니다.However, it doesn't enforce a schema first approach and you can create schema for your existing classes. 2.12부터 기존 프로토콜 인터페이스를 사용하여 RCP 호출을 수행할 수 있습니다. 프로토콜 자체에 인터페이스를 사용하고 매개 변수 및 결과 유형에 대해 POJO 빈 또는 기본/문자열 클래스를 사용해야 합니다. 위의 스키마에 해당하는 클래스의 예는 다음과 같습니다.Here is an example of the class that corresponds to schema above:
참고: 기존 클래스는 데이터 형식이 아닌 RPC(아래 참조)에만 사용할 수 있습니다.
19.2. Avro 데이터 형식 사용 링크 복사링크가 클립보드에 복사되었습니다!
avro 데이터 형식을 사용하는 것은 라우팅에서 마샬링하거나 마샬링할 클래스를 지정하는 것만큼 쉽습니다.
대안은 컨텍스트 내에서 dataformat을 지정하고 경로에서 참조할 수 있습니다.
같은 방식으로 avro 데이터 형식을 사용하여 umarshal을 사용할 수 있습니다.
19.3. Camel에서 Avro RPC 사용 링크 복사링크가 클립보드에 복사되었습니다!
위에서 언급한 바와 같이 Avro는 http 및 netty와 같은 여러 전송에 대한 RPC 지원도 제공합니다. Camel은 이 두 가지 전송에 대한 소비자와 생산자를 제공합니다.
avro:[transport]:[host]:[port][?options]
avro:[transport]:[host]:[port][?options]
지원되는 전송 값은 현재 http 또는 netty입니다.
2.12 이후에는 URI에 메시지 이름을 바로 지정할 수 있습니다.
avro:[transport]:[host]:[port][/messageName][?options]
avro:[transport]:[host]:[port][/messageName][?options]
소비자의 경우 이를 통해 동일한 소켓에 여러 개의 경로가 연결됩니다. 올바른 경로로 디스패치하는 것은 avro 구성 요소에서 자동으로 수행됩니다. messageName이 지정되지 않은 경로(있는 경우)는 기본값으로 사용됩니다.
avro ipc에 대한 camel 생산자를 사용할 때 "인" 메시지 본문에는 avro 프로토콜에 지정된 작업의 매개 변수가 포함되어야 합니다. "out" 메시지의 본문에 응답이 추가됩니다.
avro ipc에 camel avro 소비자를 사용하는 것과 유사한 방식으로, 요청 매개 변수는 생성된 교환의 "인" 메시지 본문에 배치되고 교환이 "out" 메시지의 본문을 처리하면 응답이 전송됩니다.
참고: 기본 소비자 매개변수는 배열로 래핑됩니다. If you've only one parameter, since 2.12 you can use singleParameter URI option to receive it direcly in the "in" message body without array wrapping.
19.4. Avro RPC URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Avro 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | 공유 AvroConfiguration을 사용하여 옵션을 한 번 구성 | AvroConfiguration | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Avro 엔드포인트는 URI 구문을 사용하여 구성됩니다.
avro:transport:host:port/messageName
avro:transport:host:port/messageName
다음 경로 및 쿼리 매개변수를 사용합니다.
19.4.1. 경로 매개 변수 (4 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 전송 | 사용할 필수 전송은 http 또는 netty일 수 있습니다. | AvroTransport | |
| port | 사용할 필수 포트 번호 | int | |
| host | 사용하는 데 필요한 호스트 이름 | 문자열 | |
| messageName | 보낼 메시지의 이름입니다. | 문자열 |
19.4.2. 쿼리 매개 변수(10 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 프로토콜 (일반) | 사용할 Avro 프로토콜 | 프로토콜 | |
| protocolClassName (common) | FQN 클래스 이름으로 정의된 Avro 프로토콜 | 문자열 | |
| protocolLocation (공용) | Avro 프로토콜 위치 | 문자열 | |
| reflectionProtocol (common) | 제공되는 protocol 오브젝트가 리플렉션 프로토콜입니다. protocolClassName 프로토콜 유형에서 자동으로 감지되므로 protocol 매개 변수에서만 사용해야 합니다. | false | boolean |
| singleParameter (common) | true인 경우 consumer 매개변수는 배열로 래핑되지 않습니다. protocol이 메시지에 대해 1개의 매개 변수를 더 많이 지정하는 경우 실패합니다. | false | boolean |
| uriAuthority (일반) | 사용 권한(사용자 이름 및 암호) | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
19.5. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 15 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.avro.configuration.host | 사용할 호스트 이름 | 문자열 | |
| camel.component.avro.configuration.message-name | 보낼 메시지의 이름입니다. | 문자열 | |
| camel.component.avro.configuration.port | 사용할 포트 번호 | 정수 | |
| camel.component.avro.configuration.protocol | 사용할 Avro 프로토콜 | 프로토콜 | |
| camel.component.avro.configuration.protocol-class-name | FQN 클래스 이름으로 정의된 Avro 프로토콜 | 문자열 | |
| camel.component.avro.configuration.protocol-location | Avro 프로토콜 위치 | 문자열 | |
| camel.component.avro.configuration.reflection-protocol | 제공되는 protocol 오브젝트가 리플렉션 프로토콜입니다. protocolClassName 프로토콜 유형에서 자동으로 감지되므로 protocol 매개 변수에서만 사용해야 합니다. | false | 부울 |
| camel.component.avro.configuration.single-parameter | true인 경우 consumer 매개변수는 배열로 래핑되지 않습니다. protocol이 메시지에 대해 1개의 매개 변수를 더 많이 지정하는 경우 실패합니다. | false | 부울 |
| camel.component.avro.configuration.transport | 사용할 전송은 http 또는 netty일 수 있습니다. | AvroTransport | |
| camel.component.avro.configuration.uri-authority | 사용 권한(사용자 이름 및 암호) | 문자열 | |
| camel.component.avro.enabled | avro 구성 요소 활성화 | true | 부울 |
| camel.component.avro.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.dataformat.avro.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.avro.enabled | avro dataformat 활성화 | true | 부울 |
| camel.dataformat.avro.instance-class-name | 마샬링 및 unmarshalling에 사용할 클래스 이름 | 문자열 |
19.6. avro RPC 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 |
|---|---|
|
| 보낼 메시지의 이름입니다. in consumer는 URI에서 메시지 이름을 재정의합니다(있는 경우) |
19.7. 예제 링크 복사링크가 클립보드에 복사되었습니다!
http를 통한 camel avro 생산자 사용 예:
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
위의 예에서는 CamelAvroMessageName 헤더를 채워야 합니다. 2.12 이후 다음 구문을 사용하여 일정한 메시지를 호출할 수 있습니다.
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
netty를 통해 camel avro 소비자를 사용하여 메시지를 사용하는 예:
2.12부터 동일한 작업을 수행하도록 두 개의 다른 경로를 설정할 수 있습니다.
위의 예제에서 get은 하나의 매개 변수만 사용하므로 singleParameter 가 사용되므로 getProcessor 는 본문에서 Value 클래스를 직접 수신하지만 putProcessor 는 String 키와 Value 값이 배열 콘텐츠로 입력된 크기 2의 배열을 수신합니다.
20장. Avro DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.14로 사용 가능
이 구성 요소는 Apache Avro의 바이너리 데이터 형식을 사용하여 메시지를 직렬화하고 역직렬화할 수 있도록 하는 avro의 dataformat을 제공합니다. 또한 netty 또는 http를 통해 avro 및 consumers 끝점을 사용하도록 생산자 및 소비자 끝점을 제공하여 Apache Avro의 rpc를 지원합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
20.1. Apache Avro 개요 링크 복사링크가 클립보드에 복사되었습니다!
Avro를 사용하면 json과 같은 형식을 사용하여 메시지 유형과 프로토콜을 정의한 다음 지정된 유형 및 메시지에 대해 java 코드를 생성할 수 있습니다. 스키마가 어떻게 보이는지의 예는 다음과 같습니다.
maven, ant 등을 사용하여 스키마에서 클래스를 쉽게 생성할 수 있습니다. 자세한 내용은 Apache Avro 설명서에서 확인할 수 있습니다.
그러나 스키마를 첫 번째 접근 방식은 적용하지 않으며 기존 클래스에 대한 스키마를 만들 수 있습니다.However, it doesn't enforce a schema first approach and you can create schema for your existing classes. 2.12부터 기존 프로토콜 인터페이스를 사용하여 RCP 호출을 수행할 수 있습니다. 프로토콜 자체에 인터페이스를 사용하고 매개 변수 및 결과 유형에 대해 POJO 빈 또는 기본/문자열 클래스를 사용해야 합니다. 위의 스키마에 해당하는 클래스의 예는 다음과 같습니다.Here is an example of the class that corresponds to schema above:
참고: 기존 클래스는 데이터 형식이 아닌 RPC(아래 참조)에만 사용할 수 있습니다.
20.2. Avro 데이터 형식 사용 링크 복사링크가 클립보드에 복사되었습니다!
avro 데이터 형식을 사용하는 것은 라우팅에서 마샬링하거나 마샬링할 클래스를 지정하는 것만큼 쉽습니다.
대안은 컨텍스트 내에서 dataformat을 지정하고 경로에서 참조할 수 있습니다.
같은 방식으로 avro 데이터 형식을 사용하여 umarshal을 사용할 수 있습니다.
20.3. Avro Dataformat 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Avro dataformat은 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| instanceClassName |
| 마샬링 및 unmarshalling에 사용할 클래스 이름 | |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
20.4. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 15 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.avro.configuration.host | 사용할 호스트 이름 | 문자열 | |
| camel.component.avro.configuration.message-name | 보낼 메시지의 이름입니다. | 문자열 | |
| camel.component.avro.configuration.port | 사용할 포트 번호 | 정수 | |
| camel.component.avro.configuration.protocol | 사용할 Avro 프로토콜 | 프로토콜 | |
| camel.component.avro.configuration.protocol-class-name | FQN 클래스 이름으로 정의된 Avro 프로토콜 | 문자열 | |
| camel.component.avro.configuration.protocol-location | Avro 프로토콜 위치 | 문자열 | |
| camel.component.avro.configuration.reflection-protocol | 제공되는 protocol 오브젝트가 리플렉션 프로토콜입니다. protocolClassName 프로토콜 유형에서 자동으로 감지되므로 protocol 매개 변수에서만 사용해야 합니다. | false | 부울 |
| camel.component.avro.configuration.single-parameter | true인 경우 consumer 매개변수는 배열로 래핑되지 않습니다. protocol이 메시지에 대해 1개의 매개 변수를 더 많이 지정하는 경우 실패합니다. | false | 부울 |
| camel.component.avro.configuration.transport | 사용할 전송은 http 또는 netty일 수 있습니다. | AvroTransport | |
| camel.component.avro.configuration.uri-authority | 사용 권한(사용자 이름 및 암호) | 문자열 | |
| camel.component.avro.enabled | avro 구성 요소 활성화 | true | 부울 |
| camel.component.avro.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.dataformat.avro.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.avro.enabled | avro dataformat 활성화 | true | 부울 |
| camel.dataformat.avro.instance-class-name | 마샬링 및 unmarshalling에 사용할 클래스 이름 | 문자열 |
ND
21장. AWS CloudWatch Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.11로 사용 가능
CW 구성 요소를 사용하면 메시지를 Amazon CloudWatch 지표로 보낼 수 있습니다. Amazon API 구현은 AWS SDK 에서 제공합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon CloudWatch를 사용하려면 등록해야 합니다. 자세한 내용은 Amazon CloudWatch 에서 확인할 수 있습니다.
21.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-cw://namespace[?options]
aws-cw://namespace[?options]
메트릭이 아직 없는 경우 생성됩니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
21.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS CloudWatch 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS CW 기본 구성 | CwConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | CW 클라이언트가 작업해야 하는 지역 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS CloudWatch 끝점은 URI 구문을 사용하여 구성됩니다.
aws-cw:namespace
aws-cw:namespace
다음 경로 및 쿼리 매개변수를 사용합니다.
21.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| namespace | 필수 지표 네임스페이스 | 문자열 |
21.2.2. 쿼리 매개변수(11 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonCwClient (producer) | AmazonCloudWatch를 클라이언트로 사용 | AmazonCloudWatch | |
| 이름 (producer) | 메트릭 이름 | 문자열 | |
| proxyHost (producer) | CW 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | CW 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| 리전 (producer) | CW 클라이언트가 작업해야 하는 지역 | 문자열 | |
| 타임 스탬프 (producer) | 메트릭 타임스탬프 | 날짜 | |
| 단위 (producer) | 메트릭 단위 | 문자열 | |
| 값 (producer) | 메트릭 값 | double | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
21.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 16 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-cw.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-cw.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-cw.configuration.amazon-cw-client | AmazonCloudWatch를 클라이언트로 사용 | AmazonCloudWatch | |
| camel.component.aws-cw.configuration.name | 메트릭 이름 | 문자열 | |
| camel.component.aws-cw.configuration.namespace | 메트릭 네임스페이스 | 문자열 | |
| camel.component.aws-cw.configuration.proxy-host | CW 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-cw.configuration.proxy-port | CW 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-cw.configuration.region | CW 클라이언트가 작업해야 하는 지역 | 문자열 | |
| camel.component.aws-cw.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-cw.configuration.timestamp | 메트릭 타임스탬프 | 날짜 | |
| camel.component.aws-cw.configuration.unit | 메트릭 단위 | 문자열 | |
| camel.component.aws-cw.configuration.value | 메트릭 값 | double | |
| camel.component.aws-cw.enabled | aws-cw 구성 요소 활성화 | true | 부울 |
| camel.component.aws-cw.region | CW 클라이언트가 작업해야 하는 지역 | 문자열 | |
| camel.component.aws-cw.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-cw.secret-key | Amazon AWS Secret Key | 문자열 |
필수 CW 구성 요소 옵션
Amazon의 CloudWatch에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonCwClient를 제공해야 합니다.
21.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
21.4.1. CW 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Amazon CW 지표 이름입니다. |
|
|
| Amazon CW 지표 값입니다. |
|
|
| Amazon CW 지표 단위입니다. |
|
|
| Amazon CW 지표 네임스페이스입니다. |
|
|
| Amazon CW 지표 타임 스탬프입니다. |
|
|
| Camel 2.12: Amazon CW 지표 크기 이름입니다. |
|
|
| Camel 2.12: Amazon CW 지표 크기 값. |
|
|
| Camel 2.12: 차원 이름 및 차원 값의 맵입니다. |
21.4.2. 고급 AmazonCloudWatch 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonCloudWatch 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 만들고 URI에서 참조할 수 있습니다.
from("direct:start")
.to("aws-cw://namepsace?amazonCwClient=#client");
from("direct:start")
.to("aws-cw://namepsace?amazonCwClient=#client");
#client 는 레지스트리에서 AmazonCloudWatch 를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
21.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.10 이상)으로 교체해야 합니다.
21.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
22장. AWS DynamoDB Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.10에서 사용 가능
DynamoDB 구성 요소는 Amazon의 DynamoDB 서비스에서 데이터를 저장하고 검색할 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon DynamoDB를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon DynamoDB 에서 확인할 수 있습니다.
22.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-ddb://domainName[?options]
aws-ddb://domainName[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
22.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS DynamoDB 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS DDB 기본 구성 | DdbConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | DDB 클라이언트가 작업해야 하는 리전 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS DynamoDB 끝점은 URI 구문을 사용하여 구성됩니다.
aws-ddb:tableName
aws-ddb:tableName
다음 경로 및 쿼리 매개변수를 사용합니다.
22.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| tableName | 필수 필수 현재 작업 중인 테이블의 이름입니다. | 문자열 |
22.2.2. 쿼리 매개변수(13 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonDDBClient (producer) | AmazonDynamoDB를 클라이언트로 사용하기 | AmazonDynamoDB | |
| ConsistentRead (producer) | 데이터를 읽을 때 강력한 일관성을 강제 적용할지 여부를 결정합니다.Determines whether or not strong consistency should be enforced when data is read. | false | boolean |
| keyAttributeName (producer) | 테이블 생성 시 특성 이름 | 문자열 | |
| keyAttributeType (producer) | 테이블을 만들 때 특성 유형 | 문자열 | |
| 작업 (producer) | 수행할 작업 | PutItem | DdbOperations |
| proxyHost (producer) | DDB 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | DDB 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| readCapacity (producer) | 표에서 리소스를 읽기 위해 예약하는 프로비저닝된 처리량 | long | |
| 리전 (producer) | DDB 클라이언트가 작업해야 하는 리전 | 문자열 | |
| writeCapacity (producer) | 테이블에 리소스를 작성하기 위해 예약된 예약된 처리량 | long | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
22.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 18 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-ddb.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ddb.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ddb.configuration.amazon-d-d-b-client | AmazonDynamoDB를 클라이언트로 사용하기 | AmazonDynamoDB | |
| camel.component.aws-ddb.configuration.consistent-read | 데이터를 읽을 때 강력한 일관성을 강제 적용할지 여부를 결정합니다.Determines whether or not strong consistency should be enforced when data is read. | false | 부울 |
| camel.component.aws-ddb.configuration.key-attribute-name | 테이블 생성 시 특성 이름 | 문자열 | |
| camel.component.aws-ddb.configuration.key-attribute-type | 테이블을 만들 때 특성 유형 | 문자열 | |
| camel.component.aws-ddb.configuration.operation | 수행할 작업 | DdbOperations | |
| camel.component.aws-ddb.configuration.proxy-host | DDB 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-ddb.configuration.proxy-port | DDB 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-ddb.configuration.read-capacity | 표에서 리소스를 읽기 위해 예약하는 프로비저닝된 처리량 | long | |
| camel.component.aws-ddb.configuration.region | DDB 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-ddb.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-ddb.configuration.table-name | 현재 작업 중인 테이블의 이름입니다. | 문자열 | |
| camel.component.aws-ddb.configuration.write-capacity | 테이블에 리소스를 작성하기 위해 예약된 예약된 처리량 | long | |
| camel.component.aws-ddb.enabled | aws-ddb 구성 요소 활성화 | true | 부울 |
| camel.component.aws-ddb.region | DDB 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-ddb.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-ddb.secret-key | Amazon AWS Secret Key | 문자열 |
필수 DDB 구성 요소 옵션
Amazon의 DynamoDB에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonDDBClient를 제공해야 합니다.
22.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
22.4.1. DDB 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 기본 키로 가져올 테이블 이름 및 해당 항목의 맵입니다. |
|
|
| 이 작업의 테이블 이름입니다. |
|
|
| 테이블의 각 항목을 고유하게 식별하는 기본 키입니다. Camel 2.16.0에서 이 헤더의 유형은 Map<String, AttributeValue>이며 키가 아닙니다. |
|
|
| 수정되거나 이후에 속성 이름-값 쌍을 가져오려면 이 매개변수를 사용합니다(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW). |
|
|
| 조건부 수정에 대한 특성을 지정합니다.Specifies an attribute for a conditional modification. |
|
|
| 특성 이름을 지정하지 않으면 모든 속성이 반환됩니다. |
|
|
| true로 설정하면 일관된 읽기가 발행되고, 그렇지 않으면 결국 일관성이 유지됩니다. |
|
|
| 설정된 경우 쿼리 작업의 보조 인덱스로 사용됩니다.If set will be used as Secondary Index for Query operation. |
|
|
| 항목의 특성 맵이며 항목을 정의하는 기본 키 값을 포함해야 합니다. |
|
|
| true로 설정하면 Amazon DynamoDB에서 일치하는 항목 목록과 해당 속성 목록 대신 쿼리 매개변수와 일치하는 총 항목 수를 반환합니다. Camel 2.16.0에서 이 헤더는 더 이상 존재하지 않습니다. |
|
|
| Camel 2.16.0에서. 이 헤더는 쿼리에 대한 선택 기준을 지정하고 두 개의 기존 헤더 CamelAwsDdbHashKeyValue 및 CamelAwsDdbScanRangeKeyCondition을 병합합니다. |
|
|
| 이전 쿼리를 계속할 항목의 기본 키입니다.Primary key of the item from which to continue an earlier query. |
|
|
| 복합 기본 키의 해시 구성 요소 값입니다. Camel 2.16.0에서 이 헤더는 더 이상 존재하지 않습니다. |
|
|
| 반환할 최대 항목 수입니다. |
|
|
| 쿼리에 사용할 특성 값 및 비교 연산자의 컨테이너입니다.Camel 2.16.0에서 이 헤더는 더 이상 존재하지 않습니다. |
|
|
| 인덱스의 정방향 또는 후방향 traversal을 지정합니다. |
|
|
| 검사 결과를 평가하고 원하는 값만 반환합니다. |
|
|
| 특성 이름을 새 값에 매핑하고 업데이트에 대한 작업. |
22.4.2. BatchGetItems 작업 중 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 테이블 이름 및 테이블의 각 항목 속성. |
|
|
| 현재 응답으로 처리되지 않은 테이블 및 해당 키의 맵을 포함합니다. |
22.4.3. DeleteItem 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
22.4.4. DeleteTable 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
| ||
|
| 이 테이블에 대한 ProvisionedThroughput 속성의 값입니다. | |
|
|
| 이 테이블의 DateTime입니다. |
|
|
| 이 테이블에 대한 항목 수입니다. |
|
|
| 이 테이블의 기본 키를 식별하는 KeySchema입니다. Camel 2.16.0에서 이 헤더의 유형은 KeySchema가 아닌 List<KeySchemaElement>입니다. |
|
|
| 테이블 이름입니다. |
|
|
| 테이블 크기(바이트)입니다. |
|
|
| 표의 상태: CREATING, UPDATING, DELETING, ACTIVE |
22.4.5. DescribeTable 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
| {{ProvisionedThroughputDescription}} | 이 테이블에 대한 ProvisionedThroughput 속성의 값입니다. |
|
|
| 이 테이블의 DateTime입니다. |
|
|
| 이 테이블에 대한 항목 수입니다. |
|
| {{KeySchema}} | 이 테이블의 기본 키를 식별하는 KeySchema입니다. Camel 2.16.0에서 이 헤더의 유형은 KeySchema가 아닌 List<KeySchemaElement>입니다. |
|
|
| 테이블 이름입니다. |
|
|
| 테이블 크기(바이트)입니다. |
|
|
| 표의 상태: CREATING, UPDATING, DELETING, ACTIVE |
|
|
| 이 테이블의 ReadCapacityUnits 속성입니다. |
|
|
| 이 테이블의 WriteCapacityUnits 속성입니다. |
22.4.6. GetItem 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
22.4.7. PutItem 작업 중 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
22.4.8. 쿼리 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
|
|
| 이전 결과 집합을 포함하여 쿼리 작업이 중지된 항목의 기본 키입니다. |
|
|
| 작업 중 사용되는 테이블의 프로비저닝된 처리량의 용량 단위 수입니다. |
|
|
| 응답의 항목 수입니다. |
22.4.9. Scan 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
|
|
| 이전 결과 집합을 포함하여 쿼리 작업이 중지된 항목의 기본 키입니다. |
|
|
| 작업 중 사용되는 테이블의 프로비저닝된 처리량의 용량 단위 수입니다. |
|
|
| 응답의 항목 수입니다. |
|
|
| 필터를 적용하기 전에 전체 검사의 항목 수입니다. |
22.4.10. UpdateItem 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
22.4.11. 고급 AmazonDynamoDB 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonDynamoDB 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 생성하고 URI에서 해당 인스턴스를 참조할 수 있습니다.
from("direct:start")
.to("aws-ddb://domainName?amazonDDBClient=#client");
from("direct:start")
.to("aws-ddb://domainName?amazonDDBClient=#client");
#client 는 레지스트리의 AmazonDynamoDB 를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
22.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.10 이상)으로 교체해야 합니다.
22.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
23장. AWS DynamoDB Streams Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.17로 사용 가능
DynamoDB Stream 구성 요소는 Amazon DynamoDB Stream 서비스에서 제공하는 메시지 수신을 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon DynamoDB Streams를 사용하려면 가입해야 합니다. 자세한 내용은 AWS DynamoDB에서 확인할 수 있습니다.
23.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-ddbstream://table-name[?options]
aws-ddbstream://table-name[?options]
스트림을 사용하기 전에 생성해야 합니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
23.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS DynamoDB Streams 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS DDB 스트림 기본 구성 | DdbStreamConfiguration | |
| 액세스 키 (consumer) | Amazon AWS Access Key | 문자열 | |
| secretKey (consumer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (consumer) | Amazon AWS Region | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS DynamoDB Streams 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-ddbstream:tableName
aws-ddbstream:tableName
다음 경로 및 쿼리 매개변수를 사용합니다.
23.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| tableName | 필수 dynamodb 테이블의 이름 | 문자열 |
23.2.2. 쿼리 매개변수(28 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonDynamoDbStreams 클라이언트 (consumer) | 이 끝점에 대한 모든 요청에 사용하는 Amazon DynamoDB 클라이언트 | AmazonDynamoDBStreams | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| iteratorType (consumer) | DynaboDB 스트림에서 레코드 가져오기를 시작하는 위치를 정의합니다. TRIM_HORIZON을 사용하면 스트림이 실시간으로 감지되기 전에 상당한 지연을 일으킬 수 있습니다. AT,AFTER_SEQUENCE_NUMBER를 사용하는 경우 sequenceNumberProvider를 제공해야 합니다. | 최신 | ShardIteratorType |
| maxResultsPerRequest (consumer) | 각 폴링에서 가져올 최대 레코드 수 | int | |
| proxyHost (consumer) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (consumer) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| 리전 (consumer) | DDBStreams 클라이언트가 작동해야 하는 리전 | 문자열 | |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| sequenceNumberProvider (consumer) | 두 ShardIteratorType.AT,AFTER_SEQUENCE_NUMBER iterator 유형 중 하나를 사용할 때 시퀀스 번호 공급자입니다. 레지스트리 참조 또는 리터럴 시퀀스 번호일 수 있습니다. | SequenceNumberProvider | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
23.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 15 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-ddbstream.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ddbstream.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ddbstream.configuration.amazon-dynamo-db-streams-client | 이 끝점에 대한 모든 요청에 사용하는 Amazon DynamoDB 클라이언트 | AmazonDynamoDBStreams | |
| camel.component.aws-ddbstream.configuration.iterator-type | DynaboDB 스트림에서 레코드 가져오기를 시작하는 위치를 정의합니다. TRIM_HORIZON을 사용하면 스트림이 실시간으로 감지되기 전에 상당한 지연을 일으킬 수 있습니다. AT,AFTER_SEQUENCE_NUMBER를 사용하는 경우 sequenceNumberProvider를 제공해야 합니다. | ShardIteratorType | |
| camel.component.aws-ddbstream.configuration.max-results-per-request | 각 폴링에서 가져올 최대 레코드 수 | 정수 | |
| camel.component.aws-ddbstream.configuration.proxy-host | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-ddbstream.configuration.proxy-port | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| camel.component.aws-ddbstream.configuration.region | DDBStreams 클라이언트가 작동해야 하는 리전 | 문자열 | |
| camel.component.aws-ddbstream.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-ddbstream.configuration.sequence-number-provider | 두 ShardIteratorType.AT,AFTER_SEQUENCE_NUMBER iterator 유형 중 하나를 사용할 때 시퀀스 번호 공급자입니다. 레지스트리 참조 또는 리터럴 시퀀스 번호일 수 있습니다. | SequenceNumberProvider | |
| camel.component.aws-ddbstream.configuration.table-name | dynamodb 테이블의 이름 | 문자열 | |
| camel.component.aws-ddbstream.enabled | aws-ddbstream 구성 요소 활성화 | true | 부울 |
| camel.component.aws-ddbstream.region | Amazon AWS Region | 문자열 | |
| camel.component.aws-ddbstream.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-ddbstream.secret-key | Amazon AWS Secret Key | 문자열 |
필수 DynampDBStream 구성 요소 옵션
레지스트리에 프록시 및 관련 자격 증명이 구성된 AmazonDynamoDbStreamsClient를 제공해야 합니다.
23.4. 시퀀스 번호 링크 복사링크가 클립보드에 복사되었습니다!
리터럴 문자열을 시퀀스 번호로 제공하거나 레지스트리에 빈을 제공할 수 있습니다. 빈을 사용하는 예는 현재 위치를 변경 피드에 저장하고 Camel 시작 시 복원하는 예입니다.
describe-streams 결과에서 가장 큰 시퀀스 수보다 큰 시퀀스 번호를 제공하는 것은 AWS 호출이 HTTP 400을 반환하므로 오류입니다.
23.5. batch Consumer 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 배치 소비자를 구현합니다.
예를 들어 이 배치에 있는 메시지 수를 알 수 있으며, 예를 들어 집계에서 이 메시지 수를 집계할 수 있습니다.
23.6. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
23.6.1. AmazonDynamoDBStreamsClient configuration 링크 복사링크가 클립보드에 복사되었습니다!
AmazonDynamoDBStreamsClient 인스턴스를 생성하고 레지스트리에 바인딩해야 합니다.
23.6.2. AWS 자격 증명 제공 링크 복사링크가 클립보드에 복사되었습니다!
새 ClientConfiguration 인스턴스를 생성할 때 기본값인 DefaultAWSCredentialsProviderChain 을 사용하여 인증 정보를 가져오는 것이 좋지만, createClient(…)를 호출할 때 다른 AWSCredentialsProvider 를 지정할 수 있습니다.
23.7. Downtime으로 속일 수 있습니다. 링크 복사링크가 클립보드에 복사되었습니다!
23.7.1. AWS DynamoDB Streams 중단 24시간 미만 링크 복사링크가 클립보드에 복사되었습니다!
소비자는 마지막으로 표시된 시퀀스 번호( CAMEL-9515용으로 구현됨)에서 다시 시작되므로, 서비스 중단에 innovation 자체도 포함되지 않은 한 빠른 연속으로 이벤트 홍수를 받아야 합니다.
23.7.2. AWS DynamoDB Streams의 24시간 이상 중단 링크 복사링크가 클립보드에 복사되었습니다!
AWS는 변경 사항의 24 시간 가치만 유지한다는 점을 감안할 때 어떤 완화 조치가 있는지에 관계없이 변경 이벤트가 누락됩니다.
23.8. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.7 이상)으로 교체해야 합니다.
23.9. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
-
AWS Component
+
24장. AWS EC2 Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.16에서 사용 가능
EC2 구성 요소는 AWS EC2 인스턴스를 생성, 실행, 시작, 중지 및 종료합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon EC2를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon EC2 에서 확인할 수 있습니다.
24.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-ec2://label[?options]
aws-ec2://label[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
24.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS EC2 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS EC2 기본 구성 | EC2Configuration | |
| 리전 (producer) | EC2 클라이언트가 작업해야 하는 리전 | 문자열 | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS EC2 엔드 포인트는 URI 구문을 사용하여 구성됩니다.
aws-ec2:label
aws-ec2:label
다음 경로 및 쿼리 매개변수를 사용합니다.
24.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| label | 필수 논리 이름 | 문자열 |
24.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| AmazonEc2Client (producer) | 기존 구성된 AmazonEC2Client를 클라이언트로 사용하려면 | AmazonEC2Client | |
| 작업 (producer) | 수행해야 하는 작업입니다.The operation to perform. createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstances, rebootInstances, monitorInstances, unmonitorInstances, createTags 또는 deleteTags일 수 있습니다. | EC2Operations | |
| proxyHost (producer) | EC2 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | EC2 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| 리전 (producer) | EC2 클라이언트가 작업해야 하는 리전 | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
24.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 12 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-ec2.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ec2.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ec2.configuration.amazon-ec2-client | 기존 구성된 AmazonEC2Client를 클라이언트로 사용하려면 | AmazonEC2Client | |
| camel.component.aws-ec2.configuration.operation | 수행할 작업입니다. createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstances, rebootInstances, monitorInstances, unmonitorInstances, createTags 또는 deleteTags일 수 있습니다. | EC2Operations | |
| camel.component.aws-ec2.configuration.proxy-host | EC2 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-ec2.configuration.proxy-port | EC2 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-ec2.configuration.region | EC2 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-ec2.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-ec2.enabled | aws-ec2 구성 요소 활성화 | true | 부울 |
| camel.component.aws-ec2.region | EC2 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-ec2.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-ec2.secret-key | Amazon AWS Secret Key | 문자열 |
필수 EC2 구성 요소 옵션
Amazon EC2 서비스에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonEc2Client를 제공해야 합니다.
24.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
24.4.1. EC2 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| AWS Marketplace의 이미지 ID |
|
| com.amazonaws.services.ec2.model.InstanceType | 만들고 실행하려는 인스턴스 유형입니다. |
|
|
| 수행하려는 작업 |
|
|
| 실행하려는 최소 인스턴스 수입니다. |
|
|
| 실행할 최대 인스턴스 수입니다. |
|
| 부울 | 실행 중인 인스턴스를 모니터링하려면 정의 |
|
|
| 생성 인스턴스가 EBS I/O에 최적화되었는지 여부를 정의합니다. |
|
| 소프트웨어 컬렉션 | 인스턴스에 연결할 보안 그룹 |
|
|
| 시작, 중지, 설명 및 종료 작업을 실행할 인스턴스 IDS 컬렉션입니다. |
|
|
| EC2 리소스에서 추가하거나 제거할 태그 컬렉션입니다. |
종속 항목
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.16 이상)으로 교체해야 합니다.
24.5. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
25장. AWS IAM 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.23에서 사용 가능
KMS 구성 요소는 AWS IAM 인스턴스를 생성, 실행, 시작, 중지 및 종료합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있고 Amazon IAM을 사용하려면 가입해야 합니다. 자세한 내용은 Amazon IAM 에서 확인할 수 있습니다.
25.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-kms://label[?options]
aws-kms://label[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
25.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS IAM 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS IAM 기본 구성 | iamConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | IAM 클라이언트가 작동해야 하는 리전 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS IAM 끝점은 URI 구문을 사용하여 구성됩니다.
aws-iam:label
aws-iam:label
다음 경로 및 쿼리 매개변수를 사용합니다.
25.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| label | 필수 논리 이름 | 문자열 |
25.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| iamClient (producer) | 기존 구성된 AWS IAM을 클라이언트로 사용하려면 | AmazonIdentity ManagementClient | |
| 작업 (producer) | 필수 작업 수행 | IAMOperations | |
| proxyHost (producer) | KMS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | KMS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| 리전 (producer) | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
25.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 12 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-iam.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-iam.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-iam.configuration.iam-client | 기존 구성된 AWS IAM을 클라이언트로 사용하려면 | AmazonIdentity ManagementClient | |
| camel.component.aws-iam.configuration.operation | 수행할 작업 | IAMOperations | |
| camel.component.aws-iam.configuration.proxy-host | KMS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-iam.configuration.proxy-port | KMS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| camel.component.aws-iam.configuration.region | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-iam.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-iam.enabled | aws-iam 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.aws-iam.region | IAM 클라이언트가 작동해야 하는 리전 | 문자열 | |
| camel.component.aws-iam.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-iam.secret-key | Amazon AWS Secret Key | 문자열 |
필수 IAM 구성 요소 옵션
Amazon IAM 서비스에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonKmsClient를 제공해야 합니다.
25.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
25.4.1. IAM 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 수행하려는 작업 |
|
|
| 관리할 사용자의 사용자 이름 |
|
|
| 관리하려는 accessKey |
|
|
| 설정할 AccessKey의 Status(상태)는 활성 상태이고 비활성입니다. |
25.4.2. IAM Producer 작업 링크 복사링크가 클립보드에 복사되었습니다!
Camel-AWS IAM 구성 요소는 생산자 측에서 다음과 같은 작업을 제공합니다.
- listAccessKeys
- createUser
- deleteUser
- listUsers
- getUser
- createAccessKey
- deleteAccessKey
- updateAccessKey
종속 항목
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.16 이상)으로 교체해야 합니다.
25.5. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
26장. AWS Kinesis Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.17로 사용 가능
Kinesis 구성 요소는 Amazon Kinesis 서비스에서 메시지를 수신하고 메시지를 보낼 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon Kinesis를 사용하려면 가입해야 합니다. 자세한 내용은 AWS Kinesis에서 확인할 수 있습니다.
26.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-kinesis://stream-name[?options]
aws-kinesis://stream-name[?options]
스트림을 사용하기 전에 생성해야 합니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
26.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Kinesis 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS S3 기본 구성 | KinesisConfiguration | |
| accesskey (공용) | Amazon AWS Access Key | 문자열 | |
| secretKey (common) | Amazon AWS Secret Key | 문자열 | |
| region (공용) | Amazon AWS Region | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Kinesis 끝점은 URI 구문을 사용하여 구성됩니다.
aws-kinesis:streamName
aws-kinesis:streamName
다음 경로 및 쿼리 매개변수를 사용합니다.
26.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| streamName | 스트림의 필수 이름입니다. | 문자열 |
26.2.2. 쿼리 매개변수(30 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonKinesisClient (일반) | 이 끝점에 대한 모든 요청에 사용할 Amazon Kinesis 클라이언트 | AmazonKinesis | |
| proxyHost (일반) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (공용) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| region (공용) | Kinesis 클라이언트가 작동해야 하는 리전 | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| iteratorType (consumer) | records 가져오기를 시작하기 위한 Kinesis 스트림에서 위치를 정의합니다. | TRIM_HORIZON | ShardIteratorType |
| maxResultsPerRequest (consumer) | 각 폴링에서 가져올 최대 레코드 수 | 1 | int |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| sequenceNumber (consumer) | 폴링을 시작할 순서 번호입니다. iteratorType이 AFTER_SEQUENCE_NUMBER 또는 AT_SEQUENCE_NUMBER로 설정된 경우 필수 항목입니다. | 문자열 | |
| shardClosed (consumer) | shard가 종료된 경우 수행할 동작을 정의합니다. 가능한 값은 무시, 자동 및 fail. 메시지를 무시합니다. 메시지가 기록되고 소비자가 처음부터 다시 시작됩니다. 자동 로깅의 경우 소비자는 로깅이 없으며 소비자가 처음부터 시작된 경우 ReachedClosedStateException이 발생합니다. | Ignore | KinesisShardClosed StrategyEnum |
| shardId (consumer) | 레코드를 가져올 Kinesis 스트림에서 어떤 shardId를 정의합니다. | 문자열 | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
26.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 17 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-kinesis.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kinesis.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kinesis.configuration.amazon-kinesis-client | 이 끝점에 대한 모든 요청에 사용할 Amazon Kinesis 클라이언트 | AmazonKinesis | |
| camel.component.aws-kinesis.configuration.iterator-type | records 가져오기를 시작하기 위한 Kinesis 스트림에서 위치를 정의합니다. | ShardIteratorType | |
| camel.component.aws-kinesis.configuration.max-results-per-request | 각 폴링에서 가져올 최대 레코드 수 | 1 | 정수 |
| camel.component.aws-kinesis.configuration.proxy-host | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-kinesis.configuration.proxy-port | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| camel.component.aws-kinesis.configuration.region | Kinesis 클라이언트가 작동해야 하는 리전 | 문자열 | |
| camel.component.aws-kinesis.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-kinesis.configuration.sequence-number | 폴링을 시작할 순서 번호입니다. iteratorType이 AFTER_SEQUENCE_NUMBER 또는 AT_SEQUENCE_NUMBER로 설정된 경우 필수 항목입니다. | 문자열 | |
| camel.component.aws-kinesis.configuration.shard-closed | shard가 종료된 경우 수행할 동작을 정의합니다. 가능한 값은 무시, 자동 및 fail. 메시지를 무시합니다. 메시지가 기록되고 소비자가 처음부터 다시 시작됩니다. 자동 로깅의 경우 소비자는 로깅이 없으며 소비자가 처음부터 시작된 경우 ReachedClosedStateException이 발생합니다. | KinesisShardClosed StrategyEnum | |
| camel.component.aws-kinesis.configuration.shard-id | 레코드를 가져올 Kinesis 스트림에서 어떤 shardId를 정의합니다. | 문자열 | |
| camel.component.aws-kinesis.configuration.stream-name | 스트림의 이름 | 문자열 | |
| camel.component.aws-kinesis.enabled | aws-kinesis 구성 요소 활성화 | true | 부울 |
| camel.component.aws-kinesis.region | Amazon AWS Region | 문자열 | |
| camel.component.aws-kinesis.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-kinesis.secret-key | Amazon AWS Secret Key | 문자열 |
필수 Kinesis 구성 요소 옵션
레지스트리의 amazonKinesisClient에 프록시 및 관련 자격 증명이 구성되어 있어야 합니다.
26.4. batch Consumer 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 배치 소비자를 구현합니다.
예를 들어 이 배치에 있는 메시지 수를 알 수 있으며, 예를 들어 집계에서 이 메시지 수를 집계할 수 있습니다.
26.5. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
26.5.1. Kinesis 소비자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 레코드의 시퀀스 번호입니다. 이는 API에서 크기가 정의되지 않기 때문에 String으로 표시됩니다. 숫자 유형으로 사용되는 경우 다음을 사용하십시오. |
|
|
| AWS가 레코드의 도착 시간으로 할당된 시간입니다. |
|
|
| 데이터 레코드가 할당되는 스트림의 shard를 식별합니다. |
26.5.2. AmazonKinesis 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonKinesisClient 인스턴스를 생성하고 레지스트리에 바인딩해야 합니다.
그런 다음 AmazonKinesisClient를 Amazon KinesisClient URI 옵션에서 참조해야 합니다.
from("aws-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");
from("aws-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");
26.5.3. AWS 자격 증명 제공 링크 복사링크가 클립보드에 복사되었습니다!
새 ClientConfiguration 인스턴스를 생성할 때 기본값인 DefaultAWSCredentialsProviderChain 을 사용하여 인증 정보를 가져오는 것이 좋지만, createClient(…)를 호출할 때 다른 AWSCredentialsProvider 를 지정할 수 있습니다.
26.5.4. Kinesis 생산자가 Kinesis에 쓰는 데 사용하는 메시지 헤더입니다. 생산자는 메시지 본문이 byte[] 임을 예상합니다. 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 이 레코드를 저장하기 위해 Kinesis로 전달하는 PartitionKey입니다. |
|
|
| 이 레코드의 시퀀스 번호를 나타내는 선택적 매개 변수입니다. |
26.5.5. 레코드의 성공적인 스토리지에 대해 Kinesis 프로듀서에 의해 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Response Syntax에 정의된 레코드의 시퀀스 번호 |
|
|
| 레코드가 저장된 shard ID |
26.6. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.17 이상)으로 교체해야 합니다.
26.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
27장. AWS Kinesis Firehose 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.19에서 사용 가능
Kinesis Firehose 구성 요소는 Amazon Kinesis Firehose 서비스에 메시지를 보낼 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon Kinesis Firehose를 사용하려면 가입해야 합니다. 자세한 내용은 AWS Kinesis Firehose에서 확인할 수 있습니다.
27.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-kinesis-firehose://delivery-stream-name[?options]
aws-kinesis-firehose://delivery-stream-name[?options]
스트림을 사용하기 전에 생성해야 합니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
27.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Kinesis Firehose 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS Kinesis Firehose 기본 구성 | KinesisFirehose 구성 | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | Amazon AWS Region | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Kinesis Firehose 끝점은 URI 구문을 사용하여 구성됩니다.
aws-kinesis-firehose:streamName
aws-kinesis-firehose:streamName
다음 경로 및 쿼리 매개변수를 사용합니다.
27.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| streamName | 스트림의 필수 이름입니다. | 문자열 |
27.2.2. 쿼리 매개변수(7 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonKinesisFirehoseClient (producer) | 이 엔드포인트에 대한 모든 요청에 사용할 Amazon Kinesis Firehose 클라이언트 | AmazonKinesisFirehose | |
| proxyHost (producer) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| 리전 (producer) | Kinesis 클라이언트가 작동해야 하는 리전 | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
27.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 12 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-kinesis-firehose.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kinesis-firehose.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kinesis-firehose.configuration.amazon-kinesis-firehose-client | 이 엔드포인트에 대한 모든 요청에 사용할 Amazon Kinesis Firehose 클라이언트 | AmazonKinesisFirehose | |
| camel.component.aws-kinesis-firehose.configuration.proxy-host | DDBStreams 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-kinesis-firehose.configuration.proxy-port | DDBStreams 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면To define a proxy port when instantiating the DDBStreams client | 정수 | |
| camel.component.aws-kinesis-firehose.configuration.region | Kinesis 클라이언트가 작동해야 하는 리전 | 문자열 | |
| camel.component.aws-kinesis-firehose.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-kinesis-firehose.configuration.stream-name | 스트림의 이름 | 문자열 | |
| camel.component.aws-kinesis-firehose.enabled | aws-kinesis-firehose 구성 요소 활성화 | true | 부울 |
| camel.component.aws-kinesis-firehose.region | Amazon AWS Region | 문자열 | |
| camel.component.aws-kinesis-firehose.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-kinesis-firehose.secret-key | Amazon AWS Secret Key | 문자열 |
필수 Kinesis Firehose 구성 요소 옵션
레지스트리의 amazonKinesisClient에 프록시 및 관련 자격 증명이 구성되어 있어야 합니다.
27.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
27.4.1. Amazon Kinesis Firehose 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonKinesisClient 인스턴스를 생성하고 레지스트리에 바인딩해야 합니다.
AmazonKinesisFirehoseClient는 Amazon KinesisFirehoseClient 옵션에서 참조해야 합니다.
from("aws-kinesis-firehose://mykinesisdeliverystream?amazonKinesisFirehoseClient=#kinesisClient")
.to("log:out?showAll=true");
from("aws-kinesis-firehose://mykinesisdeliverystream?amazonKinesisFirehoseClient=#kinesisClient")
.to("log:out?showAll=true");
27.4.2. AWS 자격 증명 제공 링크 복사링크가 클립보드에 복사되었습니다!
새 ClientConfiguration 인스턴스를 생성할 때 기본값인 DefaultAWSCredentialsProviderChain 을 사용하여 인증 정보를 가져오는 것이 좋지만, createClient(…)를 호출할 때 다른 AWSCredentialsProvider 를 지정할 수 있습니다.
27.4.3. 레코드의 성공적인 스토리지에 대해 Kinesis 프로듀서에 의해 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Response Syntax에서 정의된 레코드 ID |
27.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.19 이상)으로 교체해야 합니다.
27.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
28장. AWS KMS 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.21로 사용 가능
KMS 구성 요소는 AWS KMS 인스턴스를 생성, 실행, 시작, 중지 및 종료합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon KMS를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon KMS 에서 확인할 수 있습니다.
28.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-kms://label[?options]
aws-kms://label[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
28.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS KMS 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS KMS 기본 구성 | KMSConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS KMS 끝점은 URI 구문을 사용하여 구성됩니다.
aws-kms:label
aws-kms:label
다음 경로 및 쿼리 매개변수를 사용합니다.
28.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| label | 필수 논리 이름 | 문자열 |
28.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| kmsClient (producer) | 기존 구성된 AWS KMS를 클라이언트로 사용하려면 | AWSKMS | |
| 작업 (producer) | 필수 작업 수행 | KMSOperations | |
| proxyHost (producer) | KMS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | KMS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| 리전 (producer) | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
28.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 12 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-kms.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kms.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-kms.configuration.kms-client | 기존 구성된 AWS KMS를 클라이언트로 사용하려면 | AWSKMS | |
| camel.component.aws-kms.configuration.operation | 수행할 작업 | KMSOperations | |
| camel.component.aws-kms.configuration.proxy-host | KMS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-kms.configuration.proxy-port | KMS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| camel.component.aws-kms.configuration.region | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-kms.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-kms.enabled | aws-kms 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.aws-kms.region | KMS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-kms.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-kms.secret-key | Amazon AWS Secret Key | 문자열 |
필수 KMS 구성 요소 옵션
Amazon KMS 서비스에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonKmsClient를 제공해야 합니다.
28.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
28.4.1. MQ 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| listKeys 작업을 수행하는 동안 반환할 키의 제한 수입니다. |
|
|
| 수행하려는 작업 |
|
|
| createKey 작업을 수행하는 동안 사용할 주요 설명 |
|
|
| ID 키 |
28.4.2. KMS Producer 작업 링크 복사링크가 클립보드에 복사되었습니다!
Camel-AWS KMS 구성 요소는 생산자 측에서 다음과 같은 작업을 제공합니다.
- listKeys
- createKey
- disableKey
- scheduleKeyDeletion
- describeKey
- enableKey
종속 항목
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.16 이상)으로 교체해야 합니다.
28.5. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
29장. AWS Lambda Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.20에서 사용 가능
Lambda 구성 요소는 AWS Lambda 함수를 생성, 가져오기, 나열, 삭제 및 호출할 수 있습니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon Lambda를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon Lambda 에서 확인할 수 있습니다.
Lambda 함수를 생성할 때 최소한 AWSLambdaBasicExecuteRole 정책이 연결된 IAM 역할을 지정해야 합니다.
경고
Lambda는 지역 서비스입니다. S3 버킷과 달리 특정 지역에서 생성된 Lambda 함수는 다른 지역에서 사용할 수 없습니다.
29.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-lambda://functionName[?options]
aws-lambda://functionName[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
29.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Lambda 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS Lambda 기본 구성 | LambdaConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | Amazon AWS Region | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Lambda 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-lambda:function
aws-lambda:function
다음 경로 및 쿼리 매개변수를 사용합니다.
29.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| function | Lambda 함수의 필수 이름입니다. | 문자열 |
29.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 작업 (producer) | 수행해야 하는 작업입니다.The operation to perform. listFunctions, getFunction, createFunction, deleteFunction 또는 invokeFunction일 수 있습니다. | LambdaOperations | |
| 리전 (producer) | Amazon AWS Region | 문자열 | |
| awsLambdaClient (advanced) | 기존 구성된 AwsLambdaClient를 클라이언트로 사용하려면 | AWSLambda | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| proxyHost (proxy) | Lambda 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하려면 | 문자열 | |
| proxyPort (proxy) | Lambda 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
29.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 13 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-lambda.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-lambda.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-lambda.configuration.aws-lambda-client | 기존 구성된 AwsLambdaClient를 클라이언트로 사용하려면 | AWSLambda | |
| camel.component.aws-lambda.configuration.function | Lambda 함수의 이름입니다. | 문자열 | |
| camel.component.aws-lambda.configuration.operation | 수행할 작업입니다. listFunctions, getFunction, createFunction, deleteFunction 또는 invokeFunction일 수 있습니다. | LambdaOperations | |
| camel.component.aws-lambda.configuration.proxy-host | Lambda 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하려면 | 문자열 | |
| camel.component.aws-lambda.configuration.proxy-port | Lambda 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| camel.component.aws-lambda.configuration.region | Amazon AWS Region | 문자열 | |
| camel.component.aws-lambda.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-lambda.enabled | aws-lambda 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.aws-lambda.region | Amazon AWS Region | 문자열 | |
| camel.component.aws-lambda.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-lambda.secret-key | Amazon AWS Secret Key | 문자열 |
필수 Lambda 구성 요소 옵션
Amazon Lambda 서비스에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 awsLambdaClient를 제공해야 합니다.
29.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
29.4.1. Lambda Pro에서 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| 작업 | header | 유형 | 설명 | 필수 항목 |
|---|---|---|---|---|
| All |
|
| 수행할 작업입니다. 쿼리 매개변수로 전달된 덮어쓰기 작업 | 있음 |
| createFunction |
|
| 배포 패키지가 포함된 .zip 파일이 저장되는 Amazon S3 버킷 이름입니다. 이 버킷은 Lambda 함수를 생성하는 동일한 AWS 리전에 있어야 합니다. | 없음 |
| createFunction |
|
| 업로드할 Amazon S3 오브젝트(배포 패키지) 키 이름입니다. | 없음 |
| createFunction |
| 문자열 | 업로드할 Amazon S3 오브젝트(배포 패키지) 버전입니다. | 없음 |
| createFunction |
|
| zip 파일(배포 패키지)의 로컬 경로입니다. zip 파일의 내용도 메시지 본문에 넣을 수 있습니다. | 없음 |
| createFunction |
|
| Lambda가 함수를 실행할 때 다른 AWS(Amazon Web Services) 리소스에 액세스할 때 있다고 가정합니다. | 있음 |
| createFunction |
| 문자열 | 업로드 중인 Lambda 함수의 런타임 환경(nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) | 있음 |
| createFunction |
|
| 코드 내의 함수는 Lambda가 실행을 시작하기 위해 호출합니다. Node.js의 경우 함수의 module-name.export 값입니다. Java의 경우 package.class-name::handler 또는 package.class-name이 될 수 있습니다. | 있음 |
| createFunction |
|
| 사용자가 제공하는 설명입니다. | 없음 |
| createFunction |
|
| Amazon SQS 큐 또는 Amazon SNS 항목의 대상 ARN(Amazon Resource Name)이 포함된 상위 개체입니다. | 없음 |
| createFunction |
|
| 함수를 위해 구성한 메모리 크기(MB)입니다. 는 64MB의 배수여야 합니다. | 없음 |
| createFunction |
|
| 함수의 환경 변수를 암호화하는 데 사용되는 KMS 키의 ARM(Amazon Resource Name)입니다. 제공되지 않는 경우 AWS Lambda는 기본 서비스 키를 사용합니다. | 없음 |
| createFunction |
|
| 이 부울 매개 변수는 AWS Lambda를 요청하여 Lambda 함수를 생성하고 버전을 atomic 작업으로 게시하는 데 사용할 수 있습니다. | 없음 |
| createFunction |
|
| Lambda가 함수를 종료해야 하는 함수 실행 시간입니다. 기본값은 3초입니다. | 없음 |
| createFunction |
|
| 함수의 추적 설정(Active 또는 PassThrough)입니다. | 없음 |
| createFunction |
|
| 환경 구성 설정을 나타내는 키-값 쌍입니다. | 없음 |
| createFunction |
|
| 새 기능에 할당된 태그(키-값 쌍) 목록입니다. | 없음 |
| createFunction |
|
| Lambda 함수가 VPC의 리소스에 액세스하는 경우 VPC에 있는 하나 이상의 보안 그룹 ID 목록입니다. | 없음 |
| createFunction |
|
| Lambda 함수가 VPC의 리소스에 액세스하는 경우 VPC에 있는 하나 이상의 서브넷 ID 목록입니다. | 없음 |
29.5. 신뢰할 수 있는 작업 목록 링크 복사링크가 클립보드에 복사되었습니다!
- listFunctions
- getFunction,
- createFunction
- deleteFunction
- invokeFunction
- updateFunction
- createEventSourceMapping
- deleteEventSourceMapping
- listEventSourceMapping
29.6. 예제 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소의 작동 방식을 완전히 이해하기 위해 이 통합 테스트를 살펴볼 수 있습니다.
29.7. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.16 이상)으로 교체해야 합니다.
29.8. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
30장. AWS MQ Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.21로 사용 가능
EC2 구성 요소는 AWS MQ 인스턴스 생성, 실행, 시작, 중지 및 종료를 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon MQ를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon MQ 에서 확인할 수 있습니다.
30.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-mq://label[?options]
aws-mq://label[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
30.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS MQ 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS MQ 기본 구성 | MQConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | MQ 클라이언트가 작업해야 하는 리전 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS MQ 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-mq:label
aws-mq:label
다음 경로 및 쿼리 매개변수를 사용합니다.
30.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| label | 필수 논리 이름 | 문자열 |
30.2.2. 쿼리 매개변수 (8 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| AmazonMqClient (producer) | 기존 구성된 AmazonMQClient를 클라이언트로 사용하려면 | AmazonMQ | |
| 작업 (producer) | 수행해야 하는 작업입니다.The operation to perform. 그것은 listBrokers,createBroker,deleteBroker 일 수 있습니다 | MQOperations | |
| proxyHost (producer) | MQ 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | MQ 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| 리전 (producer) | MQ 클라이언트가 작업해야 하는 리전 | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
30.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 12 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-mq.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-mq.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-mq.configuration.amazon-mq-client | 기존 구성된 AmazonMQClient를 클라이언트로 사용하려면 | AmazonMQ | |
| camel.component.aws-mq.configuration.operation | 수행할 작업입니다. 그것은 listBrokers,createBroker,deleteBroker 일 수 있습니다 | MQOperations | |
| camel.component.aws-mq.configuration.proxy-host | MQ 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-mq.configuration.proxy-port | MQ 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-mq.configuration.region | MQ 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-mq.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-mq.enabled | aws-mq 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
| camel.component.aws-mq.region | MQ 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-mq.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-mq.secret-key | Amazon AWS Secret Key | 문자열 |
필수 EC2 구성 요소 옵션
Amazon EC2 서비스에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonEc2Client를 제공해야 합니다.
30.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
30.4.1. MQ 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| listBrokers 작업에서 검색해야 하는 결과 수 |
|
|
| 브로커 이름 |
|
|
| 수행하려는 작업 |
|
|
| 브로커 ID |
|
|
| createBroker 작업의 브로커 배포 모드 |
|
|
| createBroker 작업의 EC2 머신 인스턴스 유형 |
|
|
| MQ용 브로커 엔진. 기본값은 ACTIVEMQ입니다. |
|
|
| MQ용 브로커 엔진 버전. 현재 ACTIVEMQ의 5.15.6 및 5.15.0 중에서 선택할 수 있습니다. |
|
|
| MQ 사용자 목록 |
|
|
| MQ 인스턴스를 공개적으로 사용할 수 있거나 사용할 수 없는 경우. 기본값은 false입니다. |
종속 항목
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.16 이상)으로 교체해야 합니다.
30.5. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
31장. AWS S3 스토리지 서비스 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.8에서 사용 가능
S3 구성 요소는 Amazon의 S3 서비스에서 objetc를 저장 및 검색할 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon S3 사용을 위해 등록되어야 합니다. 자세한 내용은 Amazon S3 에서 확인할 수 있습니다.
31.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-s3://bucketNameOrArn[?options]
aws-s3://bucketNameOrArn[?options]
버킷이 없으면 해당 버킷이 생성됩니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
예를 들어 버킷 helloBucket 에서 hello.txt 파일을 읽으려면 다음 스니펫을 사용합니다.
from("aws-s3:helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefix=hello.txt")
.to("file:/var/downloaded");
from("aws-s3:helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefix=hello.txt")
.to("file:/var/downloaded");
31.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS S3 Storage Service 구성 요소는 아래 나열된 5가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS S3 기본 구성 | S3Configuration | |
| accesskey (공용) | Amazon AWS Access Key | 문자열 | |
| secretKey (common) | Amazon AWS Secret Key | 문자열 | |
| region (공용) | 버킷이 있는 리전입니다. 이 옵션은 com.amazonaws.services.s3.model.CreateBucketRequest에서 사용됩니다. | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS S3 Storage 서비스 끝점은 URI 구문을 사용하여 구성됩니다.
aws-s3:bucketNameOrArn
aws-s3:bucketNameOrArn
다음 경로 및 쿼리 매개변수를 사용합니다.
31.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bucketNameOrArn | 필수 버킷 이름 또는 ARN | 문자열 |
31.2.2. 쿼리 매개변수(50개 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonS3Client (일반) | 링크에서 com.amazonaws.services.sqs.AmazonS3 참조.https://camel.apache.org/registry.htmlRegistry. | AmazonS3 | |
| pathStyleAccess (common) | S3 클라이언트가 경로 스타일 액세스를 사용해야 하는지 여부 | false | boolean |
| policy (공용) | 이 큐가 com.amazonaws.services.s3.AmazonS3#setBucketPolicy() 메서드에 설정할 정책입니다. | 문자열 | |
| proxyHost (일반) | SQS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (공용) | 클라이언트 정의 내에서 사용할 프록시 포트를 지정합니다. | 정수 | |
| region (공용) | S3 클라이언트가 작업해야 하는 지역 | 문자열 | |
| IAMCredentials 사용 (일반) | S3 클라이언트가 EC2 인스턴스에서 인증 정보를 로드해야 하는지 또는 정적 인증 정보를 전달할지 여부를 설정합니다. | false | boolean |
| encryptionMaterials (일반) | Symmetric/Asymmetric client usage의 경우 사용할 암호화 자료 | EncryptionMaterials | |
| useEncryption (common) | 암호화를 사용해야 하는지 여부를 정의합니다. | false | boolean |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| deleteAfterRead (consumer) | 검색 후 S3에서 오브젝트를 삭제합니다. 삭제는 Exchange가 커밋된 경우에만 수행됩니다. 롤백이 발생하면 오브젝트가 삭제되지 않습니다. 이 옵션이 false이면 동일한 오브젝트가 폴링에서 다시 검색됩니다. 따라서 경로에 Idempotent Consumer EIP를 사용하여 중복을 필터링해야 합니다. S3Constants#BUCKET_NAME 및 S3Constants#KEY 헤더 또는 S3Constants#KEY 헤더만 사용하여 필터링할 수 있습니다. | true | boolean |
| 파일 이름 (consumer) | 지정된 파일 이름을 사용하여 버킷에서 오브젝트를 가져오려면 다음을 수행합니다. | 문자열 | |
| includeBody (consumer) | true인 경우 교환 본문이 파일의 콘텐츠로 스트림으로 설정됩니다. false인 경우 헤더는 S3 오브젝트 메타데이터로 설정되지만 본문은 null입니다. 이 옵션은 autocloseBody 옵션과 관련이 있습니다. includeBody를 true로 설정하고 autocloseBody를 false로 설정하면 S3Object 스트림을 닫을 수 있는 호출자가 됩니다. autocloseBody를 true로 설정하면 S3Object 스트림이 자동으로 종료됩니다. | true | boolean |
| maxConnections (consumer) | S3 클라이언트 구성에서 maxConnections 매개변수를 설정 | 60 | int |
| maxMessagesPerPoll (consumer) | 각 폴링에서 폴링할 최대 메시지 수를 폴링으로 가져옵니다. 는 기본값 무제한이지만 0 또는 음수를 사용하여 무제한으로 비활성화합니다. | 10 | int |
| 접두사 (consumer) | 관심 있는 오브젝트만 사용하기 위해 com.amazonaws.services.s3.model.ListObjectsRequest에서 사용되는 접두사입니다. | 문자열 | |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| autocloseBody (consumer) | 이 옵션이 true이고 includeBody가 true이면 교환 완료 시 S3Object.close() 메서드가 호출됩니다. 이 옵션은 includeBody 옵션과 관련이 있습니다. includeBody를 true로 설정하고 autocloseBody를 false로 설정하면 S3Object 스트림을 닫을 수 있는 호출자가 됩니다. autocloseBody를 true로 설정하면 S3Object 스트림이 자동으로 종료됩니다. | true | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| deleteAfterwrite (producer) | S3 파일이 업로드된 후 파일 오브젝트 삭제 | false | boolean |
| multiPartUpload (producer) | 만약 그것이 사실이라면, camel은 다중 부분 포맷을 사용하여 파일을 업로드 할 것이며, 부분 크기는 partSize의 옵션에 의해 결정됩니다. | false | boolean |
| 작업 (producer) | 사용자가 업로드만 하고 싶지 않은 경우 수행할 작업 | S3Operations | |
| partSize (producer) | 다중 부분 업로드에 사용되는 partSize를 설정하면 기본 크기는 25M입니다. | 26214400 | long |
| serverSideEncryption (producer) | AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘을 설정합니다. 예를 들어 AES256을 사용합니다. | 문자열 | |
| StorageClass (producer) | com.amazonaws.services.s3.model.PutObjectRequest 요청에 설정할 스토리지 클래스입니다. | 문자열 | |
| awsKMSKeyId (producer) | KMS가 활성화된 경우 사용할 KMS 키의 id를 정의합니다. | 문자열 | |
| useAwsKMS (producer) | KMS를 사용해야 하는지 여부를 정의합니다. | false | boolean |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accelerateModeEnabled (고급) | Accelerate Mode enabled가 true 또는 false인 경우 정의 | false | boolean |
| chunkedEncodingDisabled (고급) | Chunked Encoding이 true 또는 false인 경우 정의 | false | boolean |
| dualstackEnabled (고급) | Dualstack enabled가 true인지 false인지 정의합니다. | false | boolean |
| forceGlobalBucketAccess Enabled (고급) | Force Global Bucket Access enabled가 true인지 아니면 false를 정의합니다. | false | boolean |
| payloadSigningEnabled (고급) | Payload Signing enabled가 true인지 false인지 정의합니다. | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
31.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 34 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-s3.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-s3.configuration.accelerate-mode-enabled | Accelerate Mode enabled가 true 또는 false인 경우 정의 | false | 부울 |
| camel.component.aws-s3.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-s3.configuration.amazon-s3-client | 링크에서 com.amazonaws.services.sqs.AmazonS3 참조.https://camel.apache.org/registry.htmlRegistry. | AmazonS3 | |
| camel.component.aws-s3.configuration.autoclose-body | 이 옵션이 true이고 includeBody가 true이면 교환 완료 시 S3Object.close() 메서드가 호출됩니다. 이 옵션은 includeBody 옵션과 관련이 있습니다. includeBody를 true로 설정하고 autocloseBody를 false로 설정하면 S3Object 스트림을 닫을 수 있는 호출자가 됩니다. autocloseBody를 true로 설정하면 S3Object 스트림이 자동으로 종료됩니다. | true | 부울 |
| camel.component.aws-s3.configuration.aws-k-m-s-key-id | KMS가 활성화된 경우 사용할 KMS 키의 id를 정의합니다. | 문자열 | |
| camel.component.aws-s3.configuration.bucket-name | 버킷의 이름입니다. 버킷이 아직 없는 경우 생성됩니다. | 문자열 | |
| camel.component.aws-s3.configuration.chunked-encoding-disabled | Chunked Encoding이 true 또는 false인 경우 정의 | false | 부울 |
| camel.component.aws-s3.configuration.delete-after-read | 검색 후 S3에서 오브젝트를 삭제합니다. 삭제는 Exchange가 커밋된 경우에만 수행됩니다. 롤백이 발생하면 오브젝트가 삭제되지 않습니다. 이 옵션이 false이면 동일한 오브젝트가 폴링에서 다시 검색됩니다. 따라서 경로에 Idempotent Consumer EIP를 사용하여 중복을 필터링해야 합니다. S3Constants#BUCKET_NAME 및 S3Constants#KEY 헤더 또는 S3Constants#KEY 헤더만 사용하여 필터링할 수 있습니다. | true | 부울 |
| camel.component.aws-s3.configuration.delete-after-write | S3 파일이 업로드된 후 파일 오브젝트 삭제 | false | 부울 |
| camel.component.aws-s3.configuration.dualstack-enabled | Dualstack enabled가 true인지 false인지 정의합니다. | false | 부울 |
| camel.component.aws-s3.configuration.encryption-materials | Symmetric/Asymmetric client usage의 경우 사용할 암호화 자료 | EncryptionMaterials | |
| camel.component.aws-s3.configuration.file-name | 지정된 파일 이름을 사용하여 버킷에서 오브젝트를 가져오려면 다음을 수행합니다. | 문자열 | |
| camel.component.aws-s3.configuration.force-global-bucket-access-enabled | Force Global Bucket Access enabled가 true인지 아니면 false를 정의합니다. | false | 부울 |
| camel.component.aws-s3.configuration.include-body | true인 경우 교환 본문이 파일의 콘텐츠로 스트림으로 설정됩니다. false인 경우 헤더는 S3 오브젝트 메타데이터로 설정되지만 본문은 null입니다. 이 옵션은 autocloseBody 옵션과 관련이 있습니다. includeBody를 true로 설정하고 autocloseBody를 false로 설정하면 S3Object 스트림을 닫을 수 있는 호출자가 됩니다. autocloseBody를 true로 설정하면 S3Object 스트림이 자동으로 종료됩니다. | true | 부울 |
| camel.component.aws-s3.configuration.multi-part-upload | 만약 그것이 사실이라면, camel은 다중 부분 포맷을 사용하여 파일을 업로드 할 것이며, 부분 크기는 partSize의 옵션에 의해 결정됩니다. | false | 부울 |
| camel.component.aws-s3.configuration.operation | 사용자가 업로드만 하고 싶지 않은 경우 수행할 작업 | S3Operations | |
| camel.component.aws-s3.configuration.part-size | 다중 부분 업로드에 사용되는 partSize를 설정하면 기본 크기는 25M입니다. | 26214400 | long |
| camel.component.aws-s3.configuration.path-style-access | S3 클라이언트가 경로 스타일 액세스를 사용해야 하는지 여부 | false | 부울 |
| camel.component.aws-s3.configuration.payload-signing-enabled | Payload Signing enabled가 true인지 false인지 정의합니다. | false | 부울 |
| camel.component.aws-s3.configuration.policy | 이 큐가 com.amazonaws.services.s3.AmazonS3#setBucketPolicy() 메서드에 설정할 정책입니다. | 문자열 | |
| camel.component.aws-s3.configuration.prefix | 관심 있는 오브젝트만 사용하기 위해 com.amazonaws.services.s3.model.ListObjectsRequest에서 사용되는 접두사입니다. | 문자열 | |
| camel.component.aws-s3.configuration.proxy-host | SQS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-s3.configuration.proxy-port | 클라이언트 정의 내에서 사용할 프록시 포트를 지정합니다. | 정수 | |
| camel.component.aws-s3.configuration.region | S3 클라이언트가 작업해야 하는 지역 | 문자열 | |
| camel.component.aws-s3.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-s3.configuration.server-side-encryption | AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘을 설정합니다. 예를 들어 AES256을 사용합니다. | 문자열 | |
| camel.component.aws-s3.configuration.storage-class | com.amazonaws.services.s3.model.PutObjectRequest 요청에 설정할 스토리지 클래스입니다. | 문자열 | |
| camel.component.aws-s3.configuration.use-aws-k-m-s | KMS를 사용해야 하는지 여부를 정의합니다. | false | 부울 |
| camel.component.aws-s3.configuration.use-encryption | 암호화를 사용해야 하는지 여부를 정의합니다. | false | 부울 |
| camel.component.aws-s3.enabled | aws-s3 구성 요소 활성화 | true | 부울 |
| camel.component.aws-s3.region | 버킷이 있는 리전입니다. 이 옵션은 com.amazonaws.services.s3.model.CreateBucketRequest에서 사용됩니다. | 문자열 | |
| camel.component.aws-s3.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-s3.secret-key | Amazon AWS Secret Key | 문자열 |
필요한 S3 구성 요소 옵션
Amazon의 S3에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonS3Client를 제공해야 합니다.
31.4. batch Consumer 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 배치 소비자를 구현합니다.
예를 들어 이 배치에 있는 메시지 수를 알 수 있으며, 예를 들어 집계에서 이 메시지 수를 집계할 수 있습니다.
31.5. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
31.5.1. S3 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 이 오브젝트가 저장되거나 현재 작업에 사용할 버킷 이름 |
|
|
| Camel 2.18: 현재 작업에 사용할 버킷 대상 이름입니다. |
|
|
| 이 오브젝트의 콘텐츠 길이입니다. |
|
|
| 이 오브젝트의 콘텐츠 유형입니다. |
|
|
| Camel 2.8.2: 이 개체의 콘텐츠 제어입니다. |
|
|
| Camel 2.8.2: 이 오브젝트의 콘텐츠 불일치. |
|
|
| Camel 2.8.2: 이 개체의 콘텐츠 인코딩. |
|
|
| Camel 2.8.2: 이 오브젝트의 md5 체크섬입니다. |
|
|
| Camel 2.18: 현재 작업에 사용할 대상 키 |
|
|
| 이 개체를 저장할 키 또는 현재 작업에 사용할 키입니다.The key under which this object will be stored or which will be used for the current operation. |
|
|
| Camel 2.8.2: 이 개체의 마지막으로 수정된 타임스탬프입니다. |
|
|
| Camel 2.18: 수행할 작업. 허용되는 값은 copyObject, deleteObject, listBuckets, deleteBucket, downloadLink, listObjects입니다. |
|
|
| Camel 2.8.4: 이 오브젝트의 스토리지 클래스입니다. |
|
|
|
Camel 2.11.0: 오브젝트에 적용할 수 있는 acl입니다. 허용 값은 |
|
|
|
Camel 2.11.0: 잘 구성된 Amazon S3 Access Control List 오브젝트입니다. 자세한 내용은 |
|
|
| Camel 2.15.0: 사용자 지정 objectMetadata 헤더를 가져오거나 설정합니다. |
|
| 문자열 | Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘을 설정합니다. 예를 들어 AES256을 사용합니다. |
|
|
| 현재 작업에서 저장되거나 반환될 오브젝트의 버전 |
31.5.2. S3 생산자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 새로 업로드된 오브젝트의 ETag 값입니다. |
|
|
| 새로 업로드된 오브젝트의 선택적 버전 ID입니다. |
|
|
| URL 다운로드 링크의 만료(밀리코어)입니다. 링크는 CamelAwsS3DownloadLink 응답 헤더에 저장됩니다. |
31.5.3. S3 소비자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 이 오브젝트가 저장되는 키입니다. |
|
|
| 이 오브젝트가 포함된 버킷의 이름입니다. |
|
|
| RFC 1864에 따라 관련 오브젝트의 16진수로 인코딩된 128비트 MD5 다이제스트입니다. 이 데이터는 호출자가 수신한 데이터가 Amazon S3에서 보낸 데이터와 동일한지 확인하는 무결성 검사로 사용됩니다. |
|
|
| Amazon S3가 마지막으로 연결된 오브젝트에 대한 수정을 기록한 날짜와 시간을 나타내는 Last-Modified 헤더 값입니다. |
|
|
| 사용 가능한 경우 관련 Amazon S3 오브젝트의 버전 ID입니다. 버전 ID는 오브젝트 버전 관리를 사용하는 Amazon S3 버킷에 오브젝트를 업로드할 때만 오브젝트에 할당됩니다. |
|
|
| Content-Type HTTP 헤더: 연결된 오브젝트에 저장된 콘텐츠 유형을 나타냅니다. 이 헤더의 값은 표준 MIME 유형입니다. |
|
|
| base64로 인코딩된 128-bit MD5 다이제스트는 RFC 1864에 따라 관련 개체 (content - 헤더를 포함하지 않음)입니다. 이 데이터는 Amazon S3에서 수신한 데이터가 호출자와 동일한 데이터인지 확인하는 메시지 무결성 검사로 사용됩니다. |
|
|
| 연결된 개체의 크기를 바이트 단위로 나타내는 Content-Length HTTP 헤더입니다.The Content-Length HTTP header indicating the size of the associated object in bytes. |
|
|
| 선택 사항 인 Content-Encoding HTTP 헤더는 개체에 적용된 콘텐츠 인코딩과 Content-Type 필드에서 참조하는 미디어 유형을 가져오기 위해 적용해야 하는 디코딩 메커니즘을 지정합니다. |
|
|
| 선택 사항 인 Content-Disposition HTTP 헤더: 오브젝트를 저장할 권장 파일 이름과 같은 프레젠테이션 정보를 지정합니다. |
|
|
| 사용자가 HTTP 요청/응답 체인을 따라 캐싱 동작을 지정할 수 있는 선택적 Cache-Control HTTP 헤더입니다. |
|
| 문자열 | Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘입니다. |
31.5.4. S3 Producer 운영 링크 복사링크가 클립보드에 복사되었습니다!
Camel-AWS s3 구성 요소는 생산자 측에서 다음과 같은 작업을 제공합니다.
- copyObject
- deleteObject
- listBuckets
- deleteBucket
- downloadLink
- listObjects
31.5.5. 고급 AmazonS3 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 AmazonS3 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 생성할 수 있습니다.
Camel aws-s3 구성 요소 구성에서 참조하십시오.
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
31.5.6. S3 구성 요소에 KMS 사용 링크 복사링크가 클립보드에 복사되었습니다!
AWS KMS를 사용하여 AWS 인프라를 사용하여 데이터를 암호화/암호화하려면 다음 예제와 같이 2.21.x에 도입된 옵션을 사용할 수 있습니다.
from("file:tmp/test?fileName=test.txt")
.setHeader(S3Constants.KEY, constant("testFile"))
.to("aws-s3://mybucket?amazonS3Client=#client&useAwsKMS=true&awsKMSKeyId=3f0637ad-296a-3dfe-a796-e60654fb128c");
from("file:tmp/test?fileName=test.txt")
.setHeader(S3Constants.KEY, constant("testFile"))
.to("aws-s3://mybucket?amazonS3Client=#client&useAwsKMS=true&awsKMSKeyId=3f0637ad-296a-3dfe-a796-e60654fb128c");
이렇게 하면 S3에 KMS 키 3f0637ad-296a-3dfe-a796-e60654fb128c를 사용하여 test.txt 파일을 암호화합니다. 이 파일을 다운로드하도록 요청하면 암호 해독은 다운로드 전에 직접 수행됩니다.
31.5.7. s3 구성 요소와 함께 "IAMCredentials" 사용 링크 복사링크가 클립보드에 복사되었습니다!
AWS IAM 인증 정보를 사용하려면 먼저 Camel 애플리케이션을 시작하는 EC2에 적절한 정책이 효과적으로 실행되도록 하는 적절한 정책이 포함된 IAM 역할이 있는지 확인해야 합니다. 이 기능은 원격 인스턴스에서만 "true"로 설정되어야 합니다. 또한 IAM이 AWS 특정 구성 요소이므로 여전히 정적 인증 정보를 로컬에서 사용해야 하지만 이제 AWS 환경을 보다 쉽게 관리할 수 있어야 합니다. 이를 구현하고 이해한 후에는 쿼리 매개변수 "IAMCredentials"를 AWS 환경에서 "true"로 설정할 수 있습니다. 로컬 및 원격 환경에 따라 이를 효과적으로 설정 및 해제하려면 시스템 환경 변수를 사용하여 이 쿼리 매개 변수를 활성화하는 것을 고려할 수 있습니다. 예를 들어 코드에서 "useIAMCredentials" 쿼리 매개변수를 "true"로 설정할 수 있습니다. "isRemote"라는 시스템 환경 변수가 true로 설정된 경우 (이 작업을 수행하는 다른 많은 방법이 있으며 간단한 예를 수행해야 합니다). 정적 인증 정보가 완전히 필요하지는 않지만 AWS 환경에서 IAM 인증 정보를 사용하면 원격 환경에서 새로 고칠 필요가 없고 주요 보안 강화가 추가됩니다(IAM 인증 정보는 6시간마다 자동으로 새로 고쳐지고 정책이 업데이트될 때 업데이트됨). 이는 AWS에서 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.
31.6. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.8 이상)으로 교체해야 합니다.
31.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
32장. AWS SimpleDB Component 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.9에서 사용 가능
sdb 구성 요소는 Amazon의 SDB 서비스에서 데이터를 저장하고 검색할 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon SDB를 사용하도록 등록해야 합니다. 자세한 내용은 Amazon SDB 에서 확인할 수 있습니다.
32.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-sdb://domainName[?options]
aws-sdb://domainName[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
32.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS SimpleDB 구성 요소에는 옵션이 없습니다.
AWS SimpleDB 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-sdb:domainName
aws-sdb:domainName
다음 경로 및 쿼리 매개변수를 사용합니다.
32.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| domainName | 필수 도메인의 이름은 현재 작업 중인 도메인입니다. | 문자열 |
32.2.2. 쿼리 매개 변수(10 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| AmazonSDBClient (producer) | AmazonSimpleDB를 클라이언트로 사용 | AmazonSimpleDB | |
| ConsistentRead (producer) | 데이터를 읽을 때 강력한 일관성을 강제 적용할지 여부를 결정합니다.Determines whether or not strong consistency should be enforced when data is read. | false | boolean |
| maxNumberOfDomains (producer) | 반환할 최대 도메인 이름 수입니다. 범위는 1에서 100까지입니다. | 정수 | |
| 작업 (producer) | 수행할 작업 | PutAttributes | SdbOperations |
| proxyHost (producer) | SDB 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | SDB 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| 리전 (producer) | SDB 클라이언트가 작업해야 하는 리전 | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
32.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-sdb.enabled | aws-sdb 구성 요소 활성화 | true | 부울 |
| camel.component.aws-sdb.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
필수 SDB 구성 요소 옵션
Amazon의 SDB에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonSDBClient를 제공해야 합니다.
32.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
32.4.1. SDB 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 수행할 속성 목록입니다. |
|
|
| 검색할 속성의 이름입니다. |
|
|
| 데이터를 읽을 때 강력한 일관성을 강제 적용할지 여부를 결정합니다.Determines whether or not strong consistency should be enforced when data is read. |
|
|
| 일괄 처리에서 삭제 작업을 수행할 항목 목록입니다. |
|
|
| 현재 작업 중인 도메인의 이름입니다. |
|
|
| 이 항목의 고유 키입니다. |
|
|
| 반환할 최대 도메인 이름 수입니다. 범위는 1 *에서 100까지입니다. |
|
|
| 도메인/배치 이름의 다음 목록을 시작할 위치를 지정하는 문자열입니다. |
|
|
| URI 옵션에서 작업을 재정의하려면 다음을 수행합니다. |
|
|
| 항목에 배치할 속성 목록입니다. |
|
|
| 도메인에 배치할 항목 목록입니다. |
|
|
| 도메인을 쿼리하는 데 사용되는 식입니다. |
|
|
| 지정된 경우 지정된 특성이 업데이트/삭제할지 여부를 결정하는 업데이트 조건입니다. |
32.4.2. DomainMetadata 작업 중 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Epoch(UNIX)초의 메타데이터를 계산하는 데이터 및 시간입니다. |
|
|
| 도메인의 모든 항목 수입니다. |
|
|
| 도메인의 고유한 특성 이름 수입니다. |
|
|
| 도메인에 있는 모든 특성 이름/값 쌍의 수입니다. |
|
|
| 도메인의 모든 고유 특성 이름의 총 크기(바이트)입니다. |
|
|
| 도메인의 모든 특성 값의 총 크기(바이트)입니다. |
|
|
| 도메인의 모든 항목 이름(바이트)의 총 크기입니다. |
32.4.3. GetAttributes 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 작업에서 반환된 속성 목록입니다. |
32.4.4. ListDomains 작업 중 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 식과 일치하는 도메인 이름 목록입니다. |
|
|
| 특정 MaxNumberOfDomains보다 많은 도메인이 있음을 나타내는 불투명 토큰입니다. |
32.4.5. Select 작업 중 메시지 헤더 설정 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| select 식과 일치하는 항목 목록입니다. |
|
|
| opaque 토큰으로 MaxNumberOfItem보다 더 많은 항목이 일치했거나 응답 크기가 1메가바이트를 초과했거나 실행 시간이 5초를 초과했음을 나타냅니다. |
32.4.6. 고급 AmazonSimpleDB 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonSimpleDB 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 만들고 URI에서 해당 인스턴스를 참조할 수 있습니다.
from("direct:start")
.to("aws-sdb://domainName?amazonSDBClient=#client");
from("direct:start")
.to("aws-sdb://domainName?amazonSDBClient=#client");
#client 는 레지스트리에서 AmazonSimpleDB 를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
32.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.8.4 이상)으로 교체해야 합니다.
32.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
33장. AWS Simple Email Service 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.9에서 사용 가능
ses 구성 요소는 Amazon SES 서비스로 이메일 전송을 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon SES를 사용하려면 가입해야 합니다. 더 많은 정보는 Amazon SES 에서 확인할 수 있습니다.
33.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-ses://from[?options]
aws-ses://from[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
33.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Simple Email Service 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS SES 기본 구성 | SesConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | SES 클라이언트가 작업해야 하는 지역 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Simple Email Service 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-ses:from
aws-ses:from
다음 경로 및 쿼리 매개변수를 사용합니다.
33.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| from | 보낸 사람의 이메일 주소가 필요합니다. | 문자열 |
33.2.2. 쿼리 매개변수(11 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonSESClient (producer) | AmazonSimpleEmailService를 클라이언트로 사용 | AmazonSimpleEmail Service | |
| proxyHost (producer) | SES 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | SES 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| 리전 (producer) | SES 클라이언트가 작업해야 하는 지역 | 문자열 | |
| replyToAddresses (producer) | 메시지에 대한 회신 이메일 주소 목록입니다. 'CamelAwsSesReplyToAddresses' 헤더를 사용하여 재정의합니다. | list | |
| returnPath (producer) | 반송 알림이 전달될 이메일 주소입니다. 'CamelAwsSes returnPath' 헤더를 사용하여 재정의합니다. | 문자열 | |
| 제목 (producer) | 메시지 헤더 'CamelAwsSesSubject'가 없는 경우 사용되는 주제입니다. | 문자열 | |
| 다음으로 이동 (producer) | 대상 이메일 주소 목록. 'CamelAwsSesTo' 헤더를 사용하여 재정의할 수 있습니다. | list | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
33.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 16 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-ses.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ses.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-ses.configuration.amazon-s-e-s-client | AmazonSimpleEmailService를 클라이언트로 사용 | AmazonSimpleEmail Service | |
| camel.component.aws-ses.configuration.from | 보낸 사람의 이메일 주소입니다. | 문자열 | |
| camel.component.aws-ses.configuration.proxy-host | SES 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-ses.configuration.proxy-port | SES 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-ses.configuration.region | SES 클라이언트가 작업해야 하는 지역 | 문자열 | |
| camel.component.aws-ses.configuration.reply-to-addresses | 메시지에 대한 회신 이메일 주소 목록입니다. 'CamelAwsSesReplyToAddresses' 헤더를 사용하여 재정의합니다. | list | |
| camel.component.aws-ses.configuration.return-path | 반송 알림이 전달될 이메일 주소입니다. 'CamelAwsSes returnPath' 헤더를 사용하여 재정의합니다. | 문자열 | |
| camel.component.aws-ses.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-ses.configuration.subject | 메시지 헤더 'CamelAwsSesSubject'가 없는 경우 사용되는 주제입니다. | 문자열 | |
| camel.component.aws-ses.configuration.to | 대상 이메일 주소 목록. 'CamelAwsSesTo' 헤더를 사용하여 재정의할 수 있습니다. | list | |
| camel.component.aws-ses.enabled | aws-ses 구성 요소 활성화 | true | 부울 |
| camel.component.aws-ses.region | SES 클라이언트가 작업해야 하는 지역 | 문자열 | |
| camel.component.aws-ses.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-ses.secret-key | Amazon AWS Secret Key | 문자열 |
필요한 SES 구성 요소 옵션
Amazon SES에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonSESClient를 제공해야 합니다.
33.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
33.4.1. SES 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 보낸 사람의 이메일 주소입니다. |
|
|
| 이 이메일의 대상입니다. |
|
|
| 메시지의 대상입니다. |
|
|
| 메시지의 회신 이메일 주소입니다. |
|
|
| 알림이 전달되어야 하는 이메일 주소입니다. |
|
|
| Camel 2.12.3 이후 이메일 콘텐츠가 HTML인지 표시하는 플래그입니다. |
33.4.2. SES 생산자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Amazon SES 메시지 ID입니다. |
33.4.3. 고급 AmazonSimpleEmailService 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonSimpleEmailService 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 만들고 URI에서 해당 인스턴스를 참조할 수 있습니다.
from("direct:start")
.to("aws-ses://example@example.com?amazonSESClient=#client");
from("direct:start")
.to("aws-ses://example@example.com?amazonSESClient=#client");
#client 는 레지스트리의 AmazonSimpleEmailService 를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
33.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.8.4 이상)으로 교체해야 합니다.
33.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
34장. AWS Simple Notification System 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.8에서 사용 가능
SNS 구성 요소는 메시지를 Amazon Simple Notification Topic으로 보낼 수 있습니다. Amazon API 구현은 AWS SDK 에서 제공합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon SNS를 사용하기 위해 등록되어야 합니다. 자세한 내용은 Amazon SNS 에서 확인할 수 있습니다.
34.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-sns://topicNameOrArn[?options]
aws-sns://topicNameOrArn[?options]
이 문제는 아직 없는 경우 생성됩니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
34.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Simple Notification System 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS SNS 기본 구성 | SnsConfiguration | |
| accesskey (producer) | Amazon AWS Access Key | 문자열 | |
| secretKey (producer) | Amazon AWS Secret Key | 문자열 | |
| 리전 (producer) | SNS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Simple Notification System 끝점은 URI 구문을 사용하여 구성됩니다.
aws-sns:topicNameOrArn
aws-sns:topicNameOrArn
다음 경로 및 쿼리 매개변수를 사용합니다.
34.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| topicNameOrArn | 필수 항목 이름 또는 ARN | 문자열 |
34.2.2. 쿼리 매개변수(11 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonSNSClient (producer) | AmazonSNS를 클라이언트로 사용 | AmazonSNS | |
| headerFilterStrategy (producer) | 사용자 지정 HeaderFilterStrategy를 사용하여 헤더를 Camel에 매핑하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| MessageStructure (producer) | json과 같이 사용할 메시지 구조 | 문자열 | |
| 정책 (producer) | 이 큐의 정책 | 문자열 | |
| proxyHost (producer) | SNS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (producer) | SNS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| 리전 (producer) | SNS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| 제목 (producer) | 메시지 헤더 'CamelAwsSnsSubject'가 없는 경우 사용되는 주제입니다. | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
34.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 16 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-sns.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-sns.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-sns.configuration.amazon-s-n-s-client | AmazonSNS를 클라이언트로 사용 | AmazonSNS | |
| camel.component.aws-sns.configuration.message-structure | json과 같이 사용할 메시지 구조 | 문자열 | |
| camel.component.aws-sns.configuration.policy | 이 큐의 정책 | 문자열 | |
| camel.component.aws-sns.configuration.proxy-host | SNS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-sns.configuration.proxy-port | SNS 클라이언트를 인스턴스화할 때 프록시 포트를 정의하려면 | 정수 | |
| camel.component.aws-sns.configuration.region | SNS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-sns.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-sns.configuration.subject | 메시지 헤더 'CamelAwsSnsSubject'가 없는 경우 사용되는 주제입니다. | 문자열 | |
| camel.component.aws-sns.configuration.topic-arn | 생성된 항목에 할당된 ARM(Amazon Resource Name)입니다. | 문자열 | |
| camel.component.aws-sns.configuration.topic-name | 주제의 이름 | 문자열 | |
| camel.component.aws-sns.enabled | aws-sns 구성 요소 활성화 | true | 부울 |
| camel.component.aws-sns.region | SNS 클라이언트가 작업해야 하는 리전 | 문자열 | |
| camel.component.aws-sns.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-sns.secret-key | Amazon AWS Secret Key | 문자열 |
필수 SNS 구성 요소 옵션
Amazon의 SNS에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonSNSClient를 제공해야 합니다.
34.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
34.4.1. SNS 프로듀서가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
|
Amazon SNS 메시지 제목. 설정하지 않으면 |
34.4.2. SNS 프로듀서에 의해 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Amazon SNS 메시지 ID입니다. |
34.4.3. 고급 AmazonSNS 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonSNS 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 생성하고 URI에서 해당 인스턴스를 참조할 수 있습니다.
from("direct:start")
.to("aws-sns://MyTopic?amazonSNSClient=#client");
from("direct:start")
.to("aws-sns://MyTopic?amazonSNSClient=#client");
#client 는 레지스트리의 AmazonSNS 를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
34.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.8 이상)으로 교체해야 합니다.
34.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
35장. AWS Simple Queue Service 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.6에서 사용 가능
sqs 구성 요소는 Amazon의 SQS 서비스로 메시지를 보내고 받을 수 있도록 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon SQS를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon SQS 에서 확인할 수 있습니다.
35.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-sqs://queueNameOrArn[?options]
aws-sqs://queueNameOrArn[?options]
큐가 없으면 해당 큐가 생성됩니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
35.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Simple Queue Service 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS SQS 기본 구성 | SqsConfiguration | |
| accesskey (공용) | Amazon AWS Access Key | 문자열 | |
| secretKey (common) | Amazon AWS Secret Key | 문자열 | |
| region (공용) | queueOwnerAWSAccountId와 함께 사용할 수 있는 큐 리전을 지정하여 서비스 URL을 빌드합니다. | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Simple Queue Service 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-sqs:queueNameOrArn
aws-sqs:queueNameOrArn
다음 경로 및 쿼리 매개변수를 사용합니다.
35.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| queueNameOrArn | 필요한 대기열 이름 또는 ARN | 문자열 |
35.2.2. 쿼리 매개변수(49 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonAWSHost (일반) | Amazon AWS 클라우드의 호스트 이름입니다. | amazonaws.com | 문자열 |
| AmazonSQSClient (일반) | AmazonSQS를 클라이언트로 사용하기 | AmazonSQS | |
| headerFilterStrategy (common) | 사용자 지정 HeaderFilterStrategy를 사용하여 헤더를 Camel에 매핑하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| queueOwnerAWSAccountId (일반) | 큐를 다른 계정 소유자와 연결해야 할 때 큐 소유자 aws 계정 ID를 지정합니다. | 문자열 | |
| region (공용) | queueOwnerAWSAccountId와 함께 사용할 수 있는 큐 리전을 지정하여 서비스 URL을 빌드합니다. | 문자열 | |
| IAMCredentials 사용 (일반) | SQS 클라이언트가 EC2 인스턴스에서 인증 정보를 로드해야 하는지 또는 정적 인증 정보를 전달할지 여부를 설정합니다. | false | boolean |
| attributeNames (consumer) | 사용할 때 수신할 속성 이름 목록입니다. 여러 이름은 쉼표로 구분할 수 있습니다. | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| concurrentConsumers (consumer) | 여러 스레드를 사용하여 sqs 대기열을 폴링하여 처리량을 늘릴 수 있습니다. | 1 | int |
| defaultVisibilityTimeout (consumer) | 기본 표시 시간 초과(초) | 정수 | |
| deleteAfterRead (consumer) | 읽은 후 SQS에서 메시지 삭제 | true | boolean |
| deleteIfFiltered (consumer) | Exchange에서 필터를 통해 얻을 수 없는 경우 DeleteMessage를 SQS 큐에 보낼지 여부입니다. 'false'와 교환이 경로의 Camel 필터 업스트림을 통해 이를 수행하지 않는 경우 DeleteMessage를 보내지 마십시오. | true | boolean |
| extendMessageVisibility (consumer) | 활성화된 경우 예약된 백그라운드 작업은 SQS에서 메시지 가시성을 계속 확장합니다. 이 작업은 메시지를 처리하는 데 시간이 오래 걸리는 경우 필요합니다. true defaultVisibilityTimeout로 설정된 경우 를 설정해야 합니다. 자세한 내용은 Amazon docs에서 참조하십시오. | false | boolean |
| maxMessagesPerPoll (consumer) | 각 폴링에서 폴링할 최대 메시지 수를 폴링으로 가져옵니다. 는 기본값 무제한이지만 0 또는 음수를 사용하여 무제한으로 비활성화합니다. | int | |
| messageAttributeNames (consumer) | 사용할 때 수신할 메시지 속성 이름 목록입니다. 여러 이름은 쉼표로 구분할 수 있습니다. | 문자열 | |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| visibilityTimeout (consumer) | 수신한 메시지가 com.amazonaws.services.sqs.model.SetQueueAttributesRequest에서 설정되도록 받은 메시지가 후속 검색 요청에서 숨겨진 기간(초)입니다. 이는 defaultVisibilityTimeout과 다른 경우에만 의미가 있습니다. 큐 표시 시간 초과 속성을 영구적으로 변경합니다. | 정수 | |
| waitTimeSeconds (consumer) | ReceiveMessage 작업 호출이 응답에 포함될 대기열에 있을 때까지 대기할 시간(초)입니다. | 정수 | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| delaySeconds (producer) | 몇 초 동안 메시지 전송이 지연됩니다. | 정수 | |
| messageDeduplicationId 전략 (producer) | FIFO 대기열의 경우에만 해당합니다. messageDeduplicationId를 메시지에 설정하기 위한 전략입니다. 다음 옵션 중 하나일 수 있습니다. useExchangeId, useContentBasedDeduplication. useContentBasedDeduplication 옵션의 경우 messageDeduplicationId가 메시지에 설정되지 않습니다. | useExchangeId | MessageDeduplicationId Strategy |
| messageGroupIdStrategy (producer) | FIFO 대기열의 경우에만 해당합니다. 메시지에서 messageGroupId를 설정하는 전략입니다. 다음 옵션 중 하나일 수 있습니다. useConstant, useExchangeId, usePropertyValue. usePropertyValue 옵션의 경우 속성 CamelAwsMessageGroupId가 사용됩니다. | MessageGroupIdStrategy | |
| delayQueue (advanced) | 대기열 또는 단일 메시지에 delaySeconds 옵션을 적용하려면 정의합니다. | false | boolean |
| queueUrl (advanced) | queueUrl을 명시적으로 정의하려면 다음을 수행합니다. queueUrl에 영향을 미치는 다른 모든 매개변수는 무시됩니다. 이 매개변수는 테스트 목적으로 SQS의 모크 구현에 연결하는 데 사용됩니다. | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
| proxyHost (proxy) | SQS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| proxyPort (proxy) | SQS 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| maximumMessageSize (queue) | SQS 메시지에는 이 큐에 대해 포함할 수 있는 maximumMessageSize(바이트 단위)입니다. | 정수 | |
| messageRetentionPeriod (queue) | messageRetentionPeriod(초)는 이 대기열에 대해 SQS가 메시지를 유지합니다. | 정수 | |
| 정책 (queue) | 이 큐의 정책 | 문자열 | |
| receiveMessageWaitTime Seconds (queue) | 요청에 WaitTimeSeconds를 지정하지 않으면 대기 시간을 결정하는 데 queue 속성 ReceiveMessageWaitTimeSeconds를 사용합니다. | 정수 | |
| redrivePolicy (queue) | DeadLetter 큐에 메시지를 보내는 정책을 지정합니다. 자세한 내용은 Amazon docs에서 참조하십시오. | 문자열 | |
| accesskey (보안) | Amazon AWS Access Key | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key | 문자열 |
35.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 31 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-sqs.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-sqs.configuration.access-key | Amazon AWS Access Key | 문자열 | |
| camel.component.aws-sqs.configuration.amazon-a-w-s-host | Amazon AWS 클라우드의 호스트 이름입니다. | amazonaws.com | 문자열 |
| camel.component.aws-sqs.configuration.amazon-s-q-s-client | AmazonSQS를 클라이언트로 사용하기 | AmazonSQS | |
| camel.component.aws-sqs.configuration.attribute-names | 사용할 때 수신할 속성 이름 목록입니다. 여러 이름은 쉼표로 구분할 수 있습니다. | 문자열 | |
| camel.component.aws-sqs.configuration.concurrent-consumers | 여러 스레드를 사용하여 sqs 대기열을 폴링하여 처리량을 늘릴 수 있습니다. | 1 | 정수 |
| camel.component.aws-sqs.configuration.default-visibility-timeout | 기본 표시 시간 초과(초) | 정수 | |
| camel.component.aws-sqs.configuration.delay-queue | 대기열 또는 단일 메시지에 delaySeconds 옵션을 적용하려면 정의합니다. | false | 부울 |
| camel.component.aws-sqs.configuration.delay-seconds | 몇 초 동안 메시지 전송이 지연됩니다. | 정수 | |
| camel.component.aws-sqs.configuration.delete-after-read | 읽은 후 SQS에서 메시지 삭제 | true | 부울 |
| camel.component.aws-sqs.configuration.delete-if-filtered | Exchange에서 필터를 통해 얻을 수 없는 경우 DeleteMessage를 SQS 큐에 보낼지 여부입니다. 'false'와 교환이 경로의 Camel 필터 업스트림을 통해 이를 수행하지 않는 경우 DeleteMessage를 보내지 마십시오. | true | 부울 |
| camel.component.aws-sqs.configuration.extend-message-visibility | 활성화된 경우 예약된 백그라운드 작업은 SQS에서 메시지 가시성을 계속 확장합니다. 이 작업은 메시지를 처리하는 데 시간이 오래 걸리는 경우 필요합니다. true defaultVisibilityTimeout로 설정된 경우 를 설정해야 합니다. 자세한 내용은 Amazon docs에서 참조하십시오. | false | 부울 |
| camel.component.aws-sqs.configuration.maximum-message-size | SQS 메시지에는 이 큐에 대해 포함할 수 있는 maximumMessageSize(바이트 단위)입니다. | 정수 | |
| camel.component.aws-sqs.configuration.message-attribute-names | 사용할 때 수신할 메시지 속성 이름 목록입니다. 여러 이름은 쉼표로 구분할 수 있습니다. | 문자열 | |
| camel.component.aws-sqs.configuration.message-retention-period | messageRetentionPeriod(초)는 이 대기열에 대해 SQS가 메시지를 유지합니다. | 정수 | |
| camel.component.aws-sqs.configuration.policy | 이 큐의 정책 | 문자열 | |
| camel.component.aws-sqs.configuration.proxy-host | SQS 클라이언트를 인스턴스화할 때 프록시 호스트를 정의하기 위해 | 문자열 | |
| camel.component.aws-sqs.configuration.proxy-port | SQS 클라이언트를 인스턴스화할 때 프록시 포트 정의 | 정수 | |
| camel.component.aws-sqs.configuration.queue-name | 큐 이름입니다. 큐가 없으면 해당 큐가 생성됩니다. | 문자열 | |
| camel.component.aws-sqs.configuration.queue-owner-a-w-s-account-id | 큐를 다른 계정 소유자와 연결해야 할 때 큐 소유자 aws 계정 ID를 지정합니다. | 문자열 | |
| camel.component.aws-sqs.configuration.queue-url | queueUrl을 명시적으로 정의하려면 다음을 수행합니다. queueUrl에 영향을 미치는 다른 모든 매개변수는 무시됩니다. 이 매개변수는 테스트 목적으로 SQS의 모크 구현에 연결하는 데 사용됩니다. | 문자열 | |
| camel.component.aws-sqs.configuration.receive-message-wait-time-seconds | 요청에 WaitTimeSeconds를 지정하지 않으면 대기 시간을 결정하는 데 queue 속성 ReceiveMessageWaitTimeSeconds를 사용합니다. | 정수 | |
| camel.component.aws-sqs.configuration.redrive-policy | DeadLetter 큐에 메시지를 보내는 정책을 지정합니다. 자세한 내용은 Amazon docs에서 참조하십시오. | 문자열 | |
| camel.component.aws-sqs.configuration.region | queueOwnerAWSAccountId와 함께 사용할 수 있는 큐 리전을 지정하여 서비스 URL을 빌드합니다. | 문자열 | |
| camel.component.aws-sqs.configuration.secret-key | Amazon AWS Secret Key | 문자열 | |
| camel.component.aws-sqs.configuration.visibility-timeout | 수신한 메시지가 com.amazonaws.services.sqs.model.SetQueueAttributesRequest에서 설정되도록 받은 메시지가 후속 검색 요청에서 숨겨진 기간(초)입니다. 이는 defaultVisibilityTimeout과 다른 경우에만 의미가 있습니다. 큐 표시 시간 초과 속성을 영구적으로 변경합니다. | 정수 | |
| camel.component.aws-sqs.configuration.wait-time-seconds | ReceiveMessage 작업 호출이 응답에 포함될 대기열에 있을 때까지 대기할 시간(초)입니다. | 정수 | |
| camel.component.aws-sqs.enabled | aws-sqs 구성 요소 활성화 | true | 부울 |
| camel.component.aws-sqs.region | queueOwnerAWSAccountId와 함께 사용할 수 있는 큐 리전을 지정하여 서비스 URL을 빌드합니다. | 문자열 | |
| camel.component.aws-sqs.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-sqs.secret-key | Amazon AWS Secret Key | 문자열 |
필수 SQS 구성 요소 옵션
Amazon의 SQS에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonSQSClient를 제공해야 합니다.
35.4. batch Consumer 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 배치 소비자를 구현합니다.
예를 들어 이 배치에 있는 메시지 수를 알 수 있으며, 예를 들어 집계에서 이 메시지 수를 집계할 수 있습니다.
35.5. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
35.5.1. SQS 생산자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Amazon SQS 메시지의 MD5 체크섬입니다. |
|
|
| Amazon SQS 메시지 ID. |
|
|
| Camel 2.11 부터 Amazon SQS 메시지가 다른 사람이 볼 수 있는 지연 시간. |
35.5.2. SQS 소비자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| Amazon SQS 메시지의 MD5 체크섬입니다. |
|
|
| Amazon SQS 메시지 ID. |
|
|
| Amazon SQS 메시지 수신 핸들. |
|
|
| Amazon SQS 메시지 속성. |
35.5.3. 고급 AmazonSQS 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 AmazonSQS 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 생성할 수 있습니다.
Camel aws-sqs 구성 요소 구성에서 참조하십시오.
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
35.5.4. SQS 큐 생성 또는 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
SQS 구성 요소에서 끝점이 시작되면 큐의 존재 여부에 대한 정보를 가져오기 위해 검사가 실행됩니다. SQSConfiguration 옵션을 사용하여 QueueAttributeName 매핑을 통해 생성을 사용자 지정할 수 있습니다.
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
이 예에서는 AWS에서 MyQueue 큐가 아직 생성되지 않은 경우 SQS 구성에서 기본 매개변수로 생성됩니다. AWS에 이미 작동 중인 경우 SQS 구성 옵션을 사용하여 존재하는 AWS 구성을 재정의합니다.
35.5.5. Single 메시지의 DelayQueue VS Delay 링크 복사링크가 클립보드에 복사되었습니다!
2.23.0에서 구성 요소에는 delayQueue라는 새로운 옵션이 있습니다. 옵션이 true로 설정되면 SQS Queue는 지연으로 DelaySeconds 옵션이 있는 DelayQueue가 됩니다. DelayQueue에 대한 자세한 내용은 AWS SQS 설명서를 참조하십시오. 고려해야 할 중요한 정보 중 하나는 다음과 같습니다.
- 표준 대기열의 경우 대기열당 지연 설정이 소급적으로 변경되지 않습니다. 설정이 대기열에 이미 있는 메시지의 지연에는 영향을 미치지 않습니다.
- FIFO 대기열의 경우 대기열당 지연 설정이 소급적으로 변경되며, 이 설정은 큐에 이미 있는 메시지의 지연에 영향을 미칩니다.
공식 문서에 명시된 대로 단일 메시지에 지연을 지정하려면 이 옵션을 true로 설정할 수 있지만 모든 메시지 enqueued에 고정 지연 시간을 추가해야 하는 경우 delayQueue 옵션을 무시할 수 있습니다.
35.5.6. SQS 구성 요소에서 AWS IAM 인증 정보 사용 링크 복사링크가 클립보드에 복사되었습니다!
AWS IAM 인증 정보를 사용하려면 먼저 Camel 애플리케이션을 시작하는 EC2 인스턴스에 IAM 역할이 연결되어 있고 적절한 정책이 연결되어 있는지 확인해야 합니다.
이 기능은 원격 인스턴스에서만 true 로 설정해야 합니다. 또한 IAM이 AWS 특정 구성 요소이므로 정적 인증 정보도 로컬로 사용해야 합니다.
이 기능을 구현하려면 IAMCredentials를 true 로 설정합니다.
로컬 및 원격 환경에 따라 이 기능을 설정 및 해제하려면 시스템 환경 변수를 사용하여 이 쿼리 매개 변수 사용을 고려할 수 있습니다. 예를 들어 라는 시스템 환경 변수가 true 로 설정된 경우 코드 는 IAMCredentials 쿼리 매개 변수를 true 로 설정할 수 있습니다.
이 기능은 정적 인증 정보가 완전히 필요하지 않지만 AWS 환경에서 IAM 인증 정보를 사용하면 원격 환경에서 새로 고칠 필요가 없으며 6시간마다 IAM 인증 정보가 자동으로 새로 고쳐지고 EC2 보안 정책이 업데이트될 때 업데이트되므로 더 안전합니다.
이는 AWS에서 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.
35.6. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.6 이상)으로 교체해야 합니다.
35.7. JMS 스타일 선택기 링크 복사링크가 클립보드에 복사되었습니다!
SQS는 선택기를 허용하지 않지만 Camel Filter EIP를 사용하고 적절한 visibilityTimeout 을 설정하여 이를 효과적으로 달성할 수 있습니다. SQS가 메시지를 디스패치하면 DeleteMessage가 수신되지 않는 한 다른 소비자에게 메시지를 디스패치하려고 시도하기 전에 가시성 타임아웃까지 기다립니다. 기본적으로 Camel은 경로가 실패로 종료되지 않는 한 항상 DeleteMessage를 경로 끝에 보냅니다. 적절한 필터링을 수행하고 경로가 성공적으로 완료되는 경우에도 DeleteMessage를 보내지 않으려면 Filter를 사용합니다.
from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false")
.filter("${header.login} == true")
.to("mock:result");
from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false")
.filter("${header.login} == true")
.to("mock:result");
위의 코드에서 교환에 적절한 헤더가 없는 경우 필터를 통해 이를 수행하지 않으며 SQS 큐에서도 삭제되지 않습니다. 5000마초가 지나면 다른 사용자에게 메시지가 표시됩니다.
35.8. 단일 메시지 삭제 링크 복사링크가 클립보드에 복사되었습니다!
deleteMessage 작업을 사용하여 단일 메시지를 삭제합니다. 삭제하려는 메시지에 대한 수신 핸들 헤더를 설정해야 합니다.
from("direct:start")
.setHeader(SqsConstants.SQS_OPERATION, constant("deleteMessage"))
.setHeader(SqsConstants.RECEIPT_HANDLE, constant("123456"))
.to("aws-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1");
from("direct:start")
.setHeader(SqsConstants.SQS_OPERATION, constant("deleteMessage"))
.setHeader(SqsConstants.RECEIPT_HANDLE, constant("123456"))
.to("aws-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)®ion=EU_WEST_1");
결과적으로 DeleteMessageResult 인스턴스가 포함된 교환에서 메시지가 삭제되었는지 확인하는 데 사용할 수 있습니다.
35.9. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- AWS 구성 요소
36장. AWS Simple Workflow 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.13에서 사용 가능
Simple Workflow 구성 요소는 Amazon의 Simple Workflow 서비스에서 워크플로 관리를 지원합니다.
사전 요구 사항
유효한 Amazon Web Services 개발자 계정이 있어야 하며 Amazon Simple Workflow를 사용하려면 가입해야 합니다. 자세한 내용은 Amazon Simple Workflow 에서 확인할 수 있습니다.
36.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
aws-swf://<workflow|activity>[?options]
aws-swf://<workflow|activity>[?options]
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
36.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
AWS Simple Workflow 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (고급) | AWS SWF 기본 구성 | SWFConfiguration | |
| accesskey (공용) | Amazon AWS Access Key입니다. | 문자열 | |
| secretKey (common) | Amazon AWS Secret Key. | 문자열 | |
| region (공용) | Amazon AWS 리전. | 문자열 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
AWS Simple Workflow 엔드포인트는 URI 구문을 사용하여 구성됩니다.
aws-swf:type
aws-swf:type
다음 경로 및 쿼리 매개변수를 사용합니다.
36.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| type | 필수 활동 또는 워크플로우 | 문자열 |
36.2.2. 쿼리 매개변수(30 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| AmazonSWClient (일반) | 지정된 AmazonSimpleWorkflowClient를 클라이언트로 사용하기 위해 | AmazonSimpleWorkflow Client | |
| dataConverter (일반) | 데이터 직렬화/데이저에 사용할 com.amazonaws.services.simpleworkflow.flow.DataConverter의 인스턴스입니다. | DataConverter | |
| 도메인 이름 (공용) | 사용할 워크플로 도메인입니다. | 문자열 | |
| eventname (common) | 사용할 워크플로 또는 활동 이벤트 이름입니다. | 문자열 | |
| region (공용) | Amazon AWS 리전. | 문자열 | |
| 버전 (공용) | 사용할 워크플로 또는 활동 이벤트 버전입니다. | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| 클라이언트 구성 매개변수 (advanced) | 맵의 키/값을 사용하여 ClientConfiguration을 구성하려면 다음을 수행합니다. | map | |
| startWorkflowOptions 매개변수 (고급) | 맵의 키/값을 사용하여 StartWorkflowOptions를 구성하려면 다음을 수행합니다. | map | |
| sWClientParameters (advanced) | 맵의 키/값을 사용하여 AmazonSimpleWorkflowClient를 구성하려면 다음을 수행합니다. | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| activityList (activity) | 활동을 사용할 목록 이름입니다. | 문자열 | |
| activitySchedulingOptions (activity) | 활동 스케줄링 옵션 | 활동 일정 옵션 | |
| activityThreadPoolSize (activity) | 작업에 대한 작업 풀의 최대 스레드 수입니다. | 100 | int |
| activityTypeExecution Options (activity) | 활동 실행 옵션 | ActivityTypeExecution Options | |
| activityTypeRegistration Options (activity) | 활동 등록 옵션 | ActivityType RegistrationOptions | |
| childPolicy (workflow) | 워크플로를 종료할 때 하위 워크플로에서 사용할 정책입니다. | 문자열 | |
| executionStartToClose Timeout (workflow) | 실행 시작 시간을 닫기로 설정합니다. | 3600 | 문자열 |
| 작업 (workflow) | 워크플로 작업 | START | 문자열 |
| signalName (workflow) | 워크플로로 보낼 신호의 이름입니다. | 문자열 | |
| stateResultType (workflow) | 워크플로 상태를 쿼리할 때 결과 유형입니다. | 문자열 | |
| taskStartToCloseTimeout (workflow) | 작업 시작 시간을 닫기로 설정합니다. | 600 | 문자열 |
| terminationDetails (workflow) | 워크플로 종료에 대한 세부 정보. | 문자열 | |
| terminationReason (workflow) | 워크플로를 종료하는 이유입니다. | 문자열 | |
| workflowList (workflow) | 워크플로우를 사용할 목록 이름입니다. | 문자열 | |
| workflowTypeRegistration Options (workflow) | 워크플로 등록 옵션 | WorkflowType RegistrationOptions | |
| accesskey (보안) | Amazon AWS Access Key입니다. | 문자열 | |
| secretKey (security) | Amazon AWS Secret Key. | 문자열 |
36.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 32 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.aws-swf.access-key | Amazon AWS Access Key입니다. | 문자열 | |
| camel.component.aws-swf.configuration.access-key | Amazon AWS Access Key입니다. | 문자열 | |
| camel.component.aws-swf.configuration.activity-list | 활동을 사용할 목록 이름입니다. | 문자열 | |
| camel.component.aws-swf.configuration.activity-scheduling-options | 활동 스케줄링 옵션 | 활동 일정 옵션 | |
| camel.component.aws-swf.configuration.activity-thread-pool-size | 작업에 대한 작업 풀의 최대 스레드 수입니다. | 100 | 정수 |
| camel.component.aws-swf.configuration.activity-type-execution-options | 활동 실행 옵션 | ActivityTypeExecution Options | |
| camel.component.aws-swf.configuration.activity-type-registration-options | 활동 등록 옵션 | ActivityType RegistrationOptions | |
| camel.component.aws-swf.configuration.amazon-s-w-client | 지정된 AmazonSimpleWorkflowClient를 클라이언트로 사용하기 위해 | AmazonSimpleWorkflow Client | |
| camel.component.aws-swf.configuration.child-policy | 워크플로를 종료할 때 하위 워크플로에서 사용할 정책입니다. | 문자열 | |
| camel.component.aws-swf.configuration.client-configuration-parameters | 맵의 키/값을 사용하여 ClientConfiguration을 구성하려면 다음을 수행합니다. | map | |
| camel.component.aws-swf.configuration.data-converter | 데이터 직렬화/데이저에 사용할 com.amazonaws.services.simpleworkflow.flow.DataConverter의 인스턴스입니다. | DataConverter | |
| camel.component.aws-swf.configuration.domain-name | 사용할 워크플로 도메인입니다. | 문자열 | |
| camel.component.aws-swf.configuration.event-name | 사용할 워크플로 또는 활동 이벤트 이름입니다. | 문자열 | |
| camel.component.aws-swf.configuration.execution-start-to-close-timeout | 실행 시작 시간을 닫기로 설정합니다. | 3600 | 문자열 |
| camel.component.aws-swf.configuration.operation | 워크플로 작업 | START | 문자열 |
| camel.component.aws-swf.configuration.region | Amazon AWS 리전. | 문자열 | |
| camel.component.aws-swf.configuration.s-w-client-parameters | 맵의 키/값을 사용하여 AmazonSimpleWorkflowClient를 구성하려면 다음을 수행합니다. | map | |
| camel.component.aws-swf.configuration.secret-key | Amazon AWS Secret Key. | 문자열 | |
| camel.component.aws-swf.configuration.signal-name | 워크플로로 보낼 신호의 이름입니다. | 문자열 | |
| camel.component.aws-swf.configuration.start-workflow-options-parameters | 맵의 키/값을 사용하여 StartWorkflowOptions를 구성하려면 다음을 수행합니다. | map | |
| camel.component.aws-swf.configuration.state-result-type | 워크플로 상태를 쿼리할 때 결과 유형입니다. | 문자열 | |
| camel.component.aws-swf.configuration.task-start-to-close-timeout | 작업 시작 시간을 닫기로 설정합니다. | 600 | 문자열 |
| camel.component.aws-swf.configuration.termination-details | 워크플로 종료에 대한 세부 정보. | 문자열 | |
| camel.component.aws-swf.configuration.termination-reason | 워크플로를 종료하는 이유입니다. | 문자열 | |
| camel.component.aws-swf.configuration.type | 활동 또는 워크플로우 | 문자열 | |
| camel.component.aws-swf.configuration.version | 사용할 워크플로 또는 활동 이벤트 버전입니다. | 문자열 | |
| camel.component.aws-swf.configuration.workflow-list | 워크플로우를 사용할 목록 이름입니다. | 문자열 | |
| camel.component.aws-swf.configuration.workflow-type-registration-options | 워크플로 등록 옵션 | WorkflowType RegistrationOptions | |
| camel.component.aws-swf.enabled | aws-swf 구성 요소 활성화 | true | 부울 |
| camel.component.aws-swf.region | Amazon AWS 리전. | 문자열 | |
| camel.component.aws-swf.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
| camel.component.aws-swf.secret-key | Amazon AWS Secret Key. | 문자열 |
필수 SWF 구성 요소 옵션
Amazon의 Simple Workflow Service에 액세스하려면 레지스트리 또는 accessKey 및 secretKey에 amazonSWClient를 제공해야 합니다.
36.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
36.4.1. SWF Workflow Producer에서 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
워크플로 생산자를 사용하면 워크플로와 상호 작용할 수 있습니다. 새 워크플로 실행을 시작하고, 상태를 쿼리하거나, 실행 중인 워크플로에 신호를 보내거나, 종료한 후 취소할 수 있습니다.
| header | 유형 | 설명 |
|---|---|---|
|
|
|
워크플로에서 수행할 작업입니다. 지원되는 작업은 |
|
|
| 사용할 워크플로 ID입니다. |
|
|
| 사용할 worfklow 실행 ID입니다. |
|
|
| 워크플로 상태를 쿼리할 때 결과 유형입니다. |
|
|
| 사용할 워크플로 또는 활동 이벤트 이름입니다. |
|
|
| 사용할 워크플로 또는 활동 이벤트 버전입니다. |
|
|
| 워크플로를 종료하는 이유입니다. |
|
|
| 워크플로 종료에 대한 세부 정보. |
|
|
| 워크플로를 종료할 때 하위 워크플로에서 사용할 정책입니다. |
36.4.2. SWF Workflow Producer에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 사용된 worfklow ID 또는 새로 생성된 ID입니다. |
|
|
| worfklow는 사용되거나 생성된 ID를 실행합니다. |
36.4.3. SWF 워크플로 Consumer에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
워크플로 소비자는 워크플로 논리를 나타냅니다. 이 서비스가 시작되면 폴링 워크플로 결정 작업을 시작하고 처리합니다. 워크플로 소비자 경로 처리 외에도 워크플로 소비자 경로도 신호(플래시 생산자에서 종료) 또는 상태 쿼리를 수신합니다. 워크플로 소비자의 주요 목적은 활동 생산자를 사용하여 실행할 활동 작업을 예약하는 것입니다. 실제로 활동 작업은 워크플로 소비자가 시작한 스레드에서만 예약할 수 있습니다.
| header | 유형 | 설명 |
|---|---|---|
|
|
| CamelSWFActionExecute, CamelSWFSignalReceivedAction 또는 CamelSWFGetStateAction의 현재 이벤트임을 나타냅니다. |
|
|
| 현재 결정 작업이 재생인지 여부를 나타냅니다.Indicates whether the current decision task is a replay. |
|
|
| 이 결정 작업의 시작 이벤트 시간입니다. |
36.4.4. SWF Activity Producer에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
활동 생산자를 사용하면 활동 작업을 예약할 수 있습니다. 활동 생산자는 워크플로 소비자에 의해 시작된 스레드에서만 사용할 수 있으며 워크플로 소비자가 시작한 동기 교환을 처리할 수 있습니다.
| header | 유형 | 설명 |
|---|---|---|
|
|
| 예약할 활동 이름입니다. |
|
|
| 예약할 활동 버전입니다. |
36.4.5. SWF 활동 소비자에 의해 설정된 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 수동으로 완료된 작업의 작업 완료를 보고하는 데 필요한 작업 토큰입니다. |
36.4.6. 고급 AmazonSWClient 구성 링크 복사링크가 클립보드에 복사되었습니다!
AmazonSimpleWorkflowClient 인스턴스 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 만들고 URI에서 해당 인스턴스를 참조할 수 있습니다.
#client 는 레지스트리의 AmazonSimpleWorkflowClient를 나타냅니다.
예를 들어 Camel 애플리케이션이 방화벽 뒤에서 실행 중인 경우입니다.
36.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.13 이상)으로 교체해야 합니다.
36.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
AWS 구성 요소
37장. AWS XRay 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.21로 사용 가능
camel-aws-xray 구성 요소는 AWS XRay 를 사용하여 들어오고 나가는 Camel 메시지를 추적하고 타이밍하는 데 사용됩니다.
Camel로/에서 전송되는 수신 및 발신 메시지의 경우 이벤트(서브스크립션)를 캡처합니다.
37.1. 종속성 링크 복사링크가 클립보드에 복사되었습니다!
AWS XRay 지원을 Camel에 포함시키려면 Camel 관련 AWS XRay 관련 클래스가 포함된 아카이브를 프로젝트에 추가해야 합니다. 또한 AWS XRay 라이브러리도 사용할 수 있어야 합니다.
AWS XRay 및 Camel을 모두 포함하기 위해 종속성은 다음 Maven 가져오기를 사용합니다.
37.2. 설정 링크 복사링크가 클립보드에 복사되었습니다!
AWS XRay tracer의 구성 속성은 다음과 같습니다.
| 옵션 | 기본값 | 설명 |
|---|---|---|
| addExcludePatterns |
| 패턴과 일치하는 Camel 메시지의 추적을 비활성화하는 exclude 패턴을 설정합니다. 콘텐츠는 키가 routeId와 일치하는 패턴인 Set<String>입니다. 이 패턴은 인터셉터의 규칙을 사용합니다. |
| setTracingStrategy | NoopTracingStrategy |
|
현재 AWS XRay 추적 프로그램을 구성하여 Camel 애플리케이션을 위한 분산 추적을 제공할 수 있는 방법은 한 가지뿐입니다.
37.2.1. 명시적인 링크 복사링크가 클립보드에 복사되었습니다!
AWS XRay Tracer와 관련된 특정 종속성과 함께 POM에 camel-aws-xray 구성 요소를 포함합니다.
AWS XRay 지원을 명시적으로 구성하려면 XRayTracer 를 인스턴스화하고 camel 컨텍스트를 초기화합니다. 선택적으로 추적기를 지정 하거나 레지스트리 또는 ServiceLoader 를 사용하여 암시적으로 검색할 수 있습니다.
XRayTracer xrayTracer = new XRayTracer(); // By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation. xrayTracer.setTracingStrategy(...); // And then initialize the context xrayTracer.init(camelContext);
XRayTracer xrayTracer = new XRayTracer();
// By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation.
xrayTracer.setTracingStrategy(...);
// And then initialize the context
xrayTracer.init(camelContext);
XML에서 XRayTracer를 사용하려면 AWS XRay 추적기 빈을 정의하는 것입니다. Camel은 자동으로 검색하고 사용할 수 있습니다.
<bean id="tracingStrategy" class="..."/>
<bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" />
<property name="tracer" ref="tracingStrategy"/>
</bean>
<bean id="tracingStrategy" class="..."/>
<bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" />
<property name="tracer" ref="tracingStrategy"/>
</bean>
기본 NoopTracingStrategy 의 경우 교환 생성 및 삭제만 추적되지만 특정 빈 또는 EIP 패턴을 호출하지는 않습니다.
37.2.2. 포괄적인 경로 실행 추적 링크 복사링크가 클립보드에 복사되었습니다!
여러 경로 간에 교환 실행을 추적하기 위해 교환 시 고유한 추적 ID가 생성되고 해당 값을 아직 사용할 수 없는 경우 헤더에 저장됩니다. 이 추적 ID는 처리된 교환에 대한 일관된 관점을 유지하기 위해 새 교환에 복사됩니다.
AWS XRay 추적은 스레드-로컬 기반으로 작동하므로 현재 하위/세그는 새 스레드로 복사되고 AWS XRay 문서에 설명된 대로 설정해야 합니다. 따라서 Camel AWS XRay 구성 요소는 전달된 AWS XRay Entity 를 새 스레드로 설정하기 위해 구성 요소가 사용할 추가 헤더 필드를 제공하므로 실행된 경로와 관련이 없는 새로운 세그먼트를 공개하지 않고 추적된 데이터를 경로에 유지합니다.
구성 요소는 교환의 헤더에 있는 다음과 같은 상수를 사용합니다.
| header | 설명 |
|---|---|
| Camel-AWS-XRay-Trace-ID |
호출된 경로에 대한 포괄적인 보기를 제공하는 AWS XRay |
| Camel-AWS-XRay-Trace-Entity |
새 스레드로 복사되는 실제 AWS XRay |
AWS XRay Entity (예: Segment 및 Subsegment)는 직렬화할 수 없으므로 다른 JVM 프로세스에 전달해서는 안 됩니다.
37.3. 예제 링크 복사링크가 클립보드에 복사되었습니다!
이 프로젝트와 함께 제공되는 테스트 내에서 AWS XRay 추적을 구성하는 방법을 시연하는 예를 찾을 수 있습니다.
38장. Windows Azure Services용 Camel 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Windows Azure Services 용 Camel 구성 요소는 Camel에서 Azure 서비스에 대한 연결을 제공합니다.
| Azure Service | Camel 구성 요소 | Camel 버전 | 구성 요소 설명 |
|---|---|---|---|
| 2.9.0 | Blob 저장 및 검색 지원 | ||
| 2.9.0 | 큐에 메시지 저장 및 검색 지원 |
39장. Azure Storage Blob Service 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.19에서 사용 가능
Azure Blob 구성 요소는 Azure Storage Blob 서비스로 Blob을 저장하고 검색할 수 있도록 지원합니다.The Azure Blob component supports storing and retrieving the blobs to/from Azure Storage Blob service.
사전 요구 사항
유효한 Windows Azure Storage 계정이 있어야 합니다. 자세한 내용은 Azure 설명서 포털에서 확인할 수 있습니다.
39.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
azure-blob://accountName/containerName[/blobName][?options]
azure-blob://accountName/containerName[/blobName][?options]
대부분의 경우 BlobName이 필요하며 Blob이 아직 없으면 생성됩니다.In most cases a blobName is required and the blob will be created if it does not already exist.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
예를 들어 camelazure 스토리지 계정의 container1 에 있는 공용 블록 Blob blockBlob 에서 Blob 콘텐츠를 다운로드하려면 다음 스니펫을 사용합니다.
from("azure-blob:/camelazure/container1/blockBlob").
to("file://blobdirectory");
from("azure-blob:/camelazure/container1/blockBlob").
to("file://blobdirectory");
39.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Azure Storage Blob Service 구성 요소에는 옵션이 없습니다.
Azure Storage Blob 서비스 끝점은 URI 구문을 사용하여 구성됩니다.
azure-blob:containerOrBlobUri
azure-blob:containerOrBlobUri
다음 경로 및 쿼리 매개변수를 사용합니다.
39.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| containerOrBlobUri | 필수 컨테이너 또는 Blob 컴팩트한 Uri | 문자열 |
39.2.2. 쿼리 매개변수(19 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| azureBlobClient (일반) | Blob 서비스 클라이언트 | CloudBlob | |
| BlobOffset (common) | 업로드 또는 다운로드 작업의 Blob 오프셋 설정, 기본값은 0입니다. | 0 | long |
| blobType (common) | Blob 유형 설정, 'blockblob'이 기본값입니다. | blockblob | BlobType |
| CloseStreamAfterRead (일반) | 읽기 후 스트림을 닫거나 열어 두면 기본값은 true입니다. | true | boolean |
| 인증 정보(공용) | 대부분의 경우 필요한 스토리지 인증 정보 설정 | StorageCredentials | |
| dataLength (common) | 다운로드 또는 페이지 Blob 업로드 작업의 데이터 길이 설정 | long | |
| fileDir (일반) | 다운로드한 Blob이 저장될 파일 디렉터리를 설정합니다.Set the file directory where the downloaded Blob will be saved to. | 문자열 | |
| publicForRead (일반) | 이 속성이 활성화된 경우 인증 정보를 설정할 필요가 없는 경우 해당 콘텐츠를 읽을 수 있도록 스토리지 리소스가 공용일 수 있습니다. | false | boolean |
| streamReadSize (일반) | Blob 콘텐츠를 읽을 때 바이트 단위로 최소 읽기 크기 설정 | int | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| BlobMetadata (producer) | blob 메타 데이터 설정 | map | |
| blobPrefix (producer) | Blob을 나열하는 데 사용할 수 있는 접두사 설정 | 문자열 | |
| CloseStreamAfterWrite (producer) | 쓰기 후 스트림을 닫거나 열어 두며 기본값은 true입니다. | true | boolean |
| 작업 (producer) | 생산자에 대한 Blob 서비스 작업 힌트 | listBlobs | BlobServiceOperations |
| streamWriteSize (producer) | 블록 및 페이지 블록을 쓰기 위한 버퍼의 크기 설정 | int | |
| useFlatListing (producer) | 플랫 또는 계층적 Blob 목록을 사용해야 하는지 지정합니다. | true | boolean |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
39.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.azure-blob.enabled | azure-blob 구성 요소 활성화 | true | 부울 |
| camel.component.azure-blob.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
필수 Azure Storage Blob 서비스 구성 요소 옵션
개인 Blob에 액세스해야 하는 경우 컨테이너OrBlob 이름과 자격 증명을 제공해야 합니다.
39.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
39.4.1. Azure Storage Blob 서비스 생산자가 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
39.4.2. Azure Storage Blob 서비스 생산자에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 다운로드한 Blob 콘텐츠의 파일 이름입니다. |
39.4.3. Azure Storage Blob 서비스 생산자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
|
|
| 다운로드한 Blob 콘텐츠의 파일 이름입니다. |
39.4.4. Azure Blob 서비스 작업 링크 복사링크가 클립보드에 복사되었습니다!
모든 블록 유형에 공통적인 작업
| 작업 | 설명 |
|---|---|
|
| Blob의 내용을 가져옵니다.Gets the content of the blob. 이 작업의 출력을 Blob 범위로 제한할 수 있습니다. |
|
| Blob을 삭제합니다. |
|
| Blob을 나열합니다. |
블록 Blob 작업
| 작업 | 설명 |
|---|---|
|
| 새 블록 Blob을 만들거나 기존 블록 Blob 콘텐츠를 덮어쓰는 블록 Blob 콘텐츠를 배치합니다. |
|
|
먼저 Blob 블록 시퀀스를 생성한 다음 Blob에 커밋하여 블록 Blob 콘텐츠를 업로드합니다. 메시지 CommitBlockListLater 속성을 활성화하면 나중에 |
|
|
Blob 블록의 시퀀스를 Blob 서비스에 이전에 업로드한 블록 목록에 커밋합니다(Update |
|
| block blob 목록을 가져옵니다. |
Blob 작업 추가
| 작업 | 설명 |
|---|---|
|
|
추가 블록을 생성합니다. 기본적으로 블록이 이미 존재하는 경우 재설정되지 않습니다. 대신 AppendBlob 속성과 |
|
| Blob에 새 콘텐츠를 추가합니다.Appends the new content to the blob. 이 작업은 또한 Blob이 아직 존재하지 않고 AppendBlobCreated 메시지를 사용하도록 설정한 경우 새로 생성합니다. |
페이지 블록 작업
| 작업 | 설명 |
|---|---|
|
|
페이지 블록을 생성합니다. 기본적으로 블록이 이미 존재하는 경우 재설정되지 않습니다. 또한 PageBlob 속성과 |
|
| PageBlobCreated 속성 및 동일한 이름의 블록이 이미 존재하는 경우 페이지 블록을 만들고 이 Blob의 콘텐츠를 설정합니다. |
|
| 페이지 Blob의 크기를 조정합니다. |
|
| Blob 페이지를 지웁니다. |
|
| Blob 페이지 범위를 가져옵니다. |
39.4.5. Azure Blob 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 Azure Blob Client 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 만들 수 있습니다.
StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");
CloudBlob client = new CloudBlob("camelazure", credentials);
registry.bind("azureBlobClient", client);
StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");
CloudBlob client = new CloudBlob("camelazure", credentials);
registry.bind("azureBlobClient", client);
Camel azure-blob 구성 요소 구성에서 참조하십시오.
from("azure-blob:/camelazure/container1/blockBlob?azureBlobClient=#client")
.to("mock:result");
from("azure-blob:/camelazure/container1/blockBlob?azureBlobClient=#client")
.to("mock:result");
39.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-azure</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-azure</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.19.0 이상)으로 교체해야 합니다.
39.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- Azure Component
40장. Azure Storage Queue Service 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.19에서 사용 가능
Azure Queue 구성 요소는 Azure Storage 큐 서비스로 메시지를 저장하고 검색할 수 있도록 지원합니다.The Azure Queue component supports storing and retrieving the messages to/from Azure Storage Queue service.
사전 요구 사항
유효한 Microsoft Azure 계정이 있어야 합니다. 자세한 내용은 Azure Portal 에서 확인할 수 있습니다.
40.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
azure-queue://accountName/queueName[?options]
azure-queue://accountName/queueName[?options]
큐가 없으면 해당 큐가 생성됩니다.
다음 형식 ?options=value&option2=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
예를 들어 camelazure 스토리지 계정의 큐 메시지 대기열 에서 메시지 콘텐츠를 가져오고 다음 스니펫을 사용합니다.
from("azure-queue:/camelazure/messageQueue").
to("file://queuedirectory");
from("azure-queue:/camelazure/messageQueue").
to("file://queuedirectory");
40.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Azure Storage Queue Service 구성 요소에는 옵션이 없습니다.
Azure Storage Queue Service 끝점은 URI 구문을 사용하여 구성됩니다.
azure-queue:containerAndQueueUri
azure-queue:containerAndQueueUri
다음 경로 및 쿼리 매개변수를 사용합니다.
40.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| containerAndQueueUri | 필수 컨테이너 큐 컴팩트한 Uri | 문자열 |
40.2.2. 쿼리 매개 변수(10 매개변수: 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| azureQueueClient (일반) | 큐 서비스 클라이언트 | CloudQueue | |
| 인증 정보(공용) | 대부분의 경우 필요한 스토리지 인증 정보 설정 | StorageCredentials | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| messageTimeToLive (producer) | Time to Live in seconds | int | |
| messageVisibilityDelay (producer) | 메시지 표시 가능 시간(초) | int | |
| 작업 (producer) | 사용자가 메시지만 보내고 싶지 않은 경우 수행할 작업입니다. 세 가지 열거형 옵션이 있으며 값은 sendBatchMessage, deleteMessage, listQueues 중 하나일 수 있습니다. | listQueues | QueueServiceOperations |
| queuePrefix (producer) | 큐를 나열하는 데 사용할 수 있는 접두사 설정 | 문자열 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
40.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.azure-queue.enabled | azure-queue 구성 요소 활성화 | true | 부울 |
| camel.component.azure-queue.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
필수 Azure Storage Queue Service 구성 요소 옵션
containerAndQueue URI와 자격 증명을 제공해야 합니다.
40.4. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
40.4.1. Azure Storage Queue Service 생산자에서 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
40.4.2. Azure Storage Queue Service 생산자에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
40.4.3. Azure Storage 큐 서비스 생산자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| header | 유형 | 설명 |
|---|---|---|
40.4.4. Azure Queue Service 작업 링크 복사링크가 클립보드에 복사되었습니다!
| 작업 | 설명 |
|---|---|
|
| 대기열을 나열합니다. |
|
| 큐를 만듭니다. |
|
| 큐를 삭제합니다. |
|
| 큐에 메시지를 추가합니다. |
|
| 큐에서 메시지를 검색합니다. |
|
| 예를 들어 큐 내의 메시지를 보고 메시지가 올바른 큐에 도착했는지 확인합니다. |
|
| 큐에서 메시지를 업데이트합니다. |
|
| 큐에서 메시지를 삭제합니다. |
40.4.5. Azure Queue Client 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 Azure Queue Client 구성을 더 많이 제어해야 하는 경우 고유한 인스턴스를 생성할 수 있습니다.
StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");
CloudQueue client = new CloudQueue("camelazure", credentials);
registry.bind("azureQueueClient", client);
StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");
CloudQueue client = new CloudQueue("camelazure", credentials);
registry.bind("azureQueueClient", client);
Camel azure-queue 구성 요소 구성에서 참조하십시오.
from("azure-queue:/camelazure/messageQueue?azureQueueClient=#client")
.to("mock:result");
from("azure-queue:/camelazure/messageQueue?azureQueueClient=#client")
.to("mock:result");
40.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 다음 종속성을 pom.xml에 추가해야 합니다.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-azure</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-azure</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.19.0 이상)으로 교체해야 합니다.
40.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- Azure Component
41장. Barcode DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.14로 사용 가능
바코드 데이터 형식은 zxing 라이브러리 를 기반으로 합니다. 이 구성 요소의 목표는 문자열(marshal) 및 바코드 이미지(unmarshal)에서 문자열에서 바코드 이미지를 생성하는 것입니다. zxing이 제공하는 모든 기능을 자유롭게 사용할 수 있습니다.
41.1. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
camel 경로에서 바코드 데이터 형식을 사용하려면 이 데이터 형식을 구현하는 camel-barcode 에 종속성을 추가해야 합니다.
maven을 사용하는 경우 pom.xml에 다음을 추가하면 최신 및 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-barcode</artifactId> <version>x.x.x</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-barcode</artifactId>
<version>x.x.x</version>
</dependency>
41.2. Barcode Options 링크 복사링크가 클립보드에 복사되었습니다!
Barcode dataformat은 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| width |
| 바코드의 너비입니다. | |
| height |
| 바코드의 높이 | |
| imageType |
| png과 같은 바코드의 이미지 유형 | |
| barcodeFormat |
| QR-Code와 같은 Barcode 형식 | |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
41.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 6 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.barcode.barcode-format | QR-Code와 같은 Barcode 형식 | 문자열 | |
| camel.dataformat.barcode.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.barcode.enabled | 바코드 데이터 형식 사용 | true | 부울 |
| camel.dataformat.barcode.height | 바코드의 높이 | 정수 | |
| camel.dataformat.barcode.image-type | png과 같은 바코드의 이미지 유형 | 문자열 | |
| camel.dataformat.barcode.width | 바코드의 너비입니다. | 정수 |
ND
41.4. Java DSL 사용 링크 복사링크가 클립보드에 복사되었습니다!
먼저 바코드 데이터 fomat 클래스를 초기화해야합니다. 기본 생성자를 사용하거나 매개 변수화된 중 하나를 사용할 수 있습니다(JavaDoc 참조). 기본값은 다음과 같습니다.
| 매개변수 | 기본값 |
|---|---|
| 이미지 유형 (BarcodeImageType) | PNG |
| width | 100px |
| 높이 | 100px |
| 인코딩 | UTF-8 |
| Barcode 형식 (BarcodeFormat) | QR-Code |
// QR-Code default DataFormat code = new BarcodeDataFormat();
// QR-Code default
DataFormat code = new BarcodeDataFormat();
zxing 힌트를 사용하려면 BarcodeDataFormat 인스턴스의 'addToHintMap' 메서드를 사용할 수 있습니다.
code.addToHintMap(DecodeHintType.TRY_HARDER, Boolean.true);
code.addToHintMap(DecodeHintType.TRY_HARDER, Boolean.true);
가능한 힌트는 xzing 설명서를 참조하십시오.
41.4.1. 마샬링 링크 복사링크가 클립보드에 복사되었습니다!
from("direct://code")
.marshal(code)
.to("file://barcode_out");
from("direct://code")
.marshal(code)
.to("file://barcode_out");
다음을 사용하여 테스트 클래스에서 경로를 호출할 수 있습니다.
template.sendBody("direct://code", "This is a testmessage!");
template.sendBody("direct://code", "This is a testmessage!");
이 이미지 안에 'barcode_out' 폴더를 찾을 수 있습니다.
41.4.2. unmarshalling 링크 복사링크가 클립보드에 복사되었습니다!
unmarshaller는 일반적인 것입니다. unmarshalling의 경우 BarcodeDataFormat 인스턴스를 사용할 수 있습니다. 두 개의 인스턴스가 있는 경우, QR-Code용이고 다른 하나는 PDF417용이므로 어떤 인스턴스가 사용될지 중요하지 않습니다.
from("file://barcode_in?noop=true")
.unmarshal(code) // for unmarshalling, the instance doesn't matter
.to("mock:out");
from("file://barcode_in?noop=true")
.unmarshal(code) // for unmarshalling, the instance doesn't matter
.to("mock:out");
위의 QR-Code 이미지를 'barcode_in' 폴더에 붙여 넣으면, “이는 모크 내부에 testmessage!” 임을 알 수 있습니다. 바코드 데이터 형식을 헤더 변수로 찾을 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| BarcodeFormat | 문자열 | com.google.zxing.BarcodeFormat의 값입니다. |
42장. Base64 DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.11로 사용 가능
Base64 데이터 형식은 base64 인코딩 및 디코딩에 사용됩니다.
42.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Base64 dataformat은 아래 나열된 4가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| lineLength |
|
| 인코딩된 데이터의 최대 줄 길이를 지정합니다. 76 기본적으로 사용됩니다. |
| lineSeparator |
| 사용할 줄 구분 기호입니다. 기본적으로 새 줄 문자(CRLF)를 사용합니다. | |
| urlSafe |
|
| '' 및 '/'를 내보내는 대신 '-' 및 '_'를 각각 내보냅니다. urlSafe는 작업 인코딩에만 적용됩니다. 디코딩은 두 모드를 모두 원활하게 처리합니다. 기본값은 false입니다. |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
42.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.base64.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.base64.enabled | base64 데이터 형식 활성화 | true | 부울 |
| camel.dataformat.base64.line-length | 인코딩된 데이터의 최대 줄 길이를 지정합니다. 76 기본적으로 사용됩니다. | 76 | 정수 |
| camel.dataformat.base64.line-separator | 사용할 줄 구분 기호입니다. 기본적으로 새 줄 문자(CRLF)를 사용합니다. | 문자열 | |
| camel.dataformat.base64.url-safe | '' 및 '/'를 내보내는 대신 '-' 및 '_'를 각각 내보냅니다. urlSafe는 작업 인코딩에만 적용됩니다. 디코딩은 두 모드를 모두 원활하게 처리합니다. 기본값은 false입니다. | false | 부울 |
ND
Spring DSL에서는 다음 태그를 사용하여 데이터 형식을 구성합니다.
그런 다음 나중에 해당 참조를 사용할 수 있습니다.
<route>
<from uri="direct:startEncode" />
<marshal ref="base64withLineLength64" />
<to uri="mock:result" />
</route>
<route>
<from uri="direct:startEncode" />
<marshal ref="base64withLineLength64" />
<to uri="mock:result" />
</route>
대부분의 경우 기본 옵션을 사용하는 경우 데이터 형식을 선언할 필요가 없습니다. 이 경우 다음과 같이 인라인 데이터 형식을 선언할 수 있습니다.In that case, you can declare the data format inline as shown below.
42.3. Marshal 링크 복사링크가 클립보드에 복사되었습니다!
이 예제에서는 파일 내용을 base64 개체로 마샬링합니다.
from("file://data.bin")
.marshal().base64()
.to("jms://myqueue");
from("file://data.bin")
.marshal().base64()
.to("jms://myqueue");
Spring DSL에서 다음을 수행합니다.
<from uri="file://data.bin">
<marshal>
<base64/>
</marshal>
<to uri="jms://myqueue"/>
<from uri="file://data.bin">
<marshal>
<base64/>
</marshal>
<to uri="jms://myqueue"/>
42.4. unmarshal 링크 복사링크가 클립보드에 복사되었습니다!
이 예제에서는 newOrder 프로세서에서 처리되기 전에 JMS 대기열에서 byte[] 오브젝트로 페이로드를 분리합니다.
from("jms://queue/order")
.unmarshal().base64()
.process("newOrder");
from("jms://queue/order")
.unmarshal().base64()
.process("newOrder");
Spring DSL에서 다음을 수행합니다.
<from uri="jms://queue/order">
<unmarshal>
<base64/>
</unmarshal>
<to uri="bean:newOrder"/>
<from uri="jms://queue/order">
<unmarshal>
<base64/>
</unmarshal>
<to uri="bean:newOrder"/>
42.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Camel 경로에서 Base64를 사용하려면 이 데이터 형식을 구현하는 camel-base64 에 종속성을 추가해야 합니다.
Maven을 사용하는 경우 pom.xml에 다음을 추가할 수 있습니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-base64</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-base64</artifactId>
<version>x.x.x</version> <!-- use the same version as your Camel core version -->
</dependency>
43장. 빈 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 1.0에서 사용 가능
빈: 구성 요소는 Camel 메시지 교환에 빈을 바인딩합니다.
43.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
bean:beanName[?options]
bean:beanName[?options]
여기서 beanID 는 레지스트리에서 빈을 찾는 데 사용되는 문자열일 수 있습니다.
43.2. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Bean 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| cache (advanced) | 이 기능을 활성화하면 Camel이 첫 번째 레지스트리 조회 결과를 캐시합니다. 레지스트리의 빈이 Singleton 범위로 정의된 경우 캐시를 활성화할 수 있습니다. | 부울 | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Bean 엔드포인트는 URI 구문을 사용하여 구성됩니다.
bean:beanName
bean:beanName
다음 경로 및 쿼리 매개변수를 사용합니다.
43.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| beanName | 필요한 빈의 이름 설정 | 문자열 |
43.2.2. 쿼리 매개변수 (5 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 방법 (producer) | 빈에서 호출할 메서드의 이름을 설정합니다. | 문자열 | |
| cache (advanced) | 이 기능을 활성화하면 Camel이 첫 번째 레지스트리 조회 결과를 캐시합니다. 레지스트리의 빈이 Singleton 범위로 정의된 경우 캐시를 활성화할 수 있습니다. | 부울 | |
| multiParameterArray (advanced) | 더 이상 사용되지 않는 방법 메시지 본문에서 전달되는 매개 변수를 처리하는 방법; true인 경우 메시지 본문이 매개 변수의 배열이어야 합니다. 참고: 이 옵션은 Camel에 의해 내부적으로 사용되며 최종 사용자가 사용할 수 없습니다. 사용 중단 참고: 이 옵션은 Camel에 의해 내부적으로 사용되며 최종 사용자가 사용할 수 없습니다. | false | boolean |
| 매개변수 (고급) | 빈에서 추가 속성을 구성하는 데 사용됩니다. | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
다음 형식 ?option=value&option=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
43.3. 사용 링크 복사링크가 클립보드에 복사되었습니다!
메시지를 사용하는 데 사용되는 오브젝트 인스턴스는 레지스트리에 명시적으로 등록되어 있어야 합니다. 예를 들어 Spring을 사용하는 경우 Spring 구성, spring.xml 에 빈을 정의해야 합니다. 또는 JNDI에 빈을 등록하여 Spring을 사용하지 않는 경우.
오류 형식 매크로: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20
엔드포인트가 등록되면 이를 사용하여 Exchange를 처리하는 Camel 경로를 빌드할 수 있습니다.
빈: 엔드포인트는 경로에 대한 입력으로 정의할 수 없습니다. 즉, 일부 인바운드 메시지 끝점에서 빈 엔드포인트로만 라우팅할 수 없습니다. 따라서 직접: 또는 queue: 엔드포인트를 입력으로 사용하는 것이 좋습니다.
ProxyHelper 에서 createProxy() 메서드를 사용하여 BeanExchanges를 생성하고 모든 끝점으로 보내는 프록시를 생성할 수 있습니다.
Spring DSL을 사용하는 것과 동일한 경로:
<route> <from uri="direct:hello"> <to uri="bean:bye"/> </route>
<route>
<from uri="direct:hello">
<to uri="bean:bye"/>
</route>
43.4. 끝점으로 빈 링크 복사링크가 클립보드에 복사되었습니다!
Camel은 또한 Endpoint로 Bean 호출을 지원합니다. 아래 경로에서:
교환이 myBean Camel로 라우팅되면 빈을 호출하기 위해 빈을 호출합니다.
빈의 소스는 일반 POJO에 불과합니다.
Camel은 Exchange의 In body를 String 유형으로 변환하고 Exchange Out body에 메서드 출력을 저장하여 sayHello 메서드를 호출합니다.
43.5. Java DSL 빈 구문 링크 복사링크가 클립보드에 복사되었습니다!
Java DSL은 빈 구성 요소에 대한 구문 분석 설 탕과 함께 제공됩니다. 빈을 엔드포인트(예: ("bean:beanName"))로 명시적으로 지정하는 대신 다음 구문을 사용할 수 있습니다.
빈에 참조 이름을 전달하는 대신( Camel이 레지스트리에서 해당 참조를 조회할 예정) 빈 자체를 지정할 수 있습니다.
43.6. 빈 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
빈 메서드를 호출하는 방법( 메서드 매개 변수를 통해 명시적으로 지정되지 않은 경우) 및 메시지에서 매개 변수 값을 구성하는 방법은 모두 Camel의 다양한 빈 통합 메커니즘에서 사용되는 Bean Binding 메커니즘에 의해 정의됩니다.
43.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
- 클래스 구성 요소
- 빈 바인딩
- 빈 통합
44장. BeanIO DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.10에서 사용 가능
BeanIO 데이터 형식은 BeanIO 를 사용하여 플랫 페이로드(예: XML, CSV, 구분된 또는 고정 길이 형식)를 처리합니다.
BeanIO는 플랫 형식에서 POJO(Object)에 대한 매핑을 정의하는 매핑 XML 파일을 사용하여 구성됩니다. 이 매핑 파일은 사용하기 위해 필수입니다.
44.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
BeanIO dataformat은 아래에 나열된 9가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| mapping |
| BeanIO 매핑 파일. 기본적으로 classpath에서 로드됩니다. file:, http: 또는 classpath: 접두사를 추가하여 매핑 파일을 로드할 위치를 나타낼 수 있습니다. | |
| streamName |
| 사용할 스트림의 이름입니다. | |
| ignoreUnidentifiedRecords |
|
| 확인되지 않은 레코드를 무시할지 여부입니다. |
| ignoreUnexpectedRecords |
|
| 예기치 않은 레코드를 무시할지 여부입니다. |
| ignoreInvalidRecords |
|
| 유효하지 않은 레코드를 무시할지 여부입니다. |
| 인코딩 |
| 사용할 문자입니다. 기본적으로 JVM 플랫폼 기본 charset입니다. | |
| beanReaderErrorHandlerType |
| 사용자 지정 org.apache.camel.dataformat.beanio.BeanIOErrorHandler를 구문 분석하는 동안 오류 처리기로 사용하려면 다음을 수행합니다. 오류 처리기의 정규화된 클래스 이름을 구성합니다.Configure the fully qualified class name of the error handler. 사용자 지정 오류 처리기를 사용할 때 ignoreUnidentifiedRecords, ignoreUnectedRecords 및 ignoreInvalidRecords 옵션이 사용되지 않을 수 있습니다. | |
| unmarshalSingleObject |
|
| 이 옵션은hal을 오브젝트 목록 또는 단일 개체로만 구분할지 여부를 제어합니다. 전자는 기본 모드이며, 후자는 빈io가 Camel 메시지를 단일 POJO 빈에 매핑하는 특수 사용 사례에서만 사용됩니다. |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
44.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 10 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.beanio.bean-reader-error-handler-type | 사용자 지정 org.apache.camel.dataformat.beanio.BeanIOErrorHandler를 구문 분석하는 동안 오류 처리기로 사용하려면 다음을 수행합니다. 오류 처리기의 정규화된 클래스 이름을 구성합니다.Configure the fully qualified class name of the error handler. 사용자 지정 오류 처리기를 사용할 때 ignoreUnidentifiedRecords, ignoreUnectedRecords 및 ignoreInvalidRecords 옵션이 사용되지 않을 수 있습니다. | 문자열 | |
| camel.dataformat.beanio.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.beanio.enabled | 빈io 데이터 형식 활성화 | true | 부울 |
| camel.dataformat.beanio.encoding | 사용할 문자입니다. 기본적으로 JVM 플랫폼 기본 charset입니다. | 문자열 | |
| camel.dataformat.beanio.ignore-invalid-records | 유효하지 않은 레코드를 무시할지 여부입니다. | false | 부울 |
| camel.dataformat.beanio.ignore-unexpected-records | 예기치 않은 레코드를 무시할지 여부입니다. | false | 부울 |
| camel.dataformat.beanio.ignore-unidentified-records | 확인되지 않은 레코드를 무시할지 여부입니다. | false | 부울 |
| camel.dataformat.beanio.mapping | BeanIO 매핑 파일. 기본적으로 classpath에서 로드됩니다. file:, http: 또는 classpath: 접두사를 추가하여 매핑 파일을 로드할 위치를 나타낼 수 있습니다. | 문자열 | |
| camel.dataformat.beanio.stream-name | 사용할 스트림의 이름입니다. | 문자열 | |
| camel.dataformat.beanio.unmarshal-single-object | 이 옵션은hal을 오브젝트 목록 또는 단일 개체로만 구분할지 여부를 제어합니다. 전자는 기본 모드이며, 후자는 빈io가 Camel 메시지를 단일 POJO 빈에 매핑하는 특수 사용 사례에서만 사용됩니다. | false | 부울 |
ND
44.3. 사용법 링크 복사링크가 클립보드에 복사되었습니다!
44.3.1. Java DSL 사용 링크 복사링크가 클립보드에 복사되었습니다!
BeanIODataFormat 을 사용하려면 매핑 파일 및 스트림 이름으로 데이터 형식을 구성해야 합니다.
Java DSL에서는 다음과 같이 수행할 수 있습니다. streamName은 "employeeFile"입니다.
그 다음에는 두 개의 경로가 있습니다. 첫 번째 경로는 CSV 데이터를 List<Employee> Java 오브젝트로 변환하는 것입니다. 그런 다음 분할하므로, mock endpoint
는 각 행에 대한 메시지를 수신합니다.
두 번째 경로는 역방향 작업에서 List<Employee>를 CSV 데이터 스트림으로 변환하는 것입니다.
CSV 데이터는 예를 들면 다음과 같습니다.
44.3.2. XML DSL 사용 링크 복사링크가 클립보드에 복사되었습니다!
XML에서 BeanIO 데이터 형식을 사용하려면 아래와 같이 <beanio> XML 태그를 사용하여 구성해야 합니다. 경로는 위의 예와 유사합니다.
44.4. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Camel 경로에서 BeanIO를 사용하려면 이 데이터 형식을 구현하는 camel-beanio 에 종속성을 추가해야 합니다.
Maven을 사용하는 경우 pom.xml에 다음을 추가하여 최신 및 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-beanio</artifactId> <version>2.10.0</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanio</artifactId>
<version>2.10.0</version>
</dependency>
45장. Beanstalk 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.15에서 사용 가능
Camel-beanstalk 프로젝트는 Beanstalk 작업의 작업 검색 및 후처리를 위한 Camel 구성 요소를 제공합니다.
Beanstalk 작업 라이프사이클에 대한 자세한 설명은 Beanstalk 프로토콜 에서 확인할 수 있습니다.
45.1. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Maven 사용자는 pom.xml에 다음 종속성을 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanstalk</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanstalk</artifactId>
<version>${camel-version}</version>
</dependency>
여기서 ${camel-version}은 Camel의 실제 버전(2.15.0 이상)으로 교체해야 합니다.
45.2. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
beanstalk://[host[:port]][/tube][?options]
beanstalk://[host[:port]][/tube][?options]
포트 또는 포트 모두 생략할 수 있습니다. 빈stalk의 경우 기본값은("local host " 및 11300)입니다. 튜 브를 생략하면 Be anstalk 구성 요소는 "default"라는 이름의 튜브를 사용합니다.
청취 할 때, 당신은 아마 여러 튜브에서 일자리를보고 싶을 수 있습니다. 더하기 기호로 구분하십시오(예:).
beanstalk://localhost:11300/tube1+tube2
beanstalk://localhost:11300/tube1+tube2
튜브 이름은 URL 디코딩되므로, 튜브 이름에 + 또는 ?와 같은 특수 문자가 포함되어 있는 경우 URL을 적절히 코딩하거나 RAW 구문을 사용해야 합니다. 자세한 내용은 여기 를 참조하십시오.
따라서 Beanstalk에 작업을 작성할 때 여러 개의 튜브를 지정할 수 없습니다.
45.3. Beanstalk 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Beanstalk 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| connectionSettings Factory (일반) | Custom ConnectionSettingsFactory. Beanstalkd에 연결하는 데 사용할 ConnectionSettingsFactory를 지정합니다. 특히 빈stalkd 데몬없이 단위 테스트에 유용합니다 (파크 ConnectionSettings를 사용할 수 있음) | ConnectionSettings Factory | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Beanstalk 끝점은 URI 구문을 사용하여 구성됩니다.
beanstalk:connectionSettings
beanstalk:connectionSettings
다음 경로 및 쿼리 매개변수를 사용합니다.
45.3.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| connectionSettings | 연결 설정 host:port/tube | 문자열 |
45.3.2. 쿼리 매개변수(26 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| command (common) | 작업을 Beanstalk에 배치하는 것을 의미합니다. 작업 본문이 Camel 메시지 본문에 지정되어 있습니다. 작업 ID는 빈stalk.jobId 메시지 헤더에서 반환됩니다. delete, release, touch 또는 bury가 메시지 헤더 빈stalk.jobId의 작업 ID를 예상합니다. 이 작업의 결과는 빈stalk.result 메시지 헤더에서 반환되면 메시지 본문에 작업 수가 붙은 후 헤더 빈stalk.result에서 실제로 시작된 작업 수를 반환합니다. | BeanstalkCommand | |
| JobDelay (일반) | 작업을 초 단위로 지연합니다. | 0 | int |
| jobPriority (일반) | 작업 우선 순위. (0이 가장 높은 것은 Beanstalk 프로토콜을 참조함) | 1000 | long |
| jobTimeToRun (common) | 작업 시간(초 단위로 실행할 시간 0일 경우, 빈스talkd 데몬이 자동으로 1로 발생함)은 Beanstalk 프로토콜을 참조하십시오. | 60 | int |
| WaitJob (consumer) | 빈stalk에서 작업을 시작하기 전에 작업이 완료될 때까지 대기하는지 여부 | true | boolean |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| OnFailure( consumer) | 처리할 때 사용할 명령이 실패했습니다. | BeanstalkCommand | |
| sendEmptyMessageWhenIdle (consumer) | 폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다. | false | boolean |
| useBlockIO (consumer) | blockIO를 사용할지 여부입니다. | true | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| pollStrategy (consumer) | 플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. | PollingConsumerPoll Strategy | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| backoffErrorThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다. | int | |
| backoffIdleThreshold (scheduler) | 백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다. | int | |
| backoffMultiplier (scheduler) | 예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다. | int | |
| 지연 (scheduler) | 다음 폴링보다 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 500 | long |
| greedy (scheduler) | greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다. | false | boolean |
| initialDelay (scheduler) | 첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다. | 1000 | long |
| runLoggingLevel (scheduler) | 소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다. | TRACE | LoggingLevel |
| scheduledExecutorService (scheduler) | 소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. | ScheduledExecutor Service | |
| 스케줄러 (scheduler) | camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 | none | ScheduledPollConsumer Scheduler |
| 스케줄러 속성 (scheduler) | 사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다. | map | |
| StartScheduler (scheduler) | 스케줄러가 자동으로 시작되어야 하는지 여부입니다. | true | boolean |
| timeUnit (scheduler) | initialDelay 및 지연 옵션의 시간 단위입니다. | 밀리초 | TimeUnit |
| UseFixedDelay (scheduler) | 고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오. | true | boolean |
45.4. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 3 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.beanstalk.connection-settings-factory | Custom ConnectionSettingsFactory. Beanstalkd에 연결하는 데 사용할 ConnectionSettingsFactory를 지정합니다. 특히 빈stalkd 데몬 없이 유닛 테스트에 유용합니다(차단 연결 설정 가능). 옵션은 org.apache.camel.component.beanstalk.ConnectionSettingsFactory 유형입니다. | 문자열 | |
| camel.component.beanstalk.enabled | 빈stalk 구성 요소 활성화 | true | 부울 |
| camel.component.beanstalk.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
생산자 동작은 수행할 작업을 수행할 수 있음을 나타내는 command 매개 변수의 영향을 받습니다.
소비자는 예약 후 즉시 작업을 삭제하거나 Camel 경로를 처리할 때까지 기다릴 수 있습니다. 첫 번째 시나리오는 "message 대기열"과 유사하지만 두 번째 시나리오는 "작업 대기열"과 유사합니다. 이 동작은 기본적으로 Beanstalkd 특성을 따르는 consumer.awaitJob 매개변수에 의해 제어됩니다.
동기식일 때 소비자는 작업 완료 시 삭제 되고 실패 시 버퍼 를 호출합니다. URI에 consumer.onFailure 매개변수를 지정하여 실패할 경우 실행할 명령을 선택할 수 있습니다. bury, delete 또는 release 값을 사용할 수 있습니다.
부울 매개변수 consumer.useBlockIO 는 JavaBeanstalkClient 라이브러리에서 동일한 매개변수에 해당합니다. 기본값은 true 입니다.
실패한 작업이 즉시 동일한 튜브에서 사용할 수 있으므로 릴리스 를 지정할 때는 소비자가 다시 취득하려고 합니다. jobDelay 를 릴리스 하고 지정할 수 있습니다.
빈stalk 소비자는 스케줄링된 Polling Consumer 이므로 소비자가 폴링해야 하는 빈도와 같이 구성할 수 있는 옵션이 더 많다는 것을 의미합니다. 자세한 내용은 소비자 회의를 참조하십시오.
45.5. 소비자 헤더 링크 복사링크가 클립보드에 복사되었습니다!
소비자는 Exchange 메시지에 여러 작업 헤더를 저장합니다.
| 속성 | 유형 | 설명 |
|---|---|---|
| beanstalk.jobId | long | Job ID |
| beanstalk.tube | string | 이 작업을 포함하는 튜브의 이름 |
| beanstalk.state | string | "ready" 또는 "delayed" 또는 "reserved" 또는 "buried" 또는 "예약"입니다. |
| beanstalk.priority | long | 우선순위 값 설정 |
| beanstalk.age | int | 이 작업을 생성한 put 명령의 시간(초) |
| beanstalk.time-left | int | 서버가 이 작업을 준비 대기열에 배치할 때까지 남은 시간(초) |
| beanstalk.timeouts | int | 이 작업이 예약 중 시간 초과된 횟수 |
| beanstalk.releases | int | 고객이 예약에서 이 작업을 해제한 횟수 |
| beanstalk.buries | int | 이 작업의 수가 묻어졌습니다. |
| beanstalk.kicks | int | 이 작업이 실행된 횟수입니다. |
45.6. 예제 링크 복사링크가 클립보드에 복사되었습니다!
이 Camel 구성 요소를 사용하면 처리 작업을 요청하고 Beanstalkd 데몬에 제공할 수 있습니다. 간단한 데모 경로는 다음과 같을 수 있습니다.
from("timer:dig?period=30seconds").
setBody(constant(10)).log("Kick ${in.body} buried/delayed tasks").
to("beanstalk:testTube?command=kick");
from("timer:dig?period=30seconds").
setBody(constant(10)).log("Kick ${in.body} buried/delayed tasks").
to("beanstalk:testTube?command=kick");
첫 번째 경로에서 우리는 튜브 "테스트Tube"에서 새로운 작업을 듣고 있습니다. 도착하면 메시지 본문에서 정수 값을 구문 분석하려고 합니다. 성공적으로 완료되면 이를 기록하고 이를 성공적으로 교환하면 Camel 구성 요소가 Beanstalk에서 이 작업을 자동으로 삭제할 수 있습니다. 반대로 작업 데이터를 구문 분석할 수 없는 경우 교환 실패와 Camel 구성 요소가 기본적으로 이를 제거하므로 나중에 처리할 수 있거나 실패한 작업을 수동으로 검사할 수 있습니다.
따라서 두 번째 경로는 주기적으로 Beanstalk를 요청하여 일반 대기열에서 10 개 의 작업을 묻거나/또는 지연된 상태로 실행합니다.
45.7. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
46장. 빈 유효성 검사 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.3에서 사용 가능
Validator 구성 요소는 Java Bean Validation API(JSR 303)를 사용하여 메시지 본문의 빈 유효성 검사를 수행합니다. Camel은 Hibernate Validator 인 참조 구현을 사용합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml 에 추가해야 합니다.
46.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
bean-validator:label[?options]
bean-validator:label[?options]
또는
bean-validator://label[?options]
bean-validator://label[?options]
여기서 레이블 은 끝점을 설명하는 임의의 텍스트 값입니다.
다음 형식 ?option=value&option=value&…로 URI에 쿼리 옵션을 추가할 수 있습니다.
46.2. URI 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Bean Validator 구성 요소에는 옵션이 없습니다.
Bean Validator 엔드포인트는 URI 구문을 사용하여 구성됩니다.
bean-validator:label
bean-validator:label
다음 경로 및 쿼리 매개변수를 사용합니다.
46.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| label | 필수 Where label는 끝점을 설명하는 임의의 텍스트 값입니다. | 문자열 |
46.2.2. 쿼리 매개변수(6 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| constraintValidatorFactory (producer) | 사용자 정의 ConstraintValidatorFactory를 사용하려면 | ConstraintValidator Factory | |
| 그룹 (producer) | 사용자 정의 검증 그룹 사용 | javax.validation.groups.Default | 문자열 |
| messageInterpolator (producer) | 사용자 지정 MessageInterpolator 사용 | MessageInterpolator | |
| traversableResolver (producer) | 사용자 정의 TraversableResolver 사용 | TraversableResolver | |
| validationProviderResolver (producer) | 사용자 정의 ValidationProviderResolver를 사용하려면 | ValidationProvider Resolver | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
46.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.bean-validator.enabled | 빈-validator 구성 요소 활성화 | true | 부울 |
| camel.component.bean-validator.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
46.4. OSGi 배포 링크 복사링크가 클립보드에 복사되었습니다!
OSGi 환경에서 Hibernate Validator를 사용하려면 org.apache.camel.component.bean.validator.Hibernate 구현을 사용합니다. 아래 코드 조각은 이 방법을 보여줍니다. Camel 2.13.0부터 ValidationProviderResolver 와 마찬가지로 전용 ValidationProviderResolverHibernateValidationProviderResolver 를 사용할 수 있습니다.
Using HibernateValidationProviderResolver
사용자 정의 ValidationProviderResolver 가 정의되어 있고 검증기 구성 요소가 OSGi 환경에 배포된 경우 HibernateValidationProviderResolver 가 자동으로 사용됩니다.
46.5. 예제 링크 복사링크가 클립보드에 복사되었습니다!
다음 주석이 있는 java 빈이 있다고 가정합니다.
Car.java
사용자 정의 검증 그룹에 대한 인터페이스 정의
OptionalChecks.java
public interface OptionalChecks {
}
public interface OptionalChecks {
}
다음 Camel 경로를 사용하면 특성 manufacturer 및 licensePlate에 대한 @Not null 제약 조건만 검증됩니다(Camel은 기본 그룹 javax.validation.groups.Default를 사용합니다).
from("direct:start")
.to("bean-validator://x")
.to("mock:end")
from("direct:start")
.to("bean-validator://x")
.to("mock:end")
OptionalChecks 그룹의 제약 조건을 확인하려면 다음과 같이 경로를 정의해야 합니다.
from("direct:start")
.to("bean-validator://x?group=OptionalChecks")
.to("mock:end")
from("direct:start")
.to("bean-validator://x?group=OptionalChecks")
.to("mock:end")
두 그룹의 제약 조건을 모두 확인하려면 먼저 새 인터페이스를 정의해야 합니다.
AllChecks.java
@GroupSequence({Default.class, OptionalChecks.class})
public interface AllChecks {
}
@GroupSequence({Default.class, OptionalChecks.class})
public interface AllChecks {
}
경로 정의는 다음과 같아야 합니다.
from("direct:start")
.to("bean-validator://x?group=AllChecks")
.to("mock:end")
from("direct:start")
.to("bean-validator://x?group=AllChecks")
.to("mock:end")
그리고 자신의 메시지 보간기, 순회 해결자 및 제약 조건 검증기를 제공해야하는 경우, 다음과 같은 경로를 작성해야 합니다.
또한 제약 조건을 Java 주석이 아닌 XML로 설명할 수도 있습니다. 이 경우 다음과 같이 표시될 수 있는 META-INF/validation.xml 파일을 제공해야 합니다.
validation.xml
constraints-car.xml 파일
constraints-car.xml
다음은 OrderedChecks 가 https://github.com/apache/camel/blob/master/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/OrderedChecks.java일 수 있는 경로 정의 예의 XML 구문입니다.
본문에는 유효성을 검사할 클래스의 인스턴스가 포함되어야 합니다.
46.6. 예를 들면 다음과 같습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- Camel 구성
- 구성 요소
- 끝점
- 시작하기
47장. 바인딩 구성 요소(더 이상 사용되지 않음) 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.11로 사용 가능
Camel에서 바인딩 은 데이터 형식, 콘텐츠 항목 또는 검증 단계와 같은 계약에 엔드포인트를 래핑하는 방법입니다. 바인딩은 완전히 선택 사항이며 모든 camel 끝점에서 사용하도록 선택할 수 있습니다.
바인딩은 Camel 및 기타 많은 기술과 같은 다양한 기술에 서비스 계약을 추가하는 SwitchYard 프로젝트 의 작업에 의해 영감을 받습니다. 그러나 SCA에서 Camel을 래핑하는 SwitchYard 접근법 대신 Camel 바인딩 은 Camel 프레임워크 자체 내에서 Camel 엔드포인트를 래핑할 수 있는 방법을 제공합니다. 따라서 Camel 경로 내에서 쉽게 사용할 수 있습니다.
47.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 구성 요소에는 옵션이 없습니다.
바인딩 끝점은 URI 구문을 사용하여 구성됩니다.
binding:bindingName:delegateUri
binding:bindingName:delegateUri
다음 경로 및 쿼리 매개변수를 사용합니다.
47.1.1. 경로 매개 변수(2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bindingName | Camel 레지스트리에서 조회하는 데 필요한 바인딩 이름입니다. | 문자열 | |
| delegateUri | 위임 끝점의 필수 Uri입니다. | 문자열 |
47.1.2. 쿼리 매개변수 (4 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN/ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN/ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | Exchange를 만들 때 기본 교환 패턴을 설정합니다. | ExchangePattern | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
47.2. 바인딩 사용 링크 복사링크가 클립보드에 복사되었습니다!
바인딩은 현재 계약을 정의하는 빈입니다( Camel DSL에 바인딩 추가).
바인딩된 엔드포인트를 정의하는 방법은 몇 가지 있습니다(예: Binding으로 바인딩된 끝점).
47.3. 바인딩 URI 사용 링크 복사링크가 클립보드에 복사되었습니다!
끝점 URI 앞에 binding:nameOfBinding: 을 접두사로 지정할 수 있습니다. 여기서 nameOfBinding 은 레지스트리의 Binding 빈 이름입니다.
from("binding:jaxb:activemq:myQueue").to("binding:jaxb:activemq:anotherQueue")
from("binding:jaxb:activemq:myQueue").to("binding:jaxb:activemq:anotherQueue")
여기서는 예를 들어 JAXB 데이터 형식을 사용하여 마샬링 및 해상 메시지를 마샬링할 수 있는 "jaxb" 바인딩을 사용하고 있습니다.
47.4. BindingComponent 사용 링크 복사링크가 클립보드에 복사되었습니다!
일부 바인딩에 이미 바인딩된 끝점을 만들 수 있는 종속성 주입을 통해 레지스트리에 구성할 수 있는 BindingComponent라는 구성 요소가 있습니다.There is a Component called BindingComponent which can be configured in your Registry by dependency injection which allows the creation of endpoints which are already bound to some binding.
예를 들어 다음과 같은 코드를 사용하여 레지스트리에 "jsonmq"라는 새 구성 요소를 등록한 경우
JacksonDataFormat format = new JacksonDataFormat(MyBean.class);
context.bind("jsonmq", new BindingComponent(new DataFormatBinding(format), "activemq:foo."));
JacksonDataFormat format = new JacksonDataFormat(MyBean.class);
context.bind("jsonmq", new BindingComponent(new DataFormatBinding(format), "activemq:foo."));
그러면 끝점을 다른 끝점처럼 사용할 수 있습니다.
from("jsonmq:myQueue").to("jsonmq:anotherQueue")
from("jsonmq:myQueue").to("jsonmq:anotherQueue")
큐us "foo.myQueue" 및 "foo.anotherQueue"를 사용하고 지정된 Jackson 데이터 형식을 대기열에서 마샬링하는 데 사용합니다.
47.5. 바인딩 사용 시기 링크 복사링크가 클립보드에 복사되었습니다!
단일 경로에서 엔드 포인트만 사용하는 경우; 바인딩은 'raw' 엔드포인트를 직접 사용하고 camel 경로에서 명시적 마샬링 및 유효성 검사를 정상적으로 사용하는 것보다 더 복잡하고 더 복잡 할 수 있습니다.
그러나 바인딩을 사용하면 여러 경로를 함께 구성하거나 단일 경로를 입력 및 출력 끝점으로 구성된 'template'로 사용하는 경우 도움이 될 수 있습니다. 그러면 바인딩에서 계약 및 끝점을 래핑할 수 있는 좋은 방법을 제공합니다.
바인딩에 대한 또 다른 좋은 사용 사례는 동일한 바인딩을 사용하는 많은 끝점을 사용하는 경우입니다. 항상 특정 데이터 형식 또는 유효성 검사 규칙을 언급하지 않고 BindingComponent를 사용하여 선택한 바인딩에 끝점을 래핑할 수 있습니다.
따라서 바인딩은 구성 도구이며, 의미가 있을 때만 사용합니다. 경로 또는 끝점이 많지 않은 경우 추가 복잡성은 가치가 없을 수 있습니다.
48장. Bindy DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.0에서 사용 가능
이 구성 요소의 목표는 비구조화된 데이터의 구문 분석/바인딩(또는 보다 정확한 비 XML 데이터)
~/from Java Beans that have binding mappings defined with annotations. Bindy를 사용하면 다음과 같은 소스의 데이터를 바인딩할 수 있습니다.
- CSV 레코드
- 고정 길이 레코드,
- FIX 메시지,
- 또는 거의 비정형되지 않은 데이터
POJO(Plain Old Java Object) 중 하나 이상 Bindy는 java 속성의 유형에 따라 데이터를 변환합니다. POJO는 일부 경우에 사용 가능한 일대다 관계와 함께 연결할 수 있습니다. 또한 Date, Double, Float, Integer, Short, Long and BigDecimal와 같은 데이터 형식의 경우 속성을 포맷하는 동안 적용할 패턴을 제공할 수 있습니다.
BigDecimal 숫자의 경우 전체 자릿수와 소수 또는 그룹화 구분 기호도 정의할 수 있습니다.For the Big decimal numbers, you can also define the precision and the decimal or grouping separators.
| 유형 | 형식 유형 | 패턴 예 | link |
|---|---|---|---|
| 날짜 | DateFormat |
| http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html |
| decimal* | Decimalformat |
| http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormat.html |
decimal* = Double, Integer, Float, Short, Long
*Format supported*
*Format supported*
이 첫 번째 릴리스에서는 쉼표로 구분된 값 필드와 키 값 쌍 필드(예: FIX 메시지)만 지원합니다.
comel-bindy를 사용하려면 먼저 패키지(예: com.acme.model)에서 모델을 정의하고 각 모델 클래스(예: Order, Client, Instrument, …)에 필요한 주석을 클래스 또는 필드에 추가해야 합니다.
*Multiple models*
*Multiple models*
여러 모델을 사용하는 경우 예측할 수 없는 결과를 방지하기 위해 각 모델을 자체 패키지에 배치해야 합니다.
Camel 2.16 이후부터는 이제 패키지 이름 대신 클래스 이름을 사용하여 bindy를 구성할 때 동일한 패키지에 여러 모델을 안전하게 가질 수 있으므로 더 이상 이러한 문제가 발생하지 않습니다.
48.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Bindy dataformat은 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| type |
| csv 사용 여부, 고정 또는 키 값 쌍 모드입니다. 기본값은 선택한 데이터 형식에 따라 Csv 또는 KeyValue입니다. | |
| classType |
| 사용할 모델 클래스의 이름입니다. | |
| locale |
| 단위 상태를 위해 us와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 이름 기본값을 사용합니다. | |
| unwrapSingleInstance |
|
| unmarshalling이 단일 인스턴스를 래핑하지 않고 java.util.List로 래핑하지 않아야 할 때. |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
48.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 18 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.bindy-csv.class-type | 사용할 모델 클래스의 이름입니다. | 문자열 | |
| camel.dataformat.bindy-csv.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.bindy-csv.enabled | bindy-csv 데이터 형식 활성화 | true | 부울 |
| camel.dataformat.bindy-csv.locale | 단위 상태를 위해 us와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 이름 기본값을 사용합니다. | 문자열 | |
| camel.dataformat.bindy-csv.type | csv 사용 여부, 고정 또는 키 값 쌍 모드입니다. | BindyType | |
| camel.dataformat.bindy-csv.unwrap-single-instance | unmarshalling이 단일 인스턴스를 래핑하지 않고 java.util.List로 래핑하지 않아야 할 때. | true | 부울 |
| camel.dataformat.bindy-fixed.class-type | 사용할 모델 클래스의 이름입니다. | 문자열 | |
| camel.dataformat.bindy-fixed.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.bindy-fixed.enabled | bindy-fixed dataformat 활성화 | true | 부울 |
| camel.dataformat.bindy-fixed.locale | 단위 상태를 위해 us와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 이름 기본값을 사용합니다. | 문자열 | |
| camel.dataformat.bindy-fixed.type | csv 사용 여부, 고정 또는 키 값 쌍 모드입니다. | BindyType | |
| camel.dataformat.bindy-fixed.unwrap-single-instance | unmarshalling이 단일 인스턴스를 래핑하지 않고 java.util.List로 래핑하지 않아야 할 때. | true | 부울 |
| camel.dataformat.bindy-kvp.class-type | 사용할 모델 클래스의 이름입니다. | 문자열 | |
| camel.dataformat.bindy-kvp.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.bindy-kvp.enabled | bindy-kvp 데이터 형식 활성화 | true | 부울 |
| camel.dataformat.bindy-kvp.locale | 단위 상태를 위해 us와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 이름 기본값을 사용합니다. | 문자열 | |
| camel.dataformat.bindy-kvp.type | csv 사용 여부, 고정 또는 키 값 쌍 모드입니다. | BindyType | |
| camel.dataformat.bindy-kvp.unwrap-single-instance | unmarshalling이 단일 인스턴스를 래핑하지 않고 java.util.List로 래핑하지 않아야 할 때. | true | 부울 |
ND
48.3. 주석 링크 복사링크가 클립보드에 복사되었습니다!
생성된 주석은 모델의 다른 개념을 다음과 같이 POJO에 매핑할 수 있습니다.
- 레코드 유형(csv, 키 값 쌍(예: FIX 메시지), 고정 길이 …
- link (다른 오브젝트의 객체 연결)
- DataField 및 해당 속성(int, type, …
- KeyValuePairField (예: FIX 재무 메시지와 같은 key = 값 형식)
- 섹션(헤더, 본문 및 바닥글 섹션을 식별하는)
- OneToMany,
- BindyConverter (since 2.18.0)
- FormatFactories (since 2.18.0)
이 섹션에서는 다음에 대해 설명합니다.
48.4. 1. CsvRecord 링크 복사링크가 클립보드에 복사되었습니다!
CsvRecord 주석은 모델의 루트 클래스를 식별하는 데 사용됩니다. 이는 레코드 = CSV 파일의 줄이며 여러 자식 모델 클래스에 연결할 수 있습니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| CsvRecord | csv | class |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| separator | string | 필수 - ',' 또는 ';' 또는 ' anything'일 수 있습니다. 지원되는 유일한 공백 문자는 탭(\t)입니다. 다른 공백 문자(공백)는 지원되지 않습니다. 이 값은 정규식으로 해석됩니다. 정규식에서 특별한 의미가 있는 기호(예: '|' 기호)를 사용하려면 "|'와 같이 마스킹해야 하는 것보다"|' 기호입니다. |
| skipFirstLine | boolean | 선택 사항 - default value = false - CSV 파일의 첫 번째 줄을 건너뛸 수 있습니다. |
| crlf | string | 선택 사항 - 가능한 값 = WINDOWS,UNIX,MAC 또는 custom; 기본값. WINDOWS - 사용할 캐리지 반환 문자를 정의할 수 있습니다. 앞에 나열된 세 개 이외의 값을 지정하면 입력하는 값 (custom)이 CRLF 문자로 사용됩니다. |
| generateHeaderColumns | boolean | 선택 사항 - default value = false - 는 CSV의 헤더 열을 생성하는 데 사용합니다. |
| autospanLine | boolean | Camel 2.13/2.12.2: 선택 사항 - 기본값 = false - 이 옵션을 사용하면 마지막 열이 행 끝으로 자동 확장됩니다(예: 주석 처리한 경우 행도 모든 문자, 구분 기호 문자). |
| isOrdered | boolean | 선택 사항 - default value = false - CSV가 생성될 때 필드의 순서를 변경할 수 있습니다. |
| quote | 문자열 | Camel 2.8.3/2.9: 옵션을 사용하면 CSV가 생성될 때 필드의 인용 문자를 지정할 수 있습니다. 이 주석은 모델의 루트 클래스에 연결되며 한 번만 선언해야 합니다. |
| quoting | boolean | *Camel 2.11:*optional - default value = false - CSV 마샬링 시 값(및 헤더)을 인용해야 함을 나타냅니다. |
| endWithLineBreak | boolean | Camel 2.21: 선택 사항 - 기본값 = true - CSV 생성 파일이 줄 바꿈으로 끝나야 하는지 나타냅니다. |
case 1 : separator = ','
CSV 레코드에서 필드를 분리하는 데 사용되는 구분 기호는 ','입니다.
10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500, USD,08-01-2009
10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500,
USD,08-01-2009
@CsvRecord( separator = "," )
public Class Order {
}
@CsvRecord( separator = "," )
public Class Order {
}
case 2 : separator = ';'
이전 사례와 비교하여 여기에 구분 기호는 ';' 대신 ','입니다.
10; J; Pauline; M; XD12345678; Fortis Dynamic 15/15; 2500, USD, 08-01-2009
@CsvRecord( separator = ";" )
public Class Order {
}
@CsvRecord( separator = ";" )
public Class Order {
}
case 3 : separator = '|'
이전 사례와 비교하여 여기서 구분 기호는 '|' 대신 ';'입니다.
10| J| Pauline| M| XD12345678| Fortis Dynamic 15/15| 2500| USD| 08-01-2009
10| J| Pauline| M| XD12345678| Fortis Dynamic 15/15| 2500| USD|
08-01-2009
@CsvRecord( separator = "\\|" )
public Class Order {
}
@CsvRecord( separator = "\\|" )
public Class Order {
}
case 4 : separator = '\",\"'
Camel 2.8.2 또는 이전 버전에 적용
CSV 레코드를 구문 분석할 필드에 구분 기호로도 구분 기호로 사용되는 ',' 또는 ';'가 포함된 필드에 다른 전략
을 찾아 이 사례를 처리하는 방법을 camel bindy를 알립니다. 데이터가 쉼표로 포함된 필드를 정의하려면 simple 또는 double quotes
를 구분 기호(예: '10', 'Street 10, NY', 'USA' 또는 "10", "Street 10, NY", "USA")로 사용합니다.
Remark: 이 경우 단순 또는 큰따옴표인 줄의 첫 번째 문자와 마지막 문자가 bindy로 제거됩니다.
"10","J","Pauline"," M","XD12345678","Fortis Dynamic 15,15" 2500","USD","08-01-2009"
"10","J","Pauline"," M","XD12345678","Fortis Dynamic 15,15"
2500","USD","08-01-2009"
@CsvRecord( separator = "\",\"" )
public Class Order {
}
@CsvRecord( separator = "\",\"" )
public Class Order {
}
Camel 2.8.3/2.9 또는 bindy를 사용하면 레코드를 작은따 옴표 또는 큰따옴표로 묶고 CSV에서 오브젝트로 나눌 때 이러한 따옴표를 자동으로 제거합니다. 따라서 구분 기호에 따옴표를 포함하지 말고 다음과 같이 간단히 수행합니다.
"10","J","Pauline"," M","XD12345678","Fortis Dynamic 15,15" 2500","USD","08-01-2009"
"10","J","Pauline"," M","XD12345678","Fortis Dynamic 15,15"
2500","USD","08-01-2009"
@CsvRecord( separator = "," )
public Class Order {
}
@CsvRecord( separator = "," )
public Class Order {
}
If you want to marshal from Object to CSV and use quotes, then you need to specify which quote character to use, using the quote attribute on the @CsvRecord:
@CsvRecord( separator = ",", quote = "\"" )
public Class Order {
}
@CsvRecord( separator = ",", quote = "\"" )
public Class Order {
}
케이스 5: separator & skipfirstline
이 기능은 클라이언트가 파일의 첫 번째 줄에, 데이터 필드의 이름을 보유하려는 경우에 유용합니다.
주문 ID, 클라이언트 ID, 이름, 성, isin 코드, 계측 이름, 수량, 통화, 날짜
구문 분석 프로세스 중에 이 첫 번째 줄을 건너뛰어야 함을 알리기 위해 특성을 사용합니다.
@CsvRecord(separator = ",", skipFirstLine = true)
public Class Order {
}
@CsvRecord(separator = ",", skipFirstLine = true)
public Class Order {
}
case 6 : generateHeaderColumns
생성된 CSV의 첫 번째 줄에 추가하려면 다음과 같이 주석에서 generateHeaderColumns를 true로 설정해야 합니다.
@CsvRecord( generateHeaderColumns = true )
public Class Order {
}
@CsvRecord( generateHeaderColumns = true )
public Class Order {
}
결과적으로marshaling 프로세스 중에 Bindy가 다음과 같이 CSV를 생성합니다.
주문 ID, 클라이언트 ID, 이름, 성, isin 코드, 계측 이름, 수량, 통화, 날짜
10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500, USD,08-01-2009
10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500, USD,08-01-2009
케이스 7: 캐리지 리턴
comel-bindy가 실행되는 플랫폼이 Windows가 아닌 Macintosh 또는 Unix가 아닌 경우 다음과 같이 crlf 속성을 변경할 수 있습니다. 세 가지 값 사용 가능: WINDOWS, UNIX 또는 MAC
@CsvRecord(separator = ",", crlf="MAC")
public Class Order {
}
@CsvRecord(separator = ",", crlf="MAC")
public Class Order {
}
또한 어떤 이유로든 다른 줄 끝 문자를 추가해야 하는 경우 crlf 매개 변수를 사용하여 지정할 수 있습니다. 다음 예제에서는 줄을 쉼표와 줄 바꿈 문자로 끝낼 수 있습니다.In the following example, we can end the line with a comma followed by the newline character:
@CsvRecord(separator = ",", crlf=",\n")
public Class Order {
}
@CsvRecord(separator = ",", crlf=",\n")
public Class Order {
}
case 8 : isOrdered
경우에 따라 모델에서 CSV 레코드를 생성하는 동안 따라야 하는 순서는 구문 분석 중에 사용된 순서와 다릅니다. 그런 다음, 이 경우, isOrdered = true 속성을 사용하여 DataField 주석의 'position' 속성과 함께 이를 나타낼 수 있습니다.
pos는 CSV를 생성하는 데 사용되는 동안 파일을 구문 분석하는 데 사용됩니다.
48.5. 2. link 링크 복사링크가 클립보드에 복사되었습니다!
link 주석은 오브젝트를 함께 연결할 수 있습니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| link | all | 클래스 & 재산 |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| linkType | LinkType | 선택 사항 - 기본값은 LinkType.one입니다. 따라서 언급할 의무는 없습니다. |
단 한 번의 관계가 허용됩니다.
예: 모델 클래스 클라이언트가 Order 클래스에 연결된 경우 다음과 같이 Order 클래스에서 주석 링크를 사용하십시오.
속성 링크
및 클래스 클라이언트의 경우:
Class Link
@Link
public class Client {
}
@Link
public class Client {
}
48.6. 3. DataField 링크 복사링크가 클립보드에 복사되었습니다!
DataField 주석은 필드의 속성을 정의합니다. 각 datafield는 레코드의 위치, 유형(string, int, date, …) 및 선택적으로 패턴으로 식별됩니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| DataField | all | 속성 |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| POS | int | 필수 - 필드의 입력 위치. 1에서 … 사이의 숫자 번호 - 위치 매개 변수를 참조하십시오. |
| 패턴 | string | 선택 사항 - 기본값 = "" - 은 Decimal, Date를 포맷하는 데 사용됩니다. |
| 길이 | int | 선택 사항 - 고정 길이 형식의 필드 길이를 나타냅니다. optional - represents the length of the field for fixed length format. |
| Precision | int | 선택 사항 - Decimal 숫자를 포맷/분석할 때 사용할 전체 자릿수를 나타냅니다. optional - represents the precision to be used when the Decimal number will be formatted/parsed. |
| 패턴 | string | 선택 사항 - default value = "" - Java formatter(예:SimpleDateFormat by example)에서 포맷/유효 데이터를 포맷하는 데 사용됩니다. 패턴을 사용하는 경우 bindy 데이터 형식에 로케일을 설정하는 것이 좋습니다. "us"와 같은 알려진 로케일로 설정하거나 플랫폼 기본 로케일을 사용하려면 "default"를 사용합니다. "default"에는 Camel 2.14/2.13.3/2.12.5가 필요합니다. |
| 위치 | int | 선택 사항 - CSV 생성(출력 메시지)의 필드 위치가 입력 위치와 비교해야 하는 경우 사용해야 합니다. pos 매개변수를 참조하십시오. |
| 필수 항목 | boolean | optional - default value = "false" |
| trim | boolean | optional - default value = "false" |
| defaultValue | string | Camel 2.10: 선택 사항 - 기본값 = "" - 각 CSV 필드가 비어 있을 때 필드의 기본값을 정의합니다. |
| impliedDecimalSeparator | boolean | Camel 2.11: 선택 사항 - 기본값 = "false" - 지정된 위치에 임차된 소수점이 있는지 여부를 나타냅니다. |
| lengthPos | int | Camel 2.11: 선택 사항 - 이 필드에 대한 고정 길이를 정의하는 고정 길이 레코드의 데이터 필드를 식별하는 데 사용할 수 있습니다. |
| align | string | 선택 사항 - 기본값 = "R" - 텍스트를 고정 길이 필드의 오른쪽에서 왼쪽으로 정렬합니다. 값 'R' 또는 'L' 사용 |
| 구분 기호 | string | Camel 2.11: 선택 사항 - 고정 길이 레코드에서 변수 길이 필드의 끝을 구분하는 데 사용할 수 있습니다. |
케이스 1 : pos
이 매개변수/attribute는 csv 레코드에서 필드의 위치를 나타냅니다.
위치
이 예제에서 볼 수 있듯이 위치는 '1'에서 시작하지만 클래스 순서의 '5'에서 계속됩니다. '2'에서 '4'까지의 숫자는 클래스 클라이언트에 정의됩니다(아래 참조).
position은 다른 모델 클래스에서 계속됩니다.
케이스 2 : 패턴
패턴을 통해 데이터 형식을 보강하거나 검증할 수 있습니다.
패턴
케이스 3: precision
전체 자릿수는 숫자의 10진수 부분을 정의하려는 경우에 유용합니다.The precision is helpful when you want to define the decimal part of your number.
Precision
케이스 4: Position은 출력에서 다릅니다.
position 속성은 생성된 CSV 레코드에 필드를 배치하는 방법을 bindy에 알립니다. 기본적으로 사용되는 위치는 'pos' 속성으로 정의된 위치에 해당합니다. 위치가 다르면 (즉, '지정'을 사용하여 이를 나타내는 데 사용할 수 있는 것 보다 천문적 프로세스가 마샬링에서 마샬링되는 것을 비교할 수 있습니다.
예를 들면 다음과 같습니다.
위치가 출력에 따라 다릅니다.
주석 @DataField의 이 속성은 @CsvRecord의 attribute isOrdered = true와 함께 사용해야 합니다.
케이스 5 : 필수
필드가 필수인 경우 'required' 특성을 true로만 사용하십시오.
필수 항목
이 필드가 레코드에 없으면 다음 정보를 사용하여 구문 분석기에서 오류보다 발생합니다.If this field is not present in the record, than an error will be raised by the parser with the following information:
일부 필드는 누락(선택 사항 또는 필수) 라인입니다.
case 6 : trim
필드에 처리 전에 제거해야 하는 선행 및/또는 후행 공백이 있는 경우 true로 설정된 'trim' 특성을 사용합니다.
Trim
case 7 : defaultValue
필드가 정의되지 않은 경우 defaultValue 특성으로 표시된 값을 사용합니다.
기본값
이 속성은 선택적 필드에만 적용할 수 있습니다.
48.7. 4. FixedLengthRecord 링크 복사링크가 클립보드에 복사되었습니다!
FixedLengthRecord 주석은 모델의 루트 클래스를 식별하는 데 사용됩니다. 레코드 = 데이터 고정 길이 형식이 포함된 파일/메시지 선을 나타내며 여러 자식 모델 클래스에 연결할 수 있습니다. 이 형식은 필드를 약간 구체적으로 사용하여 오른쪽 또는 왼쪽에 맞을 수 있습니다.
데이터 크기가 필드 길이를 완전히 채우지 않으면 '추가' 문자를 추가할 수 있습니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| FixedLengthRecord | fixed | class |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| crlf | string | 선택 사항 - 가능한 값 = WINDOWS,UNIX,MAC 또는 custom; 기본값. WINDOWS - 사용할 캐리지 반환 문자를 정의할 수 있습니다. 앞에 나열된 세 개 이외의 값을 지정하면 입력하는 값(custom)이 CRLF 문자로 사용됩니다. 이 옵션은 마샬링 중에만 사용되는 반면, unmarshalling은 eol을 사용자 지정하지 않는 한 시스템 기본 JDK 제공 줄 구분 기호를 사용합니다. |
| EOL | string | 선택 사항 - 비어 있는 문자열인 default=""입니다. 각 레코드 후 행 종료를 처리하는 데 사용할 문자입니다(다른 줄 구분 기호가 제공되지 않는 한 기본 JDK 제공 구분 기호를 사용하는 경우 기본 JDK에서 줄 구분 기호를 사용하는 데 도움이 되는 - default = ""). 이 옵션은 unmarshalling 중에만 사용됩니다. 여기서 마샬링은 다른 값을 제공하지 않는 한 "WINDOWS"로 시스템 기본 제공된 줄 구분 기호를 사용합니다. |
| paddingChar | char | mandatory - default value = ' ' |
| 길이 | int | mandatory = 고정 길이 레코드의 크기 |
| hasHeader | boolean | Camel 2.11 - 선택 사항 - 이 유형의 레코드 앞에 파일 / 스트림의 시작 부분에 단일 헤더 레코드가 있을 수 있음을 나타냅니다. |
| hasFooter | boolean | Camel 2.11 - 선택 사항 - 이 유형의 레코드 뒤에 파일 / 스트림 끝에 있는 단일 바닥글 레코드가 있음을 나타냅니다. |
| skipHeader | boolean | Camel 2.11 - 선택 사항 - 헤더 레코드의 마샬링/마이크아웃을 건너뛰도록 데이터 형식을 구성합니다. 기본 레코드(예: 헤더 또는 바닥글 아님)에서 이 매개변수를 구성합니다. |
| skipFooter | boolean | Camel 2.11 - 선택 사항 - 바닥글 레코드 마샬링/마이크아웃을 건너뛰도록 데이터 형식을 구성하여 기본 레코드(예: 헤더 또는 발기가 아님)에서 이 매개 변수를 구성합니다. |
| isHeader | boolean | Camel 2.11 - 선택 사항 - 이 FixedLengthRecord를 헤더 레코드로 식별합니다. |
| isFooter | boolean | Camel 2.11 - 선택 사항 - 이 FixedLengthRecords를 바닥글 레코드로 식별합니다. |
| ignoreTrailingChars | boolean | Camel 2.11.1 - 선택 사항 - 마지막 매핑된 파일 이외의 문자를 / 구문 분석하지 않을 때 무시할 수 있음을 나타냅니다. 이 주석은 모델의 루트 클래스에 연결되며 한 번만 선언해야 합니다. |
hasHeader/hasFooter 매개변수는 isHeader/isFooter와 함께 함께 사용할 수 없습니다. 레코드는 헤더/footer 및 기본 고정 길이 레코드가 아닐 수 있습니다.
케이스 1 : 간단한 고정 길이 레코드
이 간단한 예제에서는 고정 메시지를 구문 분석 / 포맷하도록 모델을 설계하는 방법을 보여줍니다.
10A9PaulineMISINXD12345678BUYShare2500.45USD01-08-2009
10A9PaulineMISINXD12345678BUYShare2500.45USD01-08-2009
fixed-simple
케이스 2 : 정렬 및 패딩을 사용한 길이 레코드 수정
이 더 정교한 예제에서는 필드에 대한 정렬을 정의하는 방법과 '여기'인 패딩 문자를 할당하는 방법을 보여줍니다.
10A9 PaulineM ISINXD12345678BUYShare2500.45USD01-08-2009
10A9 PaulineM ISINXD12345678BUYShare2500.45USD01-08-2009
fixed-padding-align
케이스 3: 필드 패딩
경우에 따라 레코드용으로 정의된 기본 패딩은 '' 대신 '0'으로 패딩하려는 숫자 형식이 있으므로 필드에 적용할 수 없습니다. 이 경우 모델에서 paddingField 특성을 사용하여 이 값을 설정할 수 있습니다.
10A9 PaulineM ISINXD12345678BUYShare000002500.45USD01-08-2009
10A9 PaulineM ISINXD12345678BUYShare000002500.45USD01-08-2009
fixed-padding-field
케이스 4: 구분 기호를 사용하여 고정 길이 레코드
고정 길이 레코드에는 종종 레코드 내에 구분된 콘텐츠가 있는 경우가 있습니다. firstName 및 lastName 필드는 다음 예제에서 '^' 문자로 구분됩니다.
10A9Pauline^M^ISINXD12345678BUYShare000002500.45USD01-08-2009
10A9Pauline^M^ISINXD12345678BUYShare000002500.45USD01-08-2009
고정됨
Camel 2.11 부터 고정 길이 레코드의 'pos' 값은 정확한 열 번호 대신 순차적 값을 사용하여 선택적으로 정의할 수 있습니다.
case 5 : 레코드 정의 필드 길이를 사용한 고정 길이 레코드
고정 길이 레코드에는 동일한 레코드 내의 다른 필드의 예상 길이를 정의하는 필드가 포함될 수 있습니다. 다음 예에서 instrumentNumber 필드 값의 길이는 레코드의 instrumentNumberLen 필드 값으로 정의됩니다.
10A9Pauline^M^ISIN10XD12345678BUYShare000002500.45USD01-08-2009
10A9Pauline^M^ISIN10XD12345678BUYShare000002500.45USD01-08-2009
고정됨
케이스 6 : 헤더 및 바닥글을 사용한 길이 레코드 수정
Bindy는 모델의 일부로 구성된 고정 길이 헤더 및 바닥글 레코드를 검색합니다. - 주석 처리된 클래스가 기본 @FixedLengthRecord 클래스와 동일한 패키지에 있거나 구성된 검사 패키지 중 하나에 존재하는 경우 제공됩니다. 다음 텍스트는 헤더 레코드 및 바닥글 레코드로 묶인 두 개의 고정 길이 레코드를 보여줍니다.
101-08-2009 10A9 PaulineM ISINXD12345678BUYShare000002500.45USD01-08-2009 10A9 RichN ISINXD12345678BUYShare000002700.45USD01-08-2009 9000000002
101-08-2009
10A9 PaulineM ISINXD12345678BUYShare000002500.45USD01-08-2009
10A9 RichN ISINXD12345678BUYShare000002700.45USD01-08-2009
9000000002
Fixed-header-and-footer-main-class
케이스 7: 고정 길이 레코드를 구문 분석할 때 콘텐츠를 Skipping합니다. (Camel 2.11.1)
일반적으로 고정 길이 레코드에는 대상 사용 사례에 필요한 것보다 더 많은 정보가 포함된 고정 길이 레코드를 제공하는 시스템과의 통합이 일반적입니다. 이 경우 필요하지 않은 해당 필드의 선언 및 구문 분석을 건너뛰는 것이 유용합니다. 이를 이해하기 위해 Bindy는 마지막 구문 분석 필드의 'pos' 값이 마지막 구문 분석 필드의 커서 위치를 벗어나는 경우 레코드 내의 다음 매핑된 필드로 건너뜁니다. 관심 필드(오드인 값 대신)에 절대 'pos' 위치를 사용하면 bindy가 두 필드 간에 콘텐츠를 건너뜁니다.
마찬가지로 일부 필드 이외의 콘텐츠는 관심이 없습니다. 이 경우 @FixedLengthRecord 선언에서 ignoreTrailingChars 속성을 설정하여 마지막 매핑된 필드 이외의 모든 항목의 구문 분석을 건너뛰도록 Bindy를 지시할 수 있습니다.
48.8. 5. 메시지 링크 복사링크가 클립보드에 복사되었습니다!
Message 주석은 키 값 쌍 필드를 포함하는 모델의 클래스를 식별하는 데 사용됩니다. 이러한 유형의 형식은 주로 재무 교환 프로토콜 메시지 (FIX)에서 사용됩니다. 그럼에도 불구하고 이 주석은 데이터가 키로 식별되는 다른 모든 형식에 사용할 수 있습니다. 키 쌍 값은 탭 delimitor (unicode representation : \u0009) 또는 제목 시작(예: \u0001)과 같은 특수 문자가 될 수 있는 구분 기호로 서로 분리됩니다.
*"FIX information"*
*"FIX information"*
FIX에 대한 자세한 내용은 다음 웹 사이트에서 확인할 수 있습니다 : http://www.fixprotocol.org/. FIX 메시지를 사용하려면 모델에 Order 클래스일 수 있는 루트 메시지 클래스에 연결된 헤더 및 Trailer 클래스가 포함되어 있어야 합니다. 이는 필수 사항은 아니지만 quickFix 프로젝트 http://www.quickfixj.org/ 을 기반으로 하는 Fix gateway인 camel-fix와 함께 camel-bindy를 사용할 때 매우 유용합니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| 메시지 | 키 값 쌍 | class |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| pairSeparator | string | 필수 - '=' 또는 ';' 또는 ' anything'일 수 있습니다. |
| keyValuePairSeparair | string | 필수 - '\u0001', '\u0009', '#' 또는 'anything'일 수 있습니다. |
| crlf | string | 선택 사항 - 가능한 값 = WINDOWS,UNIX,MAC 또는 custom; default 값 = WINDOWS - 사용할 캐리지 리턴 문자를 정의할 수 있습니다. 앞에 나열된 세 개 이외의 값을 지정하면 입력하는 값 (custom)이 CRLF 문자로 사용됩니다. |
| type | string | 선택 사항 - 메시지 유형을 정의합니다(예: FIX, EMX, …). |
| version | string | 선택 사항 - 메시지의 버전 (예: 4.1) |
| isOrdered | boolean | 선택 사항 - default value = false - FIX 메시지가 생성될 때 필드의 순서를 변경할 수 있습니다. 이 주석은 모델의 메시지 클래스에 연결되어 있으며 한 번만 선언해야 합니다. |
케이스 1: separator = 'u0001'
FIX 메시지에서 키 값 쌍 필드를 분리하는 데 사용되는 구분 기호는 ASCII '01' 문자 또는 유니코드 형식 '\u0001'입니다. java 런타임 오류를 방지하려면 이 문자를 두 번째로 이스케이프해야 합니다. 다음은 이에 대한 예입니다.Here is an example:
8=FIX.4.1 9=20 34=1 35=0 49=INVMGR 56=BRKR 1=BE.CHM.001 11=CHM0001-01 22=4 ...
8=FIX.4.1 9=20 34=1 35=0 49=INVMGR 56=BRKR 1=BE.CHM.001 11=CHM0001-01
22=4 ...
및 주석 사용 방법
FIX - 메시지
@Message(keyValuePairSeparator = "=", pairSeparator = "\u0001", type="FIX", version="4.1")
public class Order {
}
@Message(keyValuePairSeparator = "=", pairSeparator = "\u0001", type="FIX", version="4.1")
public class Order {
}
*Look at test cases*
*Look at test cases*
tab, …과 같은 ASCII 문자는 WIKI 페이지에 표시할 수 없습니다. 따라서 FIX 메시지가 (src\test\data\fix\fix\fix.txt)와 Order, Trailer, Header 클래스 (src\test\java\org\apache\camel\dataformat\data format\bindy\bindy\bindy\bindy\bindy\bindy\simple\Order)와 같은 방식을 정확하게 보려면 camel-bindy의 테스트 케이스를 살펴보십시오.
48.9. 6. KeyValuePairField 링크 복사링크가 클립보드에 복사되었습니다!
KeyValuePairField 주석은 키 값 쌍 필드의 속성을 정의합니다. 각 KeyValuePairField는 태그(= 키) 및 연결된 값(문자열, int, date, …, 선택 사항)으로 식별되고 필드가 필요한 경우 선택적으로 표시됩니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| KeyValuePairField | 키 값 쌍 - FIX | 속성 |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| tag | int | 필수 - 메시지의 필드를 식별하는 숫자 - 고유해야 합니다. |
| 패턴 | string | 선택 사항 - 기본값 = "" - # 10진수, 날짜, … 형식을 지정하는 데 사용됩니다. |
| Precision | int | 선택 사항 - 숫자 번호의 서식/분수를 포맷/분할 때 사용할 전체 자릿수를 나타냅니다. optional - digit number - represents the precision to be used when the decimal number will be formatted/parsed. |
| 위치 | int | 선택 사항 - FIX 메시지의 키/태그 위치가 다른 경우 사용해야 합니다. |
| 필수 항목 | boolean | optional - default value = "false" |
| impliedDecimalSeparator | boolean | Camel 2.11: 선택 사항 - 기본값 = "false" - 지정된 위치에 임차된 소수점이 있는지 여부를 나타냅니다. |
케이스 1 : 태그
이 매개변수는 메시지에 있는 필드의 키를 나타냅니다.
FIX 메시지 - 태그
케이스 2 : 출력의 다른 위치
FIX 메시지에 적용할 태그/키가 미리 정의된 순서에 따라 정렬되어야 하는 경우 주석 @KeyValuePairField의 'position' 특성을 사용합니다.
FIX 메시지 - 태그 - 정렬
48.10. 7. 섹션 링크 복사링크가 클립보드에 복사되었습니다!
고정 길이 레코드의 FIX 메시지에서 정보 : 헤더, 본문 및 섹션을 나타내는 다른 섹션을 포함하는 것이 일반적입니다. 주석 @Section의 목적은 모델의 어떤 클래스가 헤더를 나타내는지 나타내는 바인딩(= 섹션 1), 본문(= 섹션 2) 및 바닥글(= 섹션 3)을 알리는 것입니다.
이 주석에 대해 하나의 속성/ 매개변수만 있습니다.
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| 섹션 | FIX | class |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| 숫자 | int | 섹션 위치를 식별하는 숫자 |
케이스 1 : 섹션
header 섹션의 정의
FIX message - 섹션 - 헤더
본문 섹션에 대한 정의
FIX message - 섹션 - 본문
바닥글 섹션에 대한 정의
수정 메시지 - 섹션 - Footer
48.11. 8. OneToMany 링크 복사링크가 클립보드에 복사되었습니다!
주석 @OneToMany의 용도는 List<? > 필드에서 POJO 클래스를 정의하거나 반복적인 그룹을 포함하는 레코드에서 작업할 수 있도록 하는 것입니다.
*Restrictions OneToMany*
*Restrictions OneToMany*
여러 수준의 계층 구조에서 정의된 반복을 처리할 수 없습니다.Easily, the one to bindy does not allow to handle repetitions defined on several levels of the hierarchy.
다음 경우 관련 OneToMany ONLY WORKS:
- 반복적인 그룹(= 태그/키 그룹)이 포함된 FIX 메시지 읽기
- 반복적인 데이터로 CSV 생성
| 주석 이름 | 레코드 유형 | level |
|---|---|---|
| OneToMany | all | 속성 |
| 매개변수 이름 | type | 정보 |
|---|---|---|
| mappedTo | string | 선택 사항 - 문자열 - 클래스의 Type에 연결된 클래스 이름 |
케이스 1 : 반복적인 데이터로 CSV 생성
다음은 우리가 원하는 CSV 출력입니다.
Claus,Ibsen,Camel in Action 1,2010,35 Claus,Ibsen,Camel in Action 2,2012,35 Claus,Ibsen,Camel in Action 3,2013,35 Claus,Ibsen,Camel in Action 4,2014,35
Claus,Ibsen,Camel in Action 1,2010,35
Claus,Ibsen,Camel in Action 2,2012,35
Claus,Ibsen,Camel in Action 3,2013,35
Claus,Ibsen,Camel in Action 4,2014,35
Remark : 반복적인 데이터는 첫 번째, 마지막 이름과 나이는 일반적인 책과 게시 날짜의 제목과 관련이 있습니다.
또한 이 문제를 모델링하는 데 사용되는 클래스입니다. Author 클래스에는 도서 목록이 포함되어 있습니다.
반복적인 데이터로 CSV 생성
매우 간단한 것은 아닙니다!
케이스 2 : 태그/키 그룹이 포함된 FIX 메시지 읽기
다음은 우리 모델에서 처리하려는 메시지입니다.Here is the message that we want to process in our model:
태그(2, 48 및 54)가 반복됨
그리고 코드
태그/키 그룹이 포함된 FIX 메시지 읽기
48.12. 9. BindyConverter 링크 복사링크가 클립보드에 복사되었습니다!
주석 @BindyConverter의 목적은 필드 수준에서 사용할 변환기를 정의합니다. 제공된 클래스는 Format 인터페이스를 구현해야 합니다.
48.13. 10. FormatFactories 링크 복사링크가 클립보드에 복사되었습니다!
주석 @FormatFactories의 목적은 레코드 수준에서 변환기 집합을 정의하는 것입니다. 제공된 클래스는 FormatFactoryInterface 인터페이스를 구현해야 합니다.
48.14. 지원되는 데이터 유형 링크 복사링크가 클립보드에 복사되었습니다!
DefaultFormatFactory는 제공된 FormattingOptions를 기반으로 인터페이스 FormatFactoryInterface의 인스턴스를 반환하여 다음 데이터 형식을 사용할 수 있습니다.
- BigDecimal
- BigInteger
- 부울
- byte
- 문자
- 날짜
- double
- enums
- float
- 정수
- LocalDate ( 2.18.0 이후의java 8)
- LocalDateTime ( 2.18.0 이후의java 8)
- localtime ( 2.18.0 이후java 8)
- long
- short
- 문자열
DefaultFormatFactory는 사용 중인 레지스트리에 FactoryRegistry 인스턴스를 제공하여 재정의할 수 있습니다(예: Spring 또는 JNDI).
48.15. Java DSL 사용 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계는 이 레코드 유형과 연결된 DataFormat bindy 클래스를 인스턴스화하고 Java 패키지 이름을 매개 변수로 제공하는 것입니다.
예를 들어 다음에서는 BindyCsvDataFormat 클래스를 사용하며 CSV 레코드 유형과 연결된 클래스에 해당하는 클래스를 com.acme.model 패키지 이름으로 구성하여 이 패키지에 구성된 모델 개체를 초기화합니다.For example, the following uses the class BindyCsvDataFormat (who correspond to the class associated with the CSV record type) which is configured with com.acme.model package name to initialize the model objects configured in this package.
48.15.1. 로케일 설정 링크 복사링크가 클립보드에 복사되었습니다!
Bindy는 다음과 같이 dataformat의 로캘 구성을 지원합니다.
또는 플랫폼 기본 로케일을 사용하려면 로케일 이름으로 "default"를 사용합니다. Camel 2.14/2.13.3/2.12.5가 필요합니다.
이전 릴리스의 경우 다음과 같이 Java 코드를 사용하여 설정할 수 있습니다.
48.15.2. Unmarshaling 링크 복사링크가 클립보드에 복사되었습니다!
from("file://inbox")
.unmarshal(bindy)
.to("direct:handleOrders");
from("file://inbox")
.unmarshal(bindy)
.to("direct:handleOrders");
또는 Spring XML 파일과 같이 레지스트리에 정의된 다음 데이터 형식에 대해 명명된 참조를 사용할 수 있습니다.
from("file://inbox")
.unmarshal("myBindyDataFormat")
.to("direct:handleOrders");
from("file://inbox")
.unmarshal("myBindyDataFormat")
.to("direct:handleOrders");
Camel 경로는 inbox 디렉터리의 파일 선택, unmarshall CSV 레코드를 모델 오브젝트 컬렉션으로 선택하고 컬렉션
을 'handleOrders'에서 참조하는 경로로 보냅니다.
반환된 컬렉션은 Map 오브젝트의 목록입니다. 목록의 각 맵에는 CSV의 각 줄에서 마샬링된 모델 개체가 포함되어 있습니다. 이 문제의 원인은 각 행이 두 개 이상의 오브젝트에 해당할 수 있기 때문입니다. 이는 단순히 한 줄에 하나의 개체가 반환될 것으로 예상하면 혼동될 수 있습니다.
각 오브젝트는 해당 클래스 이름을 사용하여 검색할 수 있습니다.
경로의 처리를 위해 이 맵에서 단일 Order 오브젝트를 추출하려는 경우 다음 내용에 따라 Splitter와 Processor의 조합을 사용할 수 있습니다.
Bindy는 unmarshalling을 위해 수신한 입력 스트림의 문자 세트 변환을 수행하기 위해 Exchange 인터페이스에서 정의된 사용자 이름 또는 CHARSET_NAME 헤더를 사용합니다. 일부 생산자(예: file-endpoint)에서는 문자 집합을 정의할 수 있습니다. 이 프로듀서의 변환은 이미 수행 할 수 있습니다. 때로는 unmarshal으로 보내기 전에 교환에서 이 속성 또는 헤더를 제거해야 합니다. 이를 제거하지 않으면 변환이 두 번 수행되어 원하지 않는 결과가 발생할 수 있습니다.
from("file://inbox?charset=Cp922")
.removeProperty(Exchange.CHARSET_NAME)
.unmarshal("myBindyDataFormat")
.to("direct:handleOrders");
from("file://inbox?charset=Cp922")
.removeProperty(Exchange.CHARSET_NAME)
.unmarshal("myBindyDataFormat")
.to("direct:handleOrders");
48.15.3. 마샬링 링크 복사링크가 클립보드에 복사되었습니다!
모델 오브젝트 컬렉션에서 CSV 레코드를 생성하려면 다음 경로를 생성합니다.
from("direct:handleOrders")
.marshal(bindy)
.to("file://outbox")
from("direct:handleOrders")
.marshal(bindy)
.to("file://outbox")
48.16. Spring XML 사용 링크 복사링크가 클립보드에 복사되었습니다!
이것은 camel-bindy에 사용할 경로를 선언하기 위해 선호하는 DSL 언어로 Spring을 사용하기 쉽습니다. 다음 예제에서는 파일에서 첫 번째 레코드를 선택하는 두 개의 경로를 보여줍니다. 즉, 콘텐츠를 압축 해제하고 해당 모델에 바인딩합니다. 그러면 그 결과가 pojo로 보내(특별하지 않음) 큐에 배치합니다.
두 번째 경로는 큐에서 pojos를 추출하고 콘텐츠를 마샬링하여 csv 레코드가 포함된 파일을 생성합니다. 위의 예는 Camel 2.16 이상을 사용하는 것입니다.
spring dsl
모델 클래스가 serializable을 구현했는지 확인하십시오. 그렇지 않으면 큐 관리자가 오류를 발생시킵니다.
48.17. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
camel 경로에서 Bindy를 사용하려면 이 데이터 형식을 구현하는 camel-bindy 에 종속성을 추가해야 합니다.
maven을 사용하는 경우 pom.xml에 다음을 추가하면 최신 및 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-bindy</artifactId> <version>x.x.x</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bindy</artifactId>
<version>x.x.x</version>
</dependency>
49장. Camel에서 OSGi 청사진 사용 링크 복사링크가 클립보드에 복사되었습니다!
블루프린트용 사용자 지정 XML 네임스페이스가 생성되어 우수한 XML 전화 기능을 활용할 수 있습니다. Blueprint 사용자 지정 네임스페이스가 아직 표준화되지 않은 경우 이 네임스페이스는 Apache Karaf에서 사용하는 Apache Aries Blueprint 구현에서만 사용할 수 있습니다.
49.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
XML 스키마는 주로 Spring용 항목과 동일하므로 Spring XML을 참조하는 설명서 전체의 모든 xml 스니펫도 Blueprint 경로에 적용됩니다.
청사진을 사용하는 매우 간단한 경로 정의는 다음과 같습니다.
이 시점에서 지원되는 xml 요소( Spring xml 구문 비교)에 대한 몇 가지 제한 사항이 있습니다.
- beanPostProcessor는 Spring에만 해당되며 허용되지 않습니다.
그러나 OSGi enviroment에 애플리케이션을 배포할 때 청사진을 사용하면 다음과 같은 몇 가지 이점이 있습니다.
- 새로운 camel 버전으로 업그레이드할 때 번들에서 가져오는 camel 패키지를 기반으로 올바른 버전이 선택되므로 네임스페이스를 변경할 필요가 없습니다.
- 사용자 정의 네임스페이스 및 번들과 관련하여 시작 순서 문제가 없음
- Blueprint 속성 자리 표시자를 사용할 수 있습니다.
49.2. camel-blueprint 사용 링크 복사링크가 클립보드에 복사되었습니다!
OSGi의 camel-blueprint를 활용하려면 Aries Blueprint 번들과 camel-blueprint 번들뿐만 아니라 camel-core 및 해당 종속 항목만 있으면 됩니다.
Karaf를 사용하는 경우 모든 필수 번들을 설치하는 camel-blueprint라는 기능을 사용할 수 있습니다.
50장. Bonita 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.19에서 사용 가능
원격 Bonita BPM 프로세스 엔진과 통신하는 데 사용됩니다.
50.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
bonita://[operation]?[options]
bonita://[operation]?[options]
여기서 작업 은 Bonita에서 수행해야 하는 특정 작업입니다.
50.2. 일반 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Bonita 구성 요소에는 옵션이 없습니다.
Bonita 엔드포인트는 URI 구문을 사용하여 구성됩니다.
bonita:operation
bonita:operation
다음 경로 및 쿼리 매개변수를 사용합니다.
50.2.1. 경로 매개 변수 (1 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 작업 | 사용하는 데 필요한 작업 | BonitaOperation |
50.2.2. 쿼리 매개변수(9 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 호스트 이름 (consumer) | Bonita 엔진이 실행되는 호스트 이름 | localhost | 문자열 |
| 포트 (소비자) | Bonita 엔진을 호스팅하는 서버 포트 | 8080 | 문자열 |
| ProcessName (consumer) | 작업에 관련된 프로세스의 이름입니다. | 문자열 | |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| 암호 (보안) | Bonita 엔진에 인증하기 위한 암호. | 문자열 | |
| 사용자 이름 (보안) | Bonita 엔진에 인증할 사용자 이름입니다. | 문자열 |
50.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.bonita.enabled | bonita 구성 요소 활성화 | true | 부울 |
| camel.component.bonita.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
50.4. 본문 콘텐츠 링크 복사링크가 클립보드에 복사되었습니다!
startCase 작업의 경우 입력 변수가 본문 메시지에서 검색됩니다. Map<String,Serializable>을 포함해야 합니다.
50.5. 예제 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 Bonita에서 새 케이스를 시작합니다.
from("direct:start").to("bonita:startCase?hostname=localhost&port=8080&processName=TestProcess&username=install&password=install")
from("direct:start").to("bonita:startCase?hostname=localhost&port=8080&processName=TestProcess&username=install&password=install")
50.6. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
Camel 경로에서 Bonita를 사용하려면 구성 요소를 구현하는 camel-bonita 에 종속성을 추가해야 합니다.
Maven을 사용하는 경우 pom.xml에 다음을 추가하여 최신 버전과 가장 큰 릴리스의 버전 번호를 대체합니다(최신 버전의 다운로드 페이지 참조).
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-bonita</artifactId> <version>x.x.x</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bonita</artifactId>
<version>x.x.x</version>
</dependency>
51장. boon DataFormat 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.16에서 사용 가능
boon은 Boon JSON 마샬링 라이브러리를 사용하여 JSON 페이로드를 Java 객체로 분리하거나 Java 개체를 JSON 페이로드로 마샬링하는 데이터 형식입니다. boon은 현재 사용되는 다른 일반 파서보다 간단하고 빠 른 파서가되는 것을 목표로 합니다.
51.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Boon dataformat은 아래 나열된 3가지 옵션을 지원합니다.
| 이름 | 기본값 | Java Type | 설명 |
|---|---|---|---|
| unmarshalTypeName |
| armshalling할 때 사용할 Java 유형의 클래스 이름 | |
| useList |
|
| 맵 목록 또는 Pojo 목록에 대한 총합을 해제하려면 다음을 수행합니다. |
| contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |
51.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 4 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.dataformat.boon.content-type-header | 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. | false | 부울 |
| camel.dataformat.boon.enabled | boon dataformat 활성화 | true | 부울 |
| camel.dataformat.boon.unmarshal-type-name | armshalling할 때 사용할 Java 유형의 클래스 이름 | 문자열 | |
| camel.dataformat.boon.use-list | 맵 목록 또는 Pojo 목록에 대한 총합을 해제하려면 다음을 수행합니다. | false | 부울 |
ND
51.3. Java DSL 사용 링크 복사링크가 클립보드에 복사되었습니다!
DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
from("activemq:My.Queue")
.unmarshal(boonDataFormat)
.to("mqseries:Another.Queue");
DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
from("activemq:My.Queue")
.unmarshal(boonDataFormat)
.to("mqseries:Another.Queue");
51.4. Blueprint XML 사용 링크 복사링크가 클립보드에 복사되었습니다!
51.5. 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-boon</artifactId> <version>x.x.x</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-boon</artifactId>
<version>x.x.x</version>
</dependency>
52장. 박스 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.14로 사용 가능
Box 구성 요소를 사용하면 https://github.com/box/box-java-sdk 을 사용하여 액세스할 수 있는 모든 Box.com API에 액세스할 수 있습니다. 이를 통해 파일을 업로드하고 다운로드하고 폴더를 생성, 편집 및 관리하는 메시지를 생성할 수 있습니다. 또한 사용자 계정 업데이트 및 엔터프라이즈 계정 변경 등을 폴링할 수 있는 API도 지원합니다.
box.com은 모든 클라이언트 애플리케이션 인증에 OAuth2.0을 사용해야 합니다. 계정에 camel-box를 사용하려면 Box.com 내에 새 애플리케이션을 https://developer.box.com. Box 애플리케이션의 클라이언트 ID 및 시크릿을 사용하면 현재 사용자가 필요한 Box API에 액세스할 수 있습니다. 사용자 액세스 토큰은 최종 사용자에 대한 API에서 생성하고 관리합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-box</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-box</artifactId>
<version>${camel-version}</version>
</dependency>
52.1. 연결 인증 유형 링크 복사링크가 클립보드에 복사되었습니다!
Box 구성 요소는 인증된 세 가지 유형의 인증된 연결을 지원합니다.
52.1.1. 표준 인증 링크 복사링크가 클립보드에 복사되었습니다!
표준 인증 은 OAuth 2.0 3 계층 인증 프로세스 를 사용하여 Box.com으로 연결을 인증합니다. 이 유형의 인증을 사용하면 Box 관리 사용자와 외부 사용자 가 Box 구성 요소를 통해 Box 콘텐츠에 액세스, 편집 및 저장할 수 있습니다.
52.1.2. App Enterprise Authentication 링크 복사링크가 클립보드에 복사되었습니다!
App Enterprise Authentication 은 JSON Web Tokens(JWT)와 OAuth 2.0 을 사용하여 Box Application 의 서비스 계정 으로 연결을 인증합니다. 이 유형의 인증을 사용하면 서비스 계정이 Box 구성 요소를 통해 Box Application 의 Box 콘텐츠에 액세스, 편집 및 저장할 수 있습니다.
52.1.3. 앱 사용자 인증 링크 복사링크가 클립보드에 복사되었습니다!
App User Authentication 은 JSON Web Tokens(JWT)와 OAuth 2.0 을 사용하여 Box Application 의 App User 로 연결을 인증합니다. 이러한 유형의 인증을 통해 앱 사용자는 Box 구성 요소를 통해 Box Application 에 액세스, 편집 및 저장할 수 있습니다.
52.2. 박스 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Box 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성을 사용하려면To use the shared configuration | BoxConfiguration | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Box 엔드포인트는 URI 구문을 사용하여 구성됩니다.
box:apiName/methodName
box:apiName/methodName
다음 경로 및 쿼리 매개변수를 사용합니다.
52.2.1. 경로 매개 변수(2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| apiName | 어 떤 종류의 작업을 수행해야 합니까? | BoxApiName | |
| methodName | 선택한 작업에 사용할 하위 작업 필요 | 문자열 |
52.2.2. 쿼리 매개변수 (20 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| clientID( 일반) | box 애플리케이션 클라이언트 ID | 문자열 | |
| enterpriseId (공용) | 앱 엔터프라이즈에 사용할 엔터프라이즈 ID입니다. | 문자열 | |
| InBody (일반) | 교환 In Body에서 전달할 매개 변수의 이름을 설정합니다. | 문자열 | |
| userid (common) | 앱 사용자에 사용할 사용자 ID입니다. | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| httpParams (고급) | 프록시 호스트와 같은 설정에 대한 사용자 정의 HTTP 매개변수 | map | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| accessTokenCache (security) | 액세스 토큰을 저장하고 검색하는 데 사용되는 사용자 정의 액세스 토큰 캐시입니다. | IAccessTokenCache | |
| clientSecret (보안) | 박스 애플리케이션 클라이언트 시크릿 | 문자열 | |
| encryptionAlgorithm (보안) | JWT의 암호화 알고리즘 유형입니다. 지원되는 알고리즘: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm |
| maxCacheEntries (보안) | 캐시의 최대 액세스 토큰 수입니다. | 100 | int |
| authenticationType (authentication) | 연결의 인증 유형입니다. 인증 유형: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | 문자열 |
| privateKeyFile (security) | JWT 서명을 생성하는 개인 키입니다. | 문자열 | |
| privateKeyPassword (보안) | 개인 키의 암호입니다. | 문자열 | |
| publicKeyId (security) | JWT 서명을 검증하기 위한 공개 키의 ID입니다. | 문자열 | |
| sslContextParameters (security) | SSLContextParameters를 사용하여 보안을 구성하려면 다음을 수행합니다. | SSLContextParameters | |
| 사용자 이름 (보안) | 사용자 이름, 제공되어야 합니다. | 문자열 | |
| userPassword (보안) | authSecureStorage가 설정되지 않은 경우 박스 사용자 비밀번호를 제공하거나 첫 번째 통화 시 null을 반환해야 합니다. | 문자열 |
52.3. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래에 나열된 17 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.box.configuration.access-token-cache | 액세스 토큰을 저장하고 검색하는 데 사용되는 사용자 정의 액세스 토큰 캐시입니다. | IAccessTokenCache | |
| camel.component.box.configuration.api-name | 어떤 종류의 작업을 수행합니까? | BoxApiName | |
| camel.component.box.configuration.authentication-type | 연결의 인증 유형입니다. 인증 유형: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | 문자열 |
| camel.component.box.configuration.client-id | box 애플리케이션 클라이언트 ID | 문자열 | |
| camel.component.box.configuration.client-secret | 박스 애플리케이션 클라이언트 시크릿 | 문자열 | |
| camel.component.box.configuration.enterprise-id | 앱 엔터프라이즈에 사용할 엔터프라이즈 ID입니다. | 문자열 | |
| camel.component.box.configuration.http-params | 프록시 호스트와 같은 설정에 대한 사용자 정의 HTTP 매개변수 | map | |
| camel.component.box.configuration.method-name | 선택한 작업에 사용할 하위 작업 | 문자열 | |
| camel.component.box.configuration.private-key-file | JWT 서명을 생성하는 개인 키입니다. | 문자열 | |
| camel.component.box.configuration.private-key-password | 개인 키의 암호입니다. | 문자열 | |
| camel.component.box.configuration.public-key-id | JWT 서명을 검증하기 위한 공개 키의 ID입니다. | 문자열 | |
| camel.component.box.configuration.ssl-context-parameters | SSLContextParameters를 사용하여 보안을 구성하려면 다음을 수행합니다. | SSLContextParameters | |
| camel.component.box.configuration.user-id | 앱 사용자에 사용할 사용자 ID입니다. | 문자열 | |
| camel.component.box.configuration.user-name | 사용자 이름, 제공되어야 합니다. | 문자열 | |
| camel.component.box.configuration.user-password | authSecureStorage가 설정되지 않은 경우 박스 사용자 비밀번호를 제공하거나 첫 번째 통화 시 null을 반환해야 합니다. | 문자열 | |
| camel.component.box.enabled | 박스 구성 요소 사용 | true | 부울 |
| camel.component.box.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
52.4. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
box:apiName/methodName
box:apiName/methodName
apiName은 다음 중 하나일 수 있습니다.
- 협업
- 주석
- event-logs
- 파일
- 폴더
- groups
- events
- search
- tasks
- 사용자
52.5. 생산자 끝점: 링크 복사링크가 클립보드에 복사되었습니다!
생산자 엔드포인트는 엔드포인트 접두사 뒤에 다음에 설명된 끝점 이름 및 관련 옵션을 사용할 수 있습니다. 일부 엔드포인트에서는 단축 별칭을 사용할 수 있습니다. 엔드포인트 URI에는 접두사가 포함되어야 합니다.
필수가 아닌 엔드포인트 옵션은 [] 로 표시됩니다. 끝점에 대한 필수 옵션이 없는 경우 [] 옵션 세트 중 하나를 제공해야 합니다. 생산자 엔드포인트는 Camel Exchange In 메시지에 포함된 엔드포인트 옵션의 이름을 포함해야 하는 특수 옵션 inBody 를 사용할 수도 있습니다.
끝점 URI에서 또는 메시지 헤더에서 동적으로 끝점 옵션을 제공할 수 있습니다. 메시지 헤더 이름은 CamelBox.<option> 형식이어야 합니다. inBody 옵션은 메시지 헤더를 덮어씁니다. 즉 inBody=option 의 endpoint 옵션은 CamelBox.option 헤더를 재정의합니다.
끝점 URI 또는 메시지 헤더에 있는 옵션 defaultRequest에 대해 값이 제공되지 않으면 null 로 간주됩니다. null 값은 다른 옵션이 일치하는 엔드 포인트를 충족하지 않는 경우에만 사용됩니다.
Box API 오류가 발생하는 경우 끝점에서 com.box.sdk.BoxAPIException 파생 예외를 사용하여 RuntimeCamelException을 throw합니다.
52.5.1. 끝점 접두사 협업 링크 복사링크가 클립보드에 복사되었습니다!
박스 협업에 대한 자세한 내용은 https://developer.box.com/reference#collaboration-object 에서 참조하십시오. 다음과 같이 접두사 협업 을 사용하여 다음 끝점을 호출할 수 있습니다.
box:collaborations/endpoint?[options]
box:collaborations/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| addFolderCollaboration | add | folderId, collaborator, role | com.box.sdk.BoxCollaboration |
| addFolderCollaborationByEmail | addByEmail | folderId, email, role | com.box.sdk.BoxCollaboration |
| deleteCollaboration | delete | collaborationId | |
| getFolderCollaborations | 협업 | folderId | java.util.Collection |
| getPendingCollaborations | pendingCollaborations | java.util.Collection | |
| getCollaborationInfo | info | collaborationId | com.box.sdk.BoxCollaboration.Info |
| updateCollaborationInfo | updateInfo | collaborationId, info | com.box.sdk.BoxCollaboration |
협업을 위한 URI 옵션
| 이름 | 유형 |
|---|---|
| collaborationId | 문자열 |
| 협력자 | com.box.sdk.BoxCollaborator |
| role | com.box.sdk.BoxCollaboration.Role |
| folderId | 문자열 |
| | 문자열 |
| info | com.box.sdk.BoxCollaboration.Info |
52.5.2. 끝점 접두사 주석 링크 복사링크가 클립보드에 복사되었습니다!
Box 주석에 대한 자세한 내용은 https://developer.box.com/reference#comment-object 을 참조하십시오. 다음과 같이 접두사 주석 을 사용하여 다음 끝점을 호출할 수 있습니다.
box:comments/endpoint?[options]
box:comments/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| addFileComment | add | fileId, message | com.box.sdk.BoxFile |
| changeCommentMessage | updateMessage | commentId, message | com.box.sdk.BoxComment |
| deleteComment | delete | commentId | |
| getCommentInfo | info | commentId | com.box.sdk.BoxComment.Info |
| getFileComments | 주석 | fileId | java.util.List |
| replyToComment | 응답 | commentId, message | com.box.sdk.BoxComment |
협업을 위한 URI 옵션
| 이름 | 유형 |
|---|---|
| commentId | 문자열 |
| fileId | 문자열 |
| message | 문자열 |
52.5.3. 끝점 접두사 events-logs 링크 복사링크가 클립보드에 복사되었습니다!
Box 이벤트 로그에 대한 자세한 내용은 https://developer.box.com/reference#events 을 참조하십시오. 다음과 같이 접두사 event-logs 를 사용하여 다음 끝점을 호출할 수 있습니다.
box:event-logs/endpoint?[options]
box:event-logs/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| getEnterpriseEvents | events | 위치, 후, 전, [타입] | java.util.List |
이벤트로그에 대한 URI 옵션
| 이름 | 유형 |
|---|---|
| 위치 | 문자열 |
| after | 날짜 |
| before | 날짜 |
| types | com.box.sdk.BoxEvent.Types[] |
52.5.4. 끝점 접두사 파일 링크 복사링크가 클립보드에 복사되었습니다!
박스 파일에 대한 자세한 내용은 https://developer.box.com/reference#file-object 에서 참조하십시오. 다음과 같이 접두사 파일 을 사용하여 다음 엔드포인트를 호출할 수 있습니다.
box:files/endpoint?[options]
box:files/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| uploadFile | 업로드 | parentFolderId, content, fileName, [created], [modified], [size], [listener] | com.box.sdk.BoxFile |
| downloadFile | 다운로드 | fileId, output, [rangeStart], [rangeEnd], [listener] | java.io.OutputStream |
| copyFile | copy | fileId, destinationFolderId, [newName] | com.box.sdk.BoxFile |
| moveFile | move | fileId, destinationFolderId, [newName] | com.box.sdk.BoxFile |
| renameFile | rename | fileId, newFileName | com.box.sdk.BoxFile |
| createFileSharedLink | link | fileId, access, [unshareDate], [permissions] | com.box.sdk.BoxSharedLink |
| deleteFile | delete | fileId | |
| uploadNewFileVersion | uploadVersion | fileId, fileContent, [modified], [fileSize], [listener] | com.box.boxsdk.BoxFile |
| promoteFileVersion | promoteVersion | fileId, version | com.box.sdk.BoxFileVersion |
| getFileVersions | 버전 | fileId | java.util.Collection |
| downloadPreviousFileVersions | downloadVersion | fileId, version, output, [listener] | java.io.OutputStream |
| deleteFileVersion | deleteVersion | fileId, version | |
| getFileInfo | info | fileId, fields | com.box.sdk.BoxFile.Info |
| updateFileInfo | updateInfo | fileId, info | com.box.sdk.BoxFile |
| createFileMetadata | createMetadata | fileId, metadata, [typeName] | com.box.sdk.Metadata |
| getFileMetadata | metadata | fileId, [typeName] | com.box.sdk.Metadata |
| updateFileMetadata | updateMetadata | fileId, metadata | com.box.sdk.Metadata |
| deleteFileMetadata | deleteMetadata | fileId | |
| getDownloadUrl | url | fileId | java.net.URL |
| getPreviewLink | 미리 보기 | fileId | java.net.URL |
| getFileThumbnail | thumbnail | fileId, fileType, minWidth, minHeight, maxWidth, maxHeight | byte[] |
파일의 URI 옵션
| 이름 | 유형 |
|---|---|
| parentFolderId | 문자열 |
| 내용 | java.io.InputStream |
| fileName | 문자열 |
| created | 날짜 |
| modified | 날짜 |
| 크기 | long |
| listener | com.box.sdk.ProgressListener |
| 출력 | java.io.OutputStream |
| rangeStart | long |
| rangeEnd | long |
| outputStreams | java.io.OutputStream[] |
| destinationFolderId | 문자열 |
| newName | 문자열 |
| 필드 | string[] |
| info | com.box.sdk.BoxFile.Info |
| fileSize | long |
| version | 정수 |
| 액세스 | com.box.sdk.BoxSharedLink.Access |
| unshareDate | 날짜 |
| 권한 | com.box.sdk.BoxSharedLink.Permissions |
| fileType | com.box.sdk.BoxFile.ThumbnailFileType |
| minWidth | 정수 |
| minHeight | 정수 |
| maxWidth | 정수 |
| maxHeight | 정수 |
| metadata | com.box.sdk.Metadata |
| typeName | 문자열 |
52.5.5. 끝점 접두사 폴더 링크 복사링크가 클립보드에 복사되었습니다!
박스 폴더에 대한 자세한 내용은 https://developer.box.com/reference#folder-object 에서 참조하십시오. 다음과 같이 접두사 폴더 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
box:folders/endpoint?[options]
box:folders/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| getRootFolder | 루트 | com.box.sdk.BoxFolder | |
| createFolder | create | parentFolderId, folderName | com.box.sdk.BoxFolder |
| createFolder | create | parentFolderId, path | com.box.sdk.BoxFolder |
| copyFolder | copy | folderId, destinationfolderId, [newName] | com.box.sdk.BoxFolder |
| moveFolder | move | folderId, destinationFolderId, newName | com.box.sdk.BoxFolder |
| renameFolder | rename | folderId, newFolderName | com.box.sdk.BoxFolder |
| createFolderSharedLink | link | folderId, access, [unsharedDate], [permissions] | java.util.List |
| deleteFolder | delete | folderId | |
| getFolder | 폴더 | 경로 | com.box.sdk.BoxFolder |
| getFolderInfo | info | folderId, fields | com.box.sdk.BoxFolder.Info |
| getFolderItems | items | folderId, offset, limit, fields | java.util.List |
| updateFolderInfo | updateInfo | folderId, info | com.box.sdk.BoxFolder |
폴더에 대한 URI 옵션
| 이름 | 유형 |
|---|---|
| 경로 | string[] |
| folderId | 문자열 |
| offset | long |
| 제한 | long |
| 필드 | string[] |
| parentFolderId | 문자열 |
| folderName | 문자열 |
| destinationFolderId | 문자열 |
| newName | 문자열 |
| newFolderName | 문자열 |
| info | 문자열 |
| 액세스 | com.box.sdk.BoxSharedLink.Access |
| unshareDate | 날짜 |
| 권한 | com.box.sdk.BoxSharedLink.Permissions |
52.5.6. 끝점 접두사 그룹 링크 복사링크가 클립보드에 복사되었습니다!
박스 그룹에 대한 자세한 내용은 https://developer.box.com/reference#group-object 에서 참조하십시오. 다음과 같이 접두사 그룹 을 사용하여 다음 끝점을 호출할 수 있습니다.
box:groups/endpoint?[options]
box:groups/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| createGroup | create | name, [provenance, externalSyncIdentifier, description, invitabilityLevel, memberViewabilityLevel] | com.box.sdk.BoxGroup |
| addGroupMembership | createMembership | groupId, userId, role | com.box.sdk.BoxGroupMembership |
| deleteGroup | delete | groupId | |
| getAllGroups | groups | java.util.Collection | |
| getGroupInfo | info | groupId | com.box.sdk.BoxGroup.Info |
| updateGroupInfo | updateInfo | groupId, groupInfo | com.box.sdk.BoxGroup |
| addGroupMembership | addMembership | groupId, userId, role | com.box.sdk.BoxGroupMembership |
| deleteGroupMembership | deleteMembership | groupMembershipId | |
| getGroupMemberships | memberships | groupId | java.uti.Collection |
| getGroupMembershipInfo | membershipInfo | groupMemebershipId | com.box.sdk.BoxGroup.Info |
| updateGroupMembershipInfo | updateMembershipInfo | groupMemebershipId, info | com.box.sdk.BoxGroupMembership |
그룹의 URI 옵션
| 이름 | 유형 |
|---|---|
| name | 문자열 |
| groupId | 문자열 |
| userId | 문자열 |
| role | com.box.sdk.BoxGroupMembership.Role |
| groupMembershipId | 문자열 |
| info | com.box.sdk.BoxGroupMembership.Info |
52.5.7. 끝점 접두사 검색 링크 복사링크가 클립보드에 복사되었습니다!
Box 검색 API에 대한 자세한 내용은 https://developer.box.com/reference#searching-for-content 에서 참조하십시오. 다음과 같이 접두사 검색 을 사용하여 다음 끝점을 호출할 수 있습니다.
box:search/endpoint?[options]
box:search/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| searchFolder | search | folderId, query | java.util.Collection |
검색URI 옵션
| 이름 | 유형 |
|---|---|
| folderId | 문자열 |
| query | 문자열 |
52.5.8. 끝점 접두사 작업 링크 복사링크가 클립보드에 복사되었습니다!
박스 작업에 대한 자세한 내용은 https://developer.box.com/reference#task-object-1 에서 참조하십시오. 다음과 같이 접두사 작업 을 사용하여 다음 끝점을 호출할 수 있습니다.
box:tasks/endpoint?[options]
box:tasks/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| addFileTask | add | fileId, action, dueAt, [message] | com.box.sdk.BoxUser |
| deleteTask | delete | taskId | |
| getFileTasks | tasks | fileId | java.util.List |
| getTaskInfo | info | taskId | com.box.sdk.BoxTask.Info |
| updateTaskInfo | updateInfo | taskId, info | com.box.sdk.BoxTask |
| addAssignmentToTask | addAssignment | taskId, assignTo | com.box.sdk.BoxTask |
| deleteTaskAssignment | deleteAssignment | taskAssignmentId | |
| getTaskAssignments | 할당 | taskId | java.util.List |
| getTaskAssignmentInfo | assignmentInfo | taskAssignmentId | com.box.sdk.BoxTaskAssignment.Info |
작업에대한 URI 옵션
| 이름 | 유형 |
|---|---|
| fileId | 문자열 |
| 작업 | com.box.sdk.BoxTask.Action |
| dueAt | 날짜 |
| message | 문자열 |
| taskId | 문자열 |
| info | com.box.sdk.BoxTask.Info |
| assignTo | com.box.sdk.BoxUser |
| taskAssignmentId | 문자열 |
52.5.9. 끝점 접두사 사용자 링크 복사링크가 클립보드에 복사되었습니다!
박스 사용자에 대한 자세한 내용은 https://developer.box.com/reference#user-object 에서 참조하십시오. 다음과 같이 접두사 사용자 를 사용하여 다음 끝점을 호출할 수 있습니다.
box:users/endpoint?[options]
box:users/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| getCurrentUser | currentUser | com.box.sdk.BoxUser | |
| getAllEnterpriseOrExternalUsers | 사용자 | filterTerm, [fields] | com.box.sdk.BoxUser |
| createAppUser | create | name, [params] | com.box.sdk.BoxUser |
| createEnterpriseUser | create | login, name, [params] | com.box.sdk.BoxUser |
| deleteUser | delete | userId, notifyUser, force | |
| getUserEmailAlias | emailAlias | userId | com.box.sdk.BoxUser |
| deleteUserEmailAlias | deleteEmailAlias | userId, emailAliasId | java.util.List |
| getUserInfo | info | userId | com.box.sdk.BoxUser.Info |
| updateUserInfo | updateInfo | userId, info | com.box.sdk.BoxUser |
| moveFolderToUser | - | userId, sourceUserId | com.box.sdk.BoxFolder.Info |
사용자를 위한 URI 옵션
| 이름 | 유형 |
|---|---|
| defaultRequest | com.box.restclientv2.requestsbase.BoxDefaultRequestObject |
| emailAliasRequest | com.box.boxjavalibv2.requests.requestobjects.BoxEmailAliasRequestObject |
| emailId | 문자열 |
| filterTerm | 문자열 |
| folderId | 문자열 |
| simpleUserRequest | com.box.boxjavalibv2.requests.requestobjects.BoxSimpleUserRequestObject |
| userDeleteRequest | com.box.boxjavalibv2.requests.requestobjects.BoxUserDeleteRequestObject |
| userId | 문자열 |
| userRequest | com.box.boxjavalibv2.requests.requestobjects.BoxUserRequestObject |
| userUpdateLoginRequest | com.box.boxjavalibv2.requests.requestobjects.BoxUserUpdateLoginRequestObject |
52.6. 소비자 끝점: 링크 복사링크가 클립보드에 복사되었습니다!
박스 이벤트에 대한 자세한 내용은 https://developer.box.com/reference#events 에서 참조하십시오. 소비자 끝점은 다음에 예제와 같이 끝점 접두사 이벤트 만 사용할 수 있습니다.
box:events/endpoint?[options]
box:events/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| events | [startingPosition] | com.box.sdk.BoxEvent |
이벤트에대한 URI 옵션
| 이름 | 유형 |
|---|---|
| startingPosition | long |
52.7. 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
CamelBox. 접두사를 사용하는 생산자 끝점의 메시지 헤더에 모든 옵션을 제공할 수 있습니다.
52.8. 메시지 본문 링크 복사링크가 클립보드에 복사되었습니다!
모든 결과 메시지 본문은 Box Java SDK에서 제공하는 오브젝트를 활용합니다. 생산자 끝점 매개 변수는 inBody 엔드포인트 매개 변수에서 들어오는 메시지 본문에 대한 옵션 이름을 지정할 수 있습니다.
52.9. 구성 요소 구성 및 인증 활성화 링크 복사링크가 클립보드에 복사되었습니다!
Box를 사용한 인증의 경우 다음 예와 같이 구성 요소의 인증 속성을 설정합니다.
52.10. 샘플 링크 복사링크가 클립보드에 복사되었습니다!
다음 경로는 새 파일을 사용자의 루트 폴더에 업로드합니다.
from("file:...")
.to("box://files/upload/inBody=fileUploadRequest");
from("file:...")
.to("box://files/upload/inBody=fileUploadRequest");
다음 경로는 업데이트를 위해 사용자 계정을 폴링합니다.
from("box://events/listen?startingPosition=-1")
.to("bean:blah");
from("box://events/listen?startingPosition=-1")
.to("bean:blah");
다음 경로는 동적 헤더 옵션이 있는 생산자를 사용합니다. fileId 속성에는 Box 파일 ID가 있고 출력 속성에는 파일 콘텐츠의 출력 스트림이 있으므로 다음과 같이 CamelBox.fileId 헤더 및 CamelBox.output 헤더에 각각 할당됩니다.
from("direct:foo")
.setHeader("CamelBox.fileId", header("fileId"))
.setHeader("CamelBox.output", header("output"))
.to("box://files/download")
.to("file://...");
from("direct:foo")
.setHeader("CamelBox.fileId", header("fileId"))
.setHeader("CamelBox.output", header("output"))
.to("box://files/download")
.to("file://...");
53장. Braintree 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
Camel 버전 2.17로 사용 가능
Braintree 구성 요소는 Java SDK 를 통해 Braintree Payments 에 대한 액세스를 제공합니다.
모든 클라이언트 애플리케이션은 지불을 처리하기 위해 API 자격 증명이 필요합니다. 계정과 함께 camel-braintree를 사용하려면 새 Sandbox 또는 Production 계정을 만들어야 합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-braintree</artifactId>
<version>${camel-version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-braintree</artifactId>
<version>${camel-version}</version>
</dependency>
53.1. Braintree Options 링크 복사링크가 클립보드에 복사되었습니다!
Braintree 구성 요소는 아래 나열된 두 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 구성 (일반) | 공유 구성을 사용하려면To use the shared configuration | BraintreeConfiguration | |
| resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Braintree 끝점은 URI 구문을 사용하여 구성됩니다.
braintree:apiName/methodName
braintree:apiName/methodName
다음 경로 및 쿼리 매개변수를 사용합니다.
53.1.1. 경로 매개 변수(2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| apiName | 어 떤 종류의 작업을 수행해야 합니까? | BraintreeApiName | |
| methodName | 선택한 작업에 사용할 하위 작업 | 문자열 |
53.1.2. 쿼리 매개변수(14 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| 환경 (공용) | SANDBOX 또는 ProductION 환경 | 문자열 | |
| InBody (일반) | 교환 In Body에서 전달할 매개 변수의 이름을 설정합니다. | 문자열 | |
| memberId (일반) | Braintree에서 제공하는 판매자 ID입니다. | 문자열 | |
| privateKey (common) | Braintree에서 제공하는 개인 키입니다. | 문자열 | |
| publickey (공용) | Braintree에서 제공하는 공개 키입니다. | 문자열 | |
| bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
| 예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| Access Token (advanced) | 사용자를 대신하여 트랜잭션을 처리하기 위해 판매자가 부여한 액세스 토큰입니다. 환경, 판매자 ID, 공개 키 및 개인 키 필드 대신 사용됩니다. | 문자열 | |
| httpReadTimeout (advanced) | http 호출에 대한 읽기 시간 제한을 설정합니다. | 정수 | |
| synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
| httpLogLevel (logging) | http 호출에 대한 로깅 수준을 설정하고 java.util.logging.Level을 참조하십시오. | 문자열 | |
| proxyHost (proxy) | 프록시 호스트 | 문자열 | |
| proxyPort (proxy) | 프록시 포트 | 정수 |
53.2. Spring Boot Auto-Configuration 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소는 아래 나열된 14 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본값 | 유형 |
|---|---|---|---|
| camel.component.braintree.configuration.access-token | 사용자를 대신하여 트랜잭션을 처리하기 위해 판매자가 부여한 액세스 토큰입니다. 환경, 판매자 ID, 공개 키 및 개인 키 필드 대신 사용됩니다. | 문자열 | |
| camel.component.braintree.configuration.api-name | 어떤 종류의 작업을 수행합니까? | BraintreeApiName | |
| camel.component.braintree.configuration.environment | SANDBOX 또는 ProductION 환경 | 문자열 | |
| camel.component.braintree.configuration.http-log-level | http 호출에 대한 로깅 수준을 설정하고 java.util.logging.Level을 참조하십시오. | level | |
| camel.component.braintree.configuration.http-log-name | http 호출을 기록하는 데 사용할 로그 카테고리 설정, 기본 "Braintree" | 문자열 | |
| camel.component.braintree.configuration.http-read-timeout | http 호출에 대한 읽기 시간 제한을 설정합니다. | 정수 | |
| camel.component.braintree.configuration.merchant-id | Braintree에서 제공하는 판매자 ID입니다. | 문자열 | |
| camel.component.braintree.configuration.method-name | 선택한 작업에 사용할 하위 작업 | 문자열 | |
| camel.component.braintree.configuration.private-key | Braintree에서 제공하는 개인 키입니다. | 문자열 | |
| camel.component.braintree.configuration.proxy-host | 프록시 호스트 | 문자열 | |
| camel.component.braintree.configuration.proxy-port | 프록시 포트 | 정수 | |
| camel.component.braintree.configuration.public-key | Braintree에서 제공하는 공개 키입니다. | 문자열 | |
| camel.component.braintree.enabled | braintree 구성 요소 활성화 | true | 부울 |
| camel.component.braintree.resolve-property-placeholders | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | 부울 |
53.3. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
braintree://endpoint-prefix/endpoint?[options]
braintree://endpoint-prefix/endpoint?[options]
끝점 접두사는 다음 중 하나일 수 있습니다.
- addOn
- 주소
- clientToken
- creditCardverification
- customer
- discount
- dispute
- documentUpload
- merchantAccount
- paymentmethod
- paymentmethodNonce
- 계획
- 보고서
- settlementBatchSummary
- subscription
- Transaction
- webhookNotification
53.4. BraintreeComponent 링크 복사링크가 클립보드에 복사되었습니다!
Braintree Component는 아래 옵션을 사용하여 구성할 수 있습니다. 이러한 옵션은 org.apache.camel.component.braintree.BraintreeConfiguration 유형의 구성 요소의 빈 속성 구성을 사용하여 제공할 수 있습니다.
| 옵션 | 유형 | 설명 |
|---|---|---|
| 환경 | 문자열 | 요청의 대상 위치를 지정하는 값 - 샌드박스 또는 프로덕션 |
| merchantId | 문자열 | 게이트웨이 계정의 고유 식별자이며, 이는 판매자 계정 ID와 다릅니다. |
| publicKey | 문자열 | 사용자별 공용 식별자 |
| privateKey | 문자열 | 공유해서는 안 되는 사용자별 보안 식별자 - 저희와도 함께! |
| accessToken | 문자열 | Braintree Auth를 사용하여 판매자에게 부여된 토큰을 통해 다른 사용자를 대신하여 트랜잭션을 처리할 수 있습니다. 환경, 판매자Id, publicKey 및 privateKey 옵션 대신 사용됩니다. |
위의 모든 옵션은 Braintree Payments에서 제공합니다.
53.5. 생산자 끝점: 링크 복사링크가 클립보드에 복사되었습니다!
생산자 엔드포인트는 엔드포인트 접두사 뒤에 다음에 설명된 끝점 이름 및 관련 옵션을 사용할 수 있습니다. 일부 엔드포인트에서는 단축 별칭을 사용할 수 있습니다. 엔드포인트 URI에는 접두사가 포함되어야 합니다.
필수가 아닌 엔드포인트 옵션은 []로 표시됩니다. 끝점에 대한 필수 옵션이 없는 경우 [] 옵션 세트 중 하나를 제공해야 합니다. 생산자 엔드포인트는 Camel Exchange In 메시지에 포함된 엔드포인트 옵션의 이름을 포함해야 하는 특수 옵션 inBody 를 사용할 수도 있습니다.
끝점 URI에서 또는 메시지 헤더에서 동적으로 끝점 옵션을 제공할 수 있습니다. 메시지 헤더 이름은 CamelBraintree.<option> 형식이어야 합니다. inBody 옵션은 메시지 헤더를 덮어씁니다. 즉 inBody=option 의 endpoint 옵션은 CamelBraintree.option 헤더를 재정의합니다.
엔드 포인트 및 옵션에 대한 자세한 내용은 Braintree 참조 ( https://developers.braintreepayments.com/reference/overview참조하십시오.
53.5.1. 끝점 접두사 애드온 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 addOn 을 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://addOn/endpoint
braintree://addOn/endpoint
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| all |
|
| List<com.braintreegateway.Addon> |
53.5.2. 끝점 접두사 주소 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 주소 를 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://address/endpoint?[options]
braintree://address/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| create |
| customerId, request | com.braintreegateway.Result<com.braintreegateway.Address> |
| delete |
| customerId, id | com.braintreegateway.Result<com.braintreegateway.Address> |
| find |
| customerId, id | com.braintreegateway.Address |
| update |
| customerId, id, request | com.braintreegateway.Result<com.braintreegateway.Address> |
주소의 URI 옵션
| 이름 | 유형 |
|---|---|
| customerId | 문자열 |
| 요청 | com.braintreegateway.AddressRequest |
| id | 문자열 |
53.5.3. 끝점 접두사 clientToken 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 clientToken 을 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://clientToken/endpoint?[options]
braintree://clientToken/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| generate |
| 요청 | 문자열 |
clientToken의 URI 옵션
| 이름 | 유형 |
|---|---|
| 요청 | com.braintreegateway.ClientTokenrequest |
53.5.4. 끝점 접두사 신용Verification 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 creditCardverification 을 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://creditCardVerification/endpoint?[options]
braintree://creditCardVerification/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| find |
| id | com.braintreegateway.CreditCardVerification |
| search |
| query | com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> |
신용 카드Verification에대한 URI 옵션
| 이름 | 유형 |
|---|---|
| id | 문자열 |
| query | com.braintreegateway.CreditCardVerificationSearchRequest |
53.5.5. 끝점 접두사 고객 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 customer 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://customer/endpoint?[options]
braintree://customer/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| all |
|
|
|
| create |
| 요청 | com.braintreegateway.Result<com.braintreegateway.Customer> |
| delete |
| id | com.braintreegateway.Result<com.braintreegateway.Customer> |
| find |
| id | com.braintreegateway.Customer |
| search |
| query | com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> |
| update |
| ID, 요청 | com.braintreegateway.Result<com.braintreegateway.Customer> |
고객을 위한 URI 옵션
| 이름 | 유형 |
|---|---|
| id | 문자열 |
| 요청 | com.braintreegateway.CustomerRequest |
| query | com.braintreegateway.CustomerSearchRequest |
53.5.6. 끝점 접두사 할인 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 할인을 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://discount/endpoint
braintree://discount/endpoint
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| all |
|
| List<com.braintreegateway.Discount> |
+
+
+
+
53.5.7. 끝점 접두사문제 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 분쟁을 사용하여 다음 엔드포인트 를 호출할 수 있습니다.
braintree://dispute/endpoint?[options]
braintree://dispute/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| accept |
| id | com.braintreegateway.Result |
| addFileEvidence |
| disputeId, documentId | com.braintreegateway.Result<DisputeEvidence> |
| addFileEvidence |
| disputeId, fileEvidenceRequest | com.braintreegateway.Result<DisputeEvidence> |
| addTextEvidence |
| disputeId, content | com.braintreegateway.Result<DisputeEvidence> |
| addTextEvidence |
| disputeId, textEvidenceRequest | com.braintreegateway.Result<DisputeEvidence> |
| 종료일 |
| id | com.braintreegateway.Result |
| find |
| id | com.braintreegateway.Dispute |
| removeEvidence |
| id | com.braintreegateway.Result |
| search |
| disputeSearchRequest | com.braintreegateway.PaginatedCollection<com.braintreegateway.Dispute> |
분쟁 URI 옵션
| 이름 | 유형 |
|---|---|
| id | 문자열 |
| disputeId | 문자열 |
| documentId | 문자열 |
| fileEvidenceRequest | com.braintreegateway.FileEvidenceRequest |
| 내용 | 문자열 |
| textEvidenceRequest | |
| com.braintreegateway.TextEvidenceRequest | disputeSearchRequest |
53.5.8. 끝점 접두사 documentUpload 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 documentUpload 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://documentUpload/endpoint?[options]
braintree://documentUpload/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| create |
| 요청 | com.braintreegateway.Result<com.braintreegateway.DocumentUpload> |
documentUpload의 URI 옵션
| 이름 | 유형 |
|---|---|
| 요청 | com.braintreegateway.DocumentUploadRequest |
53.5.9. 끝점 접두사manAccount 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사man Account를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://merchantAccount/endpoint?[options]
braintree://merchantAccount/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| create |
| 요청 | com.braintreegateway.Result<com.braintreegateway.MerchantAccount> |
| createForCurrency | currencyRequest | com.braintreegateway.Result<com.braintreegateway.MerchantAccount> | |
| find |
| id | com.braintreegateway.MerchantAccount |
| update |
| ID, 요청 | com.braintreegateway.Result<com.braintreegateway.MerchantAccount> |
판매 자Account에 대한URI 옵션
| 이름 | 유형 |
|---|---|
| id | 문자열 |
| 요청 | com.braintreegateway.MerchantAccountRequest |
| currencyRequest | com.braintreegateway.MerchantAccountCreateForCurrencyRequest |
53.5.10. 끝점 접두사 paymentMethod 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 paymentMethod 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://paymentMethod/endpoint?[options]
braintree://paymentMethod/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| create |
| 요청 | com.braintreegateway.Result<com.braintreegateway.PaymentMethod> |
| delete |
| token, deleteRequest | com.braintreegateway.Result<com.braintreegateway.PaymentMethod> |
| find |
| 토큰 | com.braintreegateway.PaymentMethod |
| update |
| 토큰, 요청 | com.braintreegateway.Result<com.braintreegateway.PaymentMethod> |
paymentMethod의 URI 옵션
| 이름 | 유형 |
|---|---|
| 토큰 | 문자열 |
| 요청 | com.braintreegateway.PaymentMethodRequest |
| deleteRequest | com.braintreegateway.PaymentMethodDeleteRequest |
53.5.11. 끝점 접두사 paymentMethodNonce 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 paymentMethodNonce 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://paymentMethodNonce/endpoint?[options]
braintree://paymentMethodNonce/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| create |
| paymentMethodToken | com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> |
| find |
| paymentMethodNonce | com.braintreegateway.PaymentMethodNonce |
paymentMethodNonce에 대한 URI 옵션
| 이름 | 유형 |
|---|---|
| paymentMethodToken | 문자열 |
| paymentMethodNonce | 문자열 |
53.5.12. 끝점 접두사 계획 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 계획 을 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://plan/endpoint
braintree://plan/endpoint
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| all |
|
| List<com.braintreegateway.Plan> |
53.5.13. 끝점 접두사 보고서 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 보고서 를 사용하여 다음 끝점을 호출할 수 있습니다.
braintree://plan/report?[options]
braintree://plan/report?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| transactionLevelFees |
| 요청 | com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> |
보고서의 URI 옵션
| 이름 | 유형 |
|---|---|
| 요청 | com.braintreegateway.TransactionLevelFeeReportRequest |
53.5.14. 끝점 접두사 OrderBatchSummary 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같이 접두사 settleBatchSummary 를 사용하여 다음 엔드포인트를 호출할 수 있습니다.
braintree://settlementBatchSummary/endpoint?[options]
braintree://settlementBatchSummary/endpoint?[options]
| 끝점 | 단축 별칭 | 옵션 | 결과 본문 유형 |
|---|---|---|---|
| generate |
| 요청 | com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> |
Order BatchSummary에대한 URI 옵션
| 이름 | 유형 |
|---|---|
| settlementDate | 일정 |
| groupByCustomField | 문자열 |