59.4. Camel 컨텍스트 구성


기본 CamelContext Bean의 이름을 변경하려면 Camel CDI에서 제공하는 @ContextName ECDHE을 사용할 수 있습니다. 예를 들면 다음과 같습니다.

@ContextName("camel-context")
class MyRouteBean extends RouteBuilder {
 
    @Override
    public void configure() {
        from("jms:invoices").to("file:/invoices");
    }
}
Copy to Clipboard Toggle word wrap

또는 사용자 지정이 더 필요한 경우 CamelContext 클래스를 사용하여 사용자 지정 Camel 컨텍스트Bean을 선언할 수 있습니다. 그러면 @PostECDHE 및 @ PreDestroy 라이프사이클 콜백을 수행하여 사용자 지정을 수행할 수 있습니다. 예를 들면 다음과 같습니다.

@ApplicationScoped
class CustomCamelContext extends DefaultCamelContext {

    @PostConstruct
    void customize() {
        // Set the Camel context name
        setName("custom");
        // Disable JMX
        disableJMX();
    }

    @PreDestroy
    void cleanUp() {
        // ...
    }
}
Copy to Clipboard Toggle word wrap

다음과 같이 Camel 컨텍스트Bean을 사용자 정의하는 데 생산자 및 이름이 사용될 수도 있습니다. http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#disposer_method

class CamelContextFactory {

    @Produces
    @ApplicationScoped
    CamelContext customize() {
        DefaultCamelContext context = new DefaultCamelContext();
        context.setName("custom");
        return context;
    }

    void cleanUp(@Disposes CamelContext context) {
        // ...
    }
}
Copy to Clipboard Toggle word wrap

마찬가지로 다음과 같이 생산자 필드 를 사용할 수 있습니다.

@Produces
@ApplicationScoped
CamelContext context = new CustomCamelContext();

class CustomCamelContext extends DefaultCamelContext {

    CustomCamelContext() {
        setName("custom");
    }
}
Copy to Clipboard Toggle word wrap

예를 들어 이 패턴을 사용하면 setAutoStartup 메서드를 호출하여 컨테이너를 초기화할 때 Camel 컨텍스트 경로가 자동으로 시작되지 않도록 할 수 있습니다. 예를 들면 다음과 같습니다.

@ApplicationScoped
class ManualStartupCamelContext extends DefaultCamelContext {

    @PostConstruct
    void manual() {
        setAutoStartup(false);
    }
}
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat