Author: davsclaus
Date: Fri Jul 31 06:04:43 2009
New Revision: 799523
URL: http://svn.apache.org/viewvc?rev=799523&view=rev
Log:
CAMEL-1864: Fixed issue with lookup of endpoint as it should not create a new
one but just check whether a intercetped one existed.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Fri
Jul 31 06:04:43 2009
@@ -147,6 +147,14 @@
Map<String, Endpoint> getEndpointMap();
/**
+ * Is the given endpoint already registered?
+ *
+ * @param uri the URI of the endpoint
+ * @return the registered endpoint or <tt>null</tt> if not registered
+ */
+ Endpoint hasEndpoint(String uri);
+
+ /**
* Returns the collection of all registered endpoints for a uri or an
empty collection.
* For a singleton endpoint the collection will contain exactly one
element.
*
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
Fri Jul 31 06:04:43 2009
@@ -275,6 +275,18 @@
}
}
+ public Endpoint hasEndpoint(String uri) {
+ // normalize uri so we can do endpoint hits with minor mistakes and
parameters is not in the same order
+ try {
+ uri = URISupport.normalizeUri(uri);
+ } catch (Exception e) {
+ throw new ResolveEndpointFailedException(uri, e);
+ }
+ synchronized (endpoints) {
+ return endpoints.get(uri);
+ }
+ }
+
public Collection<Endpoint> getEndpoints(String uri) {
Collection<Endpoint> answer = new ArrayList<Endpoint>();
Collection<Endpoint> coll;
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
Fri Jul 31 06:04:43 2009
@@ -65,7 +65,7 @@
// init this before we can use the destination
if (!init) {
init = true;
- Endpoint lookup =
exchange.getContext().getEndpoint(destination.getEndpointUri());
+ Endpoint lookup =
exchange.getContext().hasEndpoint(destination.getEndpointKey());
if (lookup instanceof InterceptSendToEndpoint) {
if (LOG.isDebugEnabled()) {
LOG.debug("SendTo is intercepted using a
interceptSendToEndpoint: " + lookup.getEndpointUri());