Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The properties field will list the RDF properties that changed with that event. NODE_REMOVED events contain no properties. The fcrepo component for Camel is configured to recognize these headers and act appropriately.

Examples

LDPath Transformations

If an fcr:transform program has been installed as "mytransform", you can generate a JSON representation of an object and send it to a highly available caching layer, such as Riak:

 

Code Block
languagescala
"activemq:topic:fedora" ==> {
    to("fcrepo:localhost:8080/fedora/rest")
    filter(xpathFilter) {
        to("fcrepo:localhost:8080/fedora/rest?accept=application/json&transform=mytransform")
		setHeader(Exchange.HTTP_METHOD, constant("PUT")
		process((exchange: Exchange) => {
			exchange.getIn.setHeader(
				Exchange.HTTP_PATH,
				"/buckets/fcrepo/keys/" + URLEncoder.encode(exchange.getIn.getHeader("TestHeader", classOf[String]))
			)
		})
        to("http4:localhost:8098")
	}
}

Supporting Queues

The default configuration is fine for locally-deployed listeners, but it can be problematic in a distributed context. For instance, if the listener is restarted while a message is sent to the topic, that message may be missed. Furthermore, if there is a networking hiccup between fedora's local broker and the remote listener, that too can result in lost messages. Instead, in this case, a queue may be better suited.

...