2.18. 코어
Camel 핵심 기능 및 기본 Camel 언어/ Constant, ExchangeProperty, 헤더, Ref, Simple 및 Tokenize
2.18.1. 내부 내용 링크 복사링크가 클립보드에 복사되었습니다!
사용 및 설정 세부 사항은 위의 링크를 참조하십시오.
2.18.2. Maven 조정 링크 복사링크가 클립보드에 복사되었습니다!
code.quarkus.redhat.com에서 이 확장 기능을 사용하여 새 프로젝트를 생성합니다.
또는 기존 프로젝트에 좌표를 추가합니다.
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-core</artifactId>
</dependency>
2.18.3. 추가 Camel Quarkus 구성 링크 복사링크가 클립보드에 복사되었습니다!
2.18.3.1. 간단한 언어 링크 복사링크가 클립보드에 복사되었습니다!
2.18.3.1.1. OGNL 표기법 사용 링크 복사링크가 클립보드에 복사되었습니다!
간단한 언어의 OGNL 표기법을 사용할 때 camel-quarkus-ovn 확장을 사용해야 합니다.
예를 들어 아래 간단한 표현식은 Client 유형의 메시지 본문에서 getAddress() 메서드에 액세스하는 것입니다.
---
simple("${body.address}")
---
이러한 상황에서 여기에 설명된 대로 camel-quarkus-ovn 확장에 대한 추가 종속성을 취해야 합니다. 네이티브 모드에서는 리플렉션을 위해 일부 클래스를 등록해야 할 수도 있습니다. 위의 예에서 Client 클래스는 리플렉션을 위해 등록되어야 합니다.
2.18.3.1.2. 기본 모드에서 동적 유형 확인 사용 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같은 간단한 표현식에서 유형을 동적으로 해결하는 경우:
-
simple("${mandatoryBodyAs(TYPE)}") -
simple("${type:package.Enum.CONSTANT}") -
from("…").split(bodyAs(TYPE.class)) -
simple("${body}는 TYPE")
리플렉션을 위해 일부 클래스를 수동으로 등록하는 것이 필요할 수 있습니다.
예를 들어 아래 간단한 표현식은 런타임 시 java.nio.ByteBuffer 유형을 동적으로 확인하는 것입니다.
---
simple("${body} is 'java.nio.ByteBuffer'")
---
따라서 리플렉션을 위해 java.nio.ByteBuffer 클래스를 등록 해야합니다.
2.18.3.1.3. 기본 모드에서 classpath 리소스와 함께 간단한 언어 사용 링크 복사링크가 클립보드에 복사되었습니다!
경로가 다음 예와 같이 classpath에서 Simple 스크립트를 로드해야 하는 경우
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
그런 다음 Quarkus quarkus.native.resources.includes 속성을 사용하여 아래 설명과 같이 네이티브 실행 파일에 리소스를 포함해야 합니다.
quarkus.native.resources.includes = mysimple.txt
2.18.3.1.4. 기본 모드에서 속성을 통해 사용자 정의 console 구성 링크 복사링크가 클립보드에 복사되었습니다!
#class:* 또는 #type:* 과 같은 구성으로 기본 모드에서 속성을 통해 사용자 지정 console을 지정하는 경우 리플렉션을 위해 일부 클래스를 수동으로 등록해야 할 수 있습니다.
예를 들어, 아래 사용자 지정 빈 정의에는lan instantiation 및 setter 호출에 대한 리플라이션을 사용해야 합니다.
---
camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection
camel.beans.customBeanWithSetterInjection.counter = 123
---
따라서 리플렉션을 위해 PropertiesCustomBeanSetterInjection 클래스를 등록해야 합니다. 이 경우 필드 액세스를 생략할 수 있습니다.
| 구성 속성 | 유형 | Default |
|---|---|---|
|
true로 설정하면 |
|
|
|
classpath의 Camel 서비스 정의 파일과 일치하는 comma로 구분된 10.0.0.1-path 스타일 패턴 목록입니다. 일치하는 파일에 정의된 서비스는 |
| |
|
classpath의 Camel 서비스 정의 파일과 일치하는 comma로 구분된 10.0.0.1-path 스타일 패턴 목록입니다. 일치하는 파일에 정의된 서비스는 지정된 파일이 |
| |
|
classpath의 Camel 서비스 정의 파일과 일치하는 comma로 구분된 10.0.0.1-path 스타일 패턴 목록입니다. 일치하는 파일에 정의된 서비스는 애플리케이션의 정적 초기화 중에 Camel 레지스트리에 추가되지 않습니다. excludes는 includes보다 우선 순위가 높습니다. 여기에 정의된 excludes를 사용하여 Camel Quarkus 확장에 포함된 서비스 등록을 유지할 수도 있습니다. 예제 값: |
| |
|
classpath의 Camel 서비스 정의 파일과 일치하는 comma로 구분된 10.0.0.1-path 스타일 패턴 목록입니다. 지정된 파일이 |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
정적 초기화 중에 경로 자동 검색을 활성화합니다. |
|
|
|
RouteBuilder 클래스의 독점적 필터링에 사용됩니다. 전용 필터링이 포함 필터링보다 우선합니다. 패턴은 10.0.0.1-path 스타일 패턴을 사용합니다. 여러 패턴을 쉼표로 구분하여 지정할 수 있습니다. 예를 들어 Bar로 시작하는 모든 클래스를 제외하려면 모든 경로의 특정 패키지 사용을 제외합니다. com/mycompany/bar/* 모든 경로가 특정 패키지 사용을 제외하려면 com/mycompany/bar/** 두 가지 와일드카드를 사용합니다. com/mycompany/bar/** 및 com/mycompany/bar/*,com/mycompany/bar/*,com/mycompany/bar/*,com/mycompany/bar/*,com/mycompany/bar/** |
| |
|
RouteBuilder 클래스의 내부 필터링에 사용됩니다. 전용 필터링이 포함 필터링보다 우선합니다. 패턴은 10.0.0.1-path 스타일 패턴을 사용합니다. 여러 패턴을 쉼표로 구분하여 지정할 수 있습니다. 예를 들어, 모든 경로를 포함하려면 특정 패키지 사용을 구성하는 모든 경로가 포함됩니다. com/mycompany/foo/* 모든 경로가 특정 패키지 사용을 형성하려면 com/mycompany/foo/* com/mycompany/foo/** 두 개의 특정 패키지의 모든 경로 포함: com/mycompany/foo/*,com/mycompany/foo/*,com/mycompany/foo/stuff/* |
| |
|
Camel Quarkus 2.0.0에서 |
| |
|
Camel Quarkus 2.0.0에 |
| |
|
리플렉션에 대한 등록에서 제외해야 하는 클래스 이름과 일치하도록 쉼표로 구분된 skopeo-path 스타일 패턴 목록입니다. |
| |
|
리플렉션을 위해 등록해야 하는 클래스 이름과 일치하도록 쉼표로 구분된 10.0.0.1-path 스타일 패턴 목록입니다. |
| |
|
|
|
|
|
빌드 시 경로 정의에서 CSimple 표현식을 추출할 수 없는 경우 수행할 작업. |
|
|
|
Camel 이벤트와 CDI 이벤트의 브리징 가능 여부입니다. 이를 통해 Camel 이벤트에 대해 CDI 관찰자를 구성할 수 있습니다. 예를 들어 |
|
|
|
camel 소스 위치 활성화/비활성화를 위한 빌드 시간 구성 옵션 |
|
|
|
|
|
|
|
|
|
|
구성 속성은 빌드 시 수정되었습니다. 다른 모든 구성 속성은 런타임에 오버라이브할 수 있습니다.