Author: davsclaus
Date: Thu Aug 6 06:05:09 2009
New Revision: 801513
URL: http://svn.apache.org/viewvc?rev=801513&view=rev
Log:
Puzzled had to revert the optimization
Modified:
camel/sandbox/tuning-experiment/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
Modified:
camel/sandbox/tuning-experiment/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL:
http://svn.apache.org/viewvc/camel/sandbox/tuning-experiment/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?rev=801513&r1=801512&r2=801513&view=diff
==============================================================================
---
camel/sandbox/tuning-experiment/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
(original)
+++
camel/sandbox/tuning-experiment/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
Thu Aug 6 06:05:09 2009
@@ -84,9 +84,7 @@
public Exchange copy() {
DefaultExchange exchange = new DefaultExchange(this);
- if (exchange.hasProperties()) {
- exchange.setProperties(getProperties());
- }
+ exchange.setProperties(safeCopy(getProperties()));
safeCopy(exchange.getIn(), getIn());
if (hasOut()) {
safeCopy(exchange.getOut(), getOut());
@@ -101,6 +99,13 @@
}
}
+ private static Map<String, Object> safeCopy(Map<String, Object>
properties) {
+ if (properties == null) {
+ return null;
+ }
+ return new ConcurrentHashMap<String, Object>(properties);
+ }
+
public CamelContext getContext() {
return context;
}
@@ -165,7 +170,9 @@
public void setIn(Message in) {
this.in = in;
- configureMessage(in);
+ if (in != null) {
+ configureMessage(in);
+ }
}
public Message getOut() {
@@ -184,7 +191,9 @@
public void setOut(Message out) {
this.out = out;
- configureMessage(out);
+ if (out != null) {
+ configureMessage(out);
+ }
}
public Exception getException() {