JCR Component

The jcr component allows you to add nodes to a JCR (JSR-170) compliant content repository (for example, 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 JCR producer endpoint:

  • A new node is created in the content repository,
  • All the message properties of the IN message are 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 CamelJcrNodeName property (you can refer to JcrConstants.NODE_NAME in your code), which is used to determine the node name.

Example

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

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

See Also

Graphic Design By Hiram