Author: davsclaus
Date: Sat Nov 27 15:12:25 2010
New Revision: 1039695
URL: http://svn.apache.org/viewvc?rev=1039695&view=rev
Log:
CAMEL-3202: Exchange now contains creation timestamp in property.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangeCreatedTimestampTest.java
- copied, changed from r1039391,
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessageTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=1039695&r1=1039694&r2=1039695&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Sat Nov
27 15:12:25 2010
@@ -86,17 +86,18 @@ public interface Exchange {
String BEAN_MULTI_PARAMETER_ARRAY = "CamelBeanMultiParameterArray";
String BINDING = "CamelBinding";
- String CHARSET_NAME = "CamelCharsetName";
- String CONTENT_ENCODING = "Content-Encoding";
- String CONTENT_TYPE = "Content-Type";
- String CORRELATION_ID = "CamelCorrelationId";
+ String CHARSET_NAME = "CamelCharsetName";
+ String CREATED_TIMESTAMP = "CamelCreatedTimestamp";
+ String CONTENT_ENCODING = "Content-Encoding";
+ String CONTENT_TYPE = "Content-Type";
+ String CORRELATION_ID = "CamelCorrelationId";
String DATASET_INDEX = "CamelDataSetIndex";
String DEFAULT_CHARSET_PROPERTY = "org.apache.camel.default.charset";
String DISABLE_HTTP_STREAM_CACHE = "CamelDisableHttpStreamCache";
- String EXCEPTION_CAUGHT = "CamelExceptionCaught";
String ERRORHANDLER_HANDLED = "CamelErrorHandlerHandled";
+ String EXCEPTION_CAUGHT = "CamelExceptionCaught";
String FAILURE_HANDLED = "CamelFailureHandled";
String FAILURE_ENDPOINT = "CamelFailureEndpoint";
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java?rev=1039695&r1=1039694&r2=1039695&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
Sat Nov 27 15:12:25 2010
@@ -17,6 +17,7 @@
package org.apache.camel.impl;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
@@ -72,6 +73,11 @@ public class DefaultUnitOfWork implement
this.originalInMessage = exchange.getIn().copy();
}
+ // mark the creation time when this Exchange was created
+ if (exchange.getProperty(Exchange.CREATED_TIMESTAMP) == null) {
+ exchange.setProperty(Exchange.CREATED_TIMESTAMP, new Date());
+ }
+
// fire event
EventHelper.notifyExchangeCreated(exchange.getContext(), exchange);
Copied:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangeCreatedTimestampTest.java
(from r1039391,
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java)
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangeCreatedTimestampTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangeCreatedTimestampTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java&r1=1039391&r2=1039695&rev=1039695&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExchangeCreatedTimestampTest.java
Sat Nov 27 15:12:25 2010
@@ -16,32 +16,28 @@
*/
package org.apache.camel.processor;
+import java.util.Date;
+
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
/**
* @version $Revision$
*/
-public class SimpleMockTest extends ContextTestSupport {
+public class ExchangeCreatedTimestampTest extends ContextTestSupport {
- public void testSimple() throws Exception {
+ public void testCreatedTimestamp() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceived("Hello World");
- template.sendBody("direct:start", "Hello World");
+ template.sendBody("seda:start", "Hello World");
assertMockEndpointsSatisfied();
- }
-
- public void testSimpleTwoMessages() throws Exception {
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedBodiesReceived("Hello World", "Bye World");
- template.sendBody("direct:start", "Hello World");
- template.sendBody("direct:start", "Bye World");
-
- assertMockEndpointsSatisfied();
+ Date created =
mock.getReceivedExchanges().get(0).getProperty(Exchange.CREATED_TIMESTAMP,
Date.class);
+ assertNotNull(created);
}
@Override
@@ -49,7 +45,9 @@ public class SimpleMockTest extends Cont
return new RouteBuilder() {
@Override
public void configure() throws Exception {
-
from("direct:start").to("log:foo").to("log:bar").to("mock:result");
+ from("seda:start").delay(500).to("direct:foo");
+
+ from("direct:foo").to("log:foo").to("mock:result");
}
};
}
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessageTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessageTest.java?rev=1039695&r1=1039694&r2=1039695&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessageTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceEventMessageTest.java
Sat Nov 27 15:12:25 2010
@@ -58,8 +58,9 @@ public class DefaultTraceEventMessageTes
assertNotNull(em.getExchangeId());
assertNotNull(em.getShortExchangeId());
assertEquals("InOut", em.getExchangePattern());
- assertTrue("{foo=123,
CamelToEndpoint=direct://start}".equals(em.getProperties())
- || "{CamelToEndpoint=direct://start,
foo=123}".equals(em.getProperties()));
+ assertTrue(em.getProperties().contains("foo=123"));
+
assertTrue(em.getProperties().contains("CamelToEndpoint=direct://start"));
+ assertTrue(em.getProperties().contains("CamelCreatedTimestamp"));
assertEquals("{bar=456}", em.getHeaders());
assertEquals("Hello World", em.getBody());
assertEquals("String", em.getBodyType());