Custom Processors If your integration requires specific filtering and/or formatting, you can write your own processor by implementing the org.apache.camel.Processor interface. For example, we can implement a custom processor used for event forwarding: import org.apache.camel.Exchange; import org.apache.camel.Processor; public class MyEventProcessor implements Processor { @Override public void process(final Exchange exchange) throws Exception { final Event event = exchange.getIn().getBody(Event.class); // Filtering if (!shouldForward(event)) { exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE); return; } // Transforming MyDTO eventAsDTO = toDTO(event); exchange.getIn().setBody(eventAsDTO, MyDTO.class); } } To use the processor, package it as a bundle, and expose it to the OSGi service registry using: <bean id="myEventProcessor" class="org.opennms.integrations.evilcorp.MyEventProcessor" /> <service id="myEventProcessorService" ref="myEventProcessor" interface="org.apache.camel.Processor"> <service-properties> <entry key="name" value="evilcorp-event-forwarder-processor"/> </service-properties> </service> Once your bundle is in the Karaf container, you can update the loaded bundle and refer to your processor with: config:edit org.opennms.features.amqp.eventforwarder config:property-set processorName evilcorp-event-forwarder-processor config:update If the event forwarder feature was already started, it should automatically restart and start using the new processor. Otherwise, you can start the feature with: feature:install opennms-amqp-event-forwarder Alarm Northbounder InMemory Ticketer