Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: CAMEL-656

...

Where someName can be any string which is used to lookup the endpoint in the Registry.

Runtime lookup

This component can be used when you need dynamic discovery of endpoints in the Registry where you can compute the URI at runtime. Then you can lookup the endpoint using:

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"/>

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=activemq/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"/>

That is more commonly used.

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