Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

URI format

Code Block
ref:someName[?options]

Where someName is the name of an endpoint in the Registry (usually, but not always, the Spring registry). If you are using the Spring registry, someName would be the bean ID of an endpoint in the Spring registry.

Runtime lookup

This component can be any string which is used to lookup the endpoint in the Registry.used when you need dynamic discovery of endpoints in the Registry where you can compute the URI at runtime. Then you can look up the endpoint using the following code:

Code Block
java
java

   // lookup the endpoint
   String myEndpointRef = "bigspenderOrder";
   Endpoint endpoint = context.getEndpoint("ref:" + myEndpointRef);
   
   Producer producer = endpoint.createProducer();
   Exchange exchange = producer.createExchange();
   exchange.getIn().setBody(payloadToSend);
   // send the exchange
   producer.process(exchange);
   ...

And you could have a list of endpoints defined in the Registry such as:

Code Block
xml
xml

  <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
      <endpoint id="normalOrder" uri="activemq:order.slow"/>
      <endpoint id="bigspenderOrder" uri="activemq:order.high"/>
      ...
  </camelContext>

Sample

In the sample below we use the ref: in the URI to reference the endpoint with the spring ID, endpoint2:

Wiki Markup
{snippet:id=example|lang=xml|url=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/endpointReference.xml}

You could, of course, have used the ref attribute instead:

Code Block
xml
xml

      <to ref="endpoint2"/>

Which is the more common way to write it.

Include Page
Endpoint See Also
Include Page
CAMEL:Endpoint See AlsoCAMEL:Endpoint See Also