You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/05/29 11:58:23 UTC
[camel] branch master updated: [CAMEL-13564] Make sure we can
disable tracing and debugging
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new d01bb31 [CAMEL-13564] Make sure we can disable tracing and debugging
d01bb31 is described below
commit d01bb31a3447619122e5de1d561b9d22e499ec20
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed May 29 13:39:15 2019 +0200
[CAMEL-13564] Make sure we can disable tracing and debugging
---
.../src/main/java/org/apache/camel/Channel.java | 7 ------
.../org/apache/camel/RuntimeConfiguration.java | 16 +++++++++++++-
.../camel/impl/engine/AbstractCamelContext.java | 15 ++++++++++---
.../camel/impl/engine/DefaultRouteContext.java | 18 ++++++++++++++--
.../camel/processor/channel/DefaultChannel.java | 25 +++++++++++++++-------
.../java/org/apache/camel/impl/DefaultModel.java | 4 ++++
6 files changed, 64 insertions(+), 21 deletions(-)
diff --git a/core/camel-api/src/main/java/org/apache/camel/Channel.java b/core/camel-api/src/main/java/org/apache/camel/Channel.java
index 0a73529..8fcdbbe 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Channel.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Channel.java
@@ -43,13 +43,6 @@ public interface Channel extends AsyncProcessor, Navigate<Processor> {
Processor getOutput();
/**
- * Sets the wrapped output that at runtime should be delegated to.
- *
- * @param output the output to route the {@link Exchange} to
- */
- void setOutput(Processor output);
-
- /**
* Gets the next {@link Processor} to route to (not wrapped)
*
* @return the next processor
diff --git a/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java b/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
index 96d9c45..413a733 100644
--- a/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
+++ b/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
@@ -37,7 +37,7 @@ public interface RuntimeConfiguration {
Boolean isStreamCaching();
/**
- * Sets whether tracing is enabled or not (default is disabled).
+ * Sets whether tracing is enabled or not (default is enabled).
*
* @param tracing whether to enable tracing.
*/
@@ -51,6 +51,20 @@ public interface RuntimeConfiguration {
Boolean isTracing();
/**
+ * Sets whether debugging is enabled or not (default is enabled).
+ *
+ * @param debugging whether to enable debugging.
+ */
+ void setDebugging(Boolean debugging);
+
+ /**
+ * Returns whether debugging enabled
+ *
+ * @return <tt>true</tt> if tracing is enabled
+ */
+ Boolean isDebugging();
+
+ /**
* Sets whether message history is enabled or not (default is enabled).
*
* @param messageHistory whether message history is enabled
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index f9fa38d..dd71ffd 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -193,7 +193,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
private final ThreadLocal<Boolean> isSetupRoutes = new ThreadLocal<>();
private Initialization initialization = Initialization.Default;
private Boolean autoStartup = Boolean.TRUE;
- private Boolean trace = Boolean.FALSE;
+ private Boolean trace = Boolean.TRUE;
+ private Boolean debug = Boolean.TRUE;
private Boolean messageHistory = Boolean.TRUE;
private Boolean logMask = Boolean.FALSE;
private Boolean logExhaustedMessageBody = Boolean.FALSE;
@@ -1832,14 +1833,22 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
return trace;
}
- public Boolean isMessageHistory() {
- return messageHistory;
+ public void setDebugging(Boolean debug) {
+ this.debug = debug;
+ }
+
+ public Boolean isDebugging() {
+ return debug;
}
public void setMessageHistory(Boolean messageHistory) {
this.messageHistory = messageHistory;
}
+ public Boolean isMessageHistory() {
+ return messageHistory;
+ }
+
public void setLogMask(Boolean logMask) {
this.logMask = logMask;
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteContext.java
index 74aea37..c42d7cf 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteContext.java
@@ -48,8 +48,8 @@ import org.apache.camel.support.CamelContextHelper;
* The context used to activate new routing rules
*/
public class DefaultRouteContext implements RouteContext {
- private final NamedNode route;
- private final String routeId;
+ private NamedNode route;
+ private String routeId;
private Route runtimeRoute;
private Endpoint endpoint;
private final List<Processor> eventDrivenProcessors = new ArrayList<>();
@@ -58,6 +58,7 @@ public class DefaultRouteContext implements RouteContext {
private ManagementInterceptStrategy managementInterceptStrategy;
private boolean routeAdded;
private Boolean trace;
+ private Boolean debug;
private Boolean messageHistory;
private Boolean logMask;
private Boolean logExhaustedMessageBody;
@@ -268,6 +269,19 @@ public class DefaultRouteContext implements RouteContext {
}
}
+ public void setDebugging(Boolean debugging) {
+ this.debug = debugging;
+ }
+
+ public Boolean isDebugging() {
+ if (debug != null) {
+ return debug;
+ } else {
+ // fallback to the option from camel context
+ return getCamelContext().isDebugging();
+ }
+ }
+
public void setMessageHistory(Boolean messageHistory) {
this.messageHistory = messageHistory;
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
index d519a9b..bf5036e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
@@ -33,6 +33,7 @@ import org.apache.camel.processor.WrapProcessor;
import org.apache.camel.processor.errorhandler.RedeliveryErrorHandler;
import org.apache.camel.processor.interceptor.BacklogDebugger;
import org.apache.camel.processor.interceptor.BacklogTracer;
+import org.apache.camel.spi.CamelInternalProcessorAdvice;
import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.spi.ManagementInterceptStrategy;
import org.apache.camel.spi.MessageHistoryFactory;
@@ -112,6 +113,10 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
return definition;
}
+ public void setDefinition(NamedNode definition) {
+ this.definition = definition;
+ }
+
public RouteContext getRouteContext() {
return routeContext;
}
@@ -181,16 +186,20 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
instrumentationProcessor = managed.createProcessor(targetOutputDef, nextProcessor);
}
- // then wrap the output with the backlog and tracer (backlog first,
- // as we do not want regular tracer to trace the backlog)
- BacklogTracer tracer = getOrCreateBacklogTracer();
- camelContext.setExtension(BacklogTracer.class, tracer);
- addAdvice(new BacklogTracerAdvice(tracer, targetOutputDef, route, first));
+ // then wrap the output with the tracer and debugger (debugger first,
+ // as we do not want regular tracer to trace the debugger)
+ if (routeContext.isTracing()) {
+ BacklogTracer tracer = getOrCreateBacklogTracer();
+ camelContext.setExtension(BacklogTracer.class, tracer);
+ addAdvice(new BacklogTracerAdvice(tracer, targetOutputDef, route, first));
+ }
// add debugger as well so we have both tracing and debugging out of the box
- BacklogDebugger debugger = getOrCreateBacklogDebugger();
- camelContext.addService(debugger);
- addAdvice(new BacklogDebuggerAdvice(debugger, nextProcessor, targetOutputDef));
+ if (routeContext.isDebugging()) {
+ BacklogDebugger debugger = getOrCreateBacklogDebugger();
+ camelContext.addService(debugger);
+ addAdvice(new BacklogDebuggerAdvice(debugger, nextProcessor, targetOutputDef));
+ }
if (routeContext.isMessageHistory()) {
// add message history advice
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
index a921e33..19454de 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -65,6 +65,10 @@ public class DefaultModel implements Model {
this.camelContext = camelContext;
}
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
+
public void addRouteDefinitions(InputStream is) throws Exception {
RoutesDefinition def = ModelHelper.loadRoutesDefinition(camelContext, is);
if (def != null) {