이 콘텐츠는 선택한 언어로 제공되지 않습니다.

44.2. How to Implement a Component


Overview

This section gives a brief overview of the steps required to implement a custom Apache Camel component.

Which interfaces do you need to implement?

When implementing a component, it is usually necessary to implement the following Java interfaces:
  • org.apache.camel.Component
  • org.apache.camel.Endpoint
  • org.apache.camel.Consumer
  • org.apache.camel.Producer
In addition, it can also be necessary to implement the following Java interfaces:
  • org.apache.camel.Exchange
  • org.apache.camel.Message

Implementation steps

You typically implement a custom component as follows:
  1. Implement the Component interface—A component object acts as an endpoint factory. You extend the DefaultComponent class and implement the createEndpoint() method.
  2. Implement the Endpoint interface—An endpoint represents a resource identified by a specific URI. The approach taken when implementing an endpoint depends on whether the consumers follow an event-driven pattern, a scheduled poll pattern, or a polling pattern.
    For an event-driven pattern, implement the endpoint by extending the DefaultEndpoint class and implementing the following methods:
    • createProducer()
    • createConsumer()
    For a scheduled poll pattern, implement the endpoint by extending the ScheduledPollEndpoint class and implementing the following methods:
    • createProducer()
    • createConsumer()
    For a polling pattern, implement the endpoint by extending the DefaultPollingEndpoint class and implementing the following methods:
    • createProducer()
    • createPollConsumer()
  3. Implement the Consumer interface—There are several different approaches you can take to implementing a consumer, depending on which pattern you need to implement (event-driven, scheduled poll, or polling). The consumer implementation is also crucially important for determining the threading model used for processing a message exchange.
  4. Implement the Producer interface—To implement a producer, you extend the DefaultProducer class and implement the process() method.
  5. Optionally implement the Exchange or the Message interface—The default implementations of Exchange and Message can be used directly, but occasionally, you might find it necessary to customize these types.

Installing and configuring the component

You can install a custom component in one of the following ways:
  • Add the component directly to the CamelContext—The CamelContext.addComponent() method adds a component programatically.
  • Add the component using Spring configuration—The standard Spring bean element creates a component instance. The bean's id attribute implicitly defines the component prefix. For details, see Section 44.3.2, “Configuring a Component”.
  • Configure Apache Camel to auto-discover the component—Auto-discovery, ensures that Apache Camel automatically loads the component on demand. For details, see Section 44.3.1, “Setting Up Auto-Discovery”.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat