title: Camel in OSGi Container: Apply InterceptStrategy to all camel contexts
body: <p>I have several bundles (A, B, and C) deployed to an OSGi container, each containing a <code>CamelContext</code> and some routes. I have another bundle (M) with a <code>CamelContext</code> with a route (for collecting monitoring data) and a <code>InterceptStrategy</code> bean. I would like the <code>InterceptStrategy</code> bean from M to automatically apply to all of the other <code>CamelContext</code>s in the container (i.e., those in A, B, and C), without having to modify the other bundles.</p>
  
  <p>Ultimately, the goal is to wiretap data from each <code>CamelContext</code> into the route in M, without having to make any changes to A, B, or C to explicitly route the <code>Exchange</code>. Is this approach or a similar approach doable?</p>
  
  <p>All of the <code>CamelContext</code>s are configured using Spring XML.</p>
  
  <hr>
  
  <p><strong>Update:</strong> Additional Context</p>
  
  <p>Bundles A, B, and C contain the core product responsible for processing data. Bundle M contains an optional monitoring tool, designed to measure certain parameters of the data flowing through A, B, and C. Currently, adding on the optional tool requires changing the routes in A, B, and C to add additional <code>Processor</code>s to enrich the <code>Exchange</code> with the monitoring data and to read the monitoring data prior to <code>&lt;to /&gt;</code> endpoints.</p>
  
  <p>The goal is to be able to drop in Bundle M into a already verified-as-working system with A, B, and C; and have it automatically apply to the existing routes without having to modify the configuration for the existing-and-working bundles. It <em>is</em> acceptable to make modifications to A, B, and C to support this, as long as the changes do not cause A, B, and C to rely on M to run (i.e., ABC must still run without M).</p>
  
  <p>If there is a better means to do this than using interceptors, I am open to that. The primary goals are:</p>
  
  <ol>
  <li>Keep A, B, and C decoupled from M (particularly during development)</li>
  <li>Ensure integrating M with A, B, and C is as easy as possible</li>
  <li>Allow M to be integrated without having to manually change A, B, or C</li>
  </ol>