Repository: camel Updated Branches: refs/heads/master 74b149850 -> 2b6feb622
CAMEL-9164: Fixed WARN logging during stop camel in blueprint due error handler mbean not there. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ba77a996 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ba77a996 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ba77a996 Branch: refs/heads/master Commit: ba77a9967546ced48dbb2ecfd38ecfa5937f9646 Parents: 74b1498 Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Sep 25 14:45:23 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Sep 25 14:45:23 2015 +0200 ---------------------------------------------------------------------- .../apache/camel/builder/ErrorHandlerBuilderRef.java | 2 +- .../management/DefaultManagementNamingStrategy.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/ba77a996/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java index 4d06b7f..769ea34 100644 --- a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java +++ b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java @@ -134,7 +134,7 @@ public class ErrorHandlerBuilderRef extends ErrorHandlerBuilderSupport { } } else { // use specific configured error handler - answer = routeContext.mandatoryLookup(ref, ErrorHandlerBuilder.class); + answer = routeContext.lookup(ref, ErrorHandlerBuilder.class); } return answer; http://git-wip-us.apache.org/repos/asf/camel/blob/ba77a996/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java index a9c8a70..07d11bd 100644 --- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java +++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java @@ -33,6 +33,7 @@ import org.apache.camel.Producer; import org.apache.camel.Route; import org.apache.camel.Service; import org.apache.camel.StaticService; +import org.apache.camel.builder.DefaultErrorHandlerBuilder; import org.apache.camel.builder.ErrorHandlerBuilderRef; import org.apache.camel.spi.DataFormat; import org.apache.camel.spi.EventNotifier; @@ -165,7 +166,10 @@ public class DefaultManagementNamingStrategy implements ManagementNamingStrategy // it has not then its an indirection and we should do some work to lookup the real builder ref = builderRef.getRef(); - builder = ErrorHandlerBuilderRef.lookupErrorHandlerBuilder(routeContext, builderRef.getRef()); + ErrorHandlerFactory refBuilder = ErrorHandlerBuilderRef.lookupErrorHandlerBuilder(routeContext, builderRef.getRef()); + if (refBuilder != null) { + builder = refBuilder; + } // must do a 2nd lookup in case this is also a reference // (this happens with spring DSL using errorHandlerRef on <route> as it gets a bit @@ -174,8 +178,11 @@ public class DefaultManagementNamingStrategy implements ManagementNamingStrategy builderRef = (ErrorHandlerBuilderRef) builder; // does it refer to a non default error handler then do a 2nd lookup if (!builderRef.getRef().equals(ErrorHandlerBuilderRef.DEFAULT_ERROR_HANDLER_BUILDER)) { - builder = ErrorHandlerBuilderRef.lookupErrorHandlerBuilder(routeContext, builderRef.getRef()); - ref = builderRef.getRef(); + refBuilder = ErrorHandlerBuilderRef.lookupErrorHandlerBuilder(routeContext, builderRef.getRef()); + if (refBuilder != null) { + ref = builderRef.getRef(); + builder = refBuilder; + } } } }