60.8. Camel 8080 통합
60.8.1. Camel 주석 링크 복사링크가 클립보드에 복사되었습니다!
Camel은 Camel 빈 통합의 일부로 Camel CDI에서 원활하게 지원하는 주석 세트와 함께 제공됩니다. 따라서 CDI 빈에서 이러한 주석을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
| Camel 주석 | 해당하는 CDI | |
|---|---|---|
| 구성 속성 |
| Cryostat Spike 구성 메커니즘을 사용하는 경우:
자세한 내용은 구성 속성을 참조하십시오. |
| 생산자 템플릿 삽입(기본 Camel 컨텍스트) |
|
|
| 엔드포인트 삽입(기본 Camel 컨텍스트) |
|
|
| 엔드포인트 삽입(이름별Camel 컨텍스트) |
|
|
| Quarkus 주입(유형별) |
|
|
| 8080 삽입 (이름별) |
|
|
| Cryostat 사용 |
|
60.8.2. Cryostat 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
유형 또는 이름(예: Java Camel DSL 사용)에서 CDI 빈을 참조할 수 있습니다.
class MyBean {
//...
}
from("direct:inbound").bean(MyBean.class);
또는 Java DSL에서 이름으로 CDI 부울을 조회하려면 다음을 수행합니다.
@Named("foo")
class MyNamedBean {
//...
}
from("direct:inbound").bean("foo");
60.8.3. 엔드 포인트 URI에서 빈 참조 링크 복사링크가 클립보드에 복사되었습니다!
URI 구문을 사용하여 끝점을 구성할 때 # 표기법을 사용하여 레지스트리의 빈을 참조할 수 있습니다. URI 매개변수 값이 # 기호로 시작되면 Camel CDI는 지정된 유형의 빈을 이름으로 조회합니다. 예를 들면 다음과 같습니다.
from("jms:queue:{{destination}}?transacted=true&transactionManager=#jtaTransactionManager").to("...");
@Named("jtaTransactionManager") 로 자격을 갖춘 CDI 8080이 있어야 합니다.
@Produces
@Named("jtaTransactionManager")
PlatformTransactionManager createTransactionManager(TransactionManager transactionManager, UserTransaction userTransaction) {
JtaTransactionManager jtaTransactionManager = new JtaTransactionManager();
jtaTransactionManager.setUserTransaction(userTransaction);
jtaTransactionManager.setTransactionManager(transactionManager);
jtaTransactionManager.afterPropertiesSet();
return jtaTransactionManager;
}