JCR Component

The jcr: component allows you to add nodes to a JCR (JSR-170) compliant content repository (e.g. Apache Jackrabbit ).

URI format

jcr://user:password@repository/path/to/node

Usage

The repository element of the URI is used to look up the JCR Repository object in the Camel context registry.

If a message is sent to a producer endpoint created by this component:

  • a new node is created in the content repository
  • all the message properties of the in message will be transformed to JCR Value instances and added to the new node
  • the node's UUID is returned in the out message

Message properties

All message properties are converted to node properties, except for the org.apache.camel.component.jcr.node_name (you can refer to JcrComponent.NODE_NAME in your code), which is used to determine the node name.

Example

The snippet below will create a node named node under the /home/test node in the content repository. One additional attribute will be added to the node as well: my.contents.property will contain the body of the message being sent.

from("direct:a").setProperty(JcrComponent.NODE_NAME, constant("node"))
    .setProperty("my.contents.property", body()).to("jcr://user:pass@repository/home/test");

See Also

Graphic Design By Hiram