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;
@Inject
@Uri("direct:outbound")
ProducerTemplate producer;

@Produce(uri = "direct: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);

또는 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;
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.