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