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