[
https://issues.apache.org/jira/browse/CAMEL-14634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17100587#comment-17100587
]
Omar Al-Safi commented on CAMEL-14634:
--------------------------------------
Sure!
Is basically very similar to the Endpoint DSL, but instead of constructing the
endpoint through a DSL, you can construct a component through a DSL instead of
initializing through a constructor. It allows you to resolve the placeholder
when constructing the configurations as well as binding the component to the
Camel context directly besides of course, the type saftey similar to the
endpoint dsl.
Example can be found
[here|https://github.com/apache/camel-examples/blob/master/examples/camel-example-kafka/src/main/java/org/apache/camel/example/kafka/MessageConsumerClient.java#L48].
Referring to the example, it used to be done something like this which wasn't
ideal after all:
{code}
KafkaComponent kafka = new KafkaComponent();
kafka.setBrokers("localhost:9090");
camelContext.addComponent("kafka", kafka);
{code}
These [list of generated DSLs for Camel
Components|https://github.com/apache/camel/tree/master/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component.
This is the public APIs
https://github.com/apache/camel/blob/master/core/camel-componentdsl/src/main/java/org/apache/camel/builder/component/ComponentBuilder.java]
uses in association with the generated DSL API in order to construct the
component, you can skip {{doSetProperty}} as only used internally.
To use it, similar to the endpoint DSL, you need to include the following
dependency:
{code}
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-componentdsl</artifactId>
<version>x.x.x</version>
</dependency>
{code}
I hope this gives you a good background to work with it, also, I advice you to
spend time to play around with it in order to grasp it. If you have any
questions, please don't hesitate to ask! :).
> documentation - Add page about endpoint-dsl and component-dsl to user guide
> ---------------------------------------------------------------------------
>
> Key: CAMEL-14634
> URL: https://issues.apache.org/jira/browse/CAMEL-14634
> Project: Camel
> Issue Type: Improvement
> Components: documentation, website
> Reporter: Claus Ibsen
> Priority: Major
> Labels: help-wanted
> Fix For: 3.3.0
>
>
> We need to document the cool new features of endpoint-dsl and component-dsl
> better. We should have a page for each of them, and added to the user guide
> [https://camel.apache.org/manual/latest/]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)