Skip to content

Petals Service Engine to Embbed Camel in Petals, and Camel Component to contact Petals from Camel

License

Notifications You must be signed in to change notification settings

petalslink/petals-se-camel

Repository files navigation

Petals and Apache Camel

Maven Central Jenkins Jenkins Integration Jenkins tests SonarQube Coverage SonarQube Overall Coverage

Specifications and User Documentation

See the Petals Wiki page on the component.

Continuous Integration

Issues Reporting

Architecture

There is two main projects in this repository.

camel-petals

It implements a Camel Component that can be used in Camel in order to consumes (with from("petals:...") and produces (with to("petals:...") messages from and to Petals.

It needs to be provided with an implementation on how to communicate with Petals. Currently there is only one implementation, that is petals-se-camel (see next section).

In the future, it could be possible to use Camel from outside Petals and be able to contact and existing Petals Container.

petals-se-camel

It is a Petals Service Engine that embeds Apache Camel inside Petals. It obviously uses (and implements parts of) camel-petals for the integration into Camel.

Examples

There is currently three examples.

su-camel-hello-proxy-java

A simple proxy that forwards a request to another service. It is written in Java by implementing a Camel RouteBuilder.

su-camel-hello-proxy-xml

A simple proxy that forwards a request to another service. It is written in XML using the Camel Spring XML schema (but without using Spring itself).

su-camel-datamapping

Again a proxy (in Java) but more advanced, it exploits the following features of Camel :

  • Marshmalling and unmarshalling using JAXB.
  • Mapping between two different service descriptions using a Java bean for the transformation.
  • Logging inside the routes.
  • Streamcaching (Petals uses stream to store exchange content).