You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/09/02 11:47:59 UTC
svn commit: r1164448 - in /camel/branches/camel-2.8.x: ./
camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java
camel-core/src/test/java/org/apache/camel/processor/MDCResetTest.java
Author: davsclaus
Date: Fri Sep 2 09:47:59 2011
New Revision: 1164448
URL: http://svn.apache.org/viewvc?rev=1164448&view=rev
Log:
Merged revisions 1151362 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
Added:
camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/MDCResetTest.java
- copied unchanged from r1151362, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MDCResetTest.java
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Sep 2 09:47:59 2011
@@ -1 +1 @@
-/camel/trunk:1150651,1151000,1151054,1152170,1152755,1153620,1153812,1153829,1154684,1155230,1156108,1156260,1156277,1156479,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159326,1159457,1159460,1159606,1159682-1159683,1159867,1160547,1160637,1161010,1161082,1161524,1162309,1162395
+/camel/trunk:1150651,1151000,1151054,1151362,1152170,1152755,1153620,1153812,1153829,1154684,1155230,1156108,1156260,1156277,1156479,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159326,1159457,1159460,1159606,1159682-1159683,1159867,1160547,1160637,1161010,1161082,1161524,1162309,1162395
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java?rev=1164448&r1=1164447&r2=1164448&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/MDCUnitOfWork.java Fri Sep 2 09:47:59 2011
@@ -36,8 +36,22 @@ public class MDCUnitOfWork extends Defau
public static final String MDC_ROUTE_ID = "routeId";
public static final String MDC_TRANSACTION_KEY = "transactionKey";
+ private final String originalBreadcrumbId;
+ private final String originalExchangeId;
+ private final String originalCorrelationId;
+ private final String originalRouteId;
+ private final String originalTransactionKey;
+
public MDCUnitOfWork(Exchange exchange) {
super(exchange);
+
+ // remember existing values
+ this.originalExchangeId = MDC.get(MDC_EXCHANGE_ID);
+ this.originalBreadcrumbId = MDC.get(MDC_BREADCRUMB_ID);
+ this.originalCorrelationId = MDC.get(MDC_CORRELATION_ID);
+ this.originalRouteId = MDC.get(MDC_ROUTE_ID);
+ this.originalTransactionKey = MDC.get(MDC_TRANSACTION_KEY);
+
// must add exchange id in constructor
MDC.put(MDC_EXCHANGE_ID, exchange.getExchangeId());
// and add optional correlation id
@@ -107,11 +121,31 @@ public class MDCUnitOfWork extends Defau
* Clears information put on the MDC by this {@link MDCUnitOfWork}
*/
public void clear() {
- MDC.remove(MDC_BREADCRUMB_ID);
- MDC.remove(MDC_EXCHANGE_ID);
- MDC.remove(MDC_CORRELATION_ID);
- MDC.remove(MDC_ROUTE_ID);
- MDC.remove(MDC_TRANSACTION_KEY);
+ if (this.originalBreadcrumbId != null) {
+ MDC.put(MDC_BREADCRUMB_ID, originalBreadcrumbId);
+ } else {
+ MDC.remove(MDC_BREADCRUMB_ID);
+ }
+ if (this.originalExchangeId != null) {
+ MDC.put(MDC_EXCHANGE_ID, originalExchangeId);
+ } else {
+ MDC.remove(MDC_EXCHANGE_ID);
+ }
+ if (this.originalCorrelationId != null) {
+ MDC.put(MDC_CORRELATION_ID, originalCorrelationId);
+ } else {
+ MDC.remove(MDC_CORRELATION_ID);
+ }
+ if (this.originalRouteId != null) {
+ MDC.put(MDC_ROUTE_ID, originalRouteId);
+ } else {
+ MDC.remove(MDC_ROUTE_ID);
+ }
+ if (this.originalTransactionKey != null) {
+ MDC.put(MDC_TRANSACTION_KEY, originalTransactionKey);
+ } else {
+ MDC.remove(MDC_TRANSACTION_KEY);
+ }
}
@Override