Red Hat Training

A Red Hat training course is available for Red Hat Fuse

1.3. Deploying Custom Camel Components on JBoss EAP

In addition to the standard Camel on EAP components, you can also add your own custom components to be deployed on JBoss EAP. This section describes how to add Camel components on the JBoss EAP container.

1.3.1. Adding module.xml definition

A module.xml descriptor file defines the class loading behavior of the component.
You can create an additional directory and add the module.xml file and any jar dependencies into it. For example, modules/system/layers/fuse/org/apache/camel/component/ftp/main directory.
Here is an example for the camel-ftp component:
<module xmlns="urn:jboss:module:1.1" name="org.apache.camel.component.ftp">
  <resources>
    <resource-root path="camel-ftp-2.14.0.jar" />
  </resources>
  <dependencies>
    <module name="com.jcraft.jsch" />
    <module name="javax.xml.bind.api" />
    <module name="org.apache.camel.core" />
    <module name="org.apache.commons.net" />
  </dependencies>
</module>

1.3.2. Adding a Reference

To make the new module visible to Camel deployments, add a reference to it within the modules/system/layers/fuse/org/apache/camel/component/main/module.xml file.
<module xmlns="urn:jboss:module:1.3" name="org.apache.camel.component">
  <dependencies>
    ...
    <module name="org.apache.camel.component.ftp" export="true" services="export"/>
  </dependencies>

</module>