You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by he...@apache.org on 2014/01/27 17:10:56 UTC
git commit: Added extra delayer test - using Bean binding in delay
calculation.
Updated Branches:
refs/heads/master 0c12c4531 -> 3bed3b3b9
Added extra delayer test - using Bean binding in delay calculation.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3bed3b3b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3bed3b3b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3bed3b3b
Branch: refs/heads/master
Commit: 3bed3b3b9ee11ae900d08f21a60b5125a09c1803
Parents: 0c12c45
Author: Henryk Konsek <he...@gmail.com>
Authored: Mon Jan 27 17:10:37 2014 +0100
Committer: Henryk Konsek <he...@gmail.com>
Committed: Mon Jan 27 17:10:37 2014 +0100
----------------------------------------------------------------------
.../org/apache/camel/processor/DelayerTest.java | 15 ++++++++++
.../processor/ExchangeAwareDelayCalcBean.java | 29 ++++++++++++++++++++
2 files changed, 44 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3bed3b3b/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java b/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
index a4f1d14..b846001 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
@@ -20,6 +20,8 @@ import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
+import static org.apache.camel.processor.ExchangeAwareDelayCalcBean.BEAN_DELAYER_HEADER;
+
/**
* @version
*/
@@ -27,6 +29,8 @@ public class DelayerTest extends ContextTestSupport {
private MyDelayCalcBean bean = new MyDelayCalcBean();
+ private ExchangeAwareDelayCalcBean exchangeAwareBean = new ExchangeAwareDelayCalcBean();
+
public void testSendingMessageGetsDelayed() throws Exception {
MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
@@ -61,6 +65,15 @@ public class DelayerTest extends ContextTestSupport {
resultEndpoint.assertIsSatisfied();
}
+ public void testExchangeAwareDelayBean() throws Exception {
+ MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+ resultEndpoint.expectedMessageCount(1);
+ // should at least take 1 sec to complete
+ resultEndpoint.setMinimumResultWaitTime(900);
+ template.sendBodyAndHeader("seda:d", "<hello>world!</hello>", BEAN_DELAYER_HEADER, 1000);
+ resultEndpoint.assertIsSatisfied();
+ }
+
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
@@ -75,6 +88,8 @@ public class DelayerTest extends ContextTestSupport {
// START SNIPPET: ex3
from("seda:c").delay().method(bean, "delayMe").to("mock:result");
// END SNIPPET: ex3
+
+ from("seda:d").delay().method(exchangeAwareBean, "delayMe").to("mock:result");
}
};
}
http://git-wip-us.apache.org/repos/asf/camel/blob/3bed3b3b/camel-core/src/test/java/org/apache/camel/processor/ExchangeAwareDelayCalcBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/ExchangeAwareDelayCalcBean.java b/camel-core/src/test/java/org/apache/camel/processor/ExchangeAwareDelayCalcBean.java
new file mode 100644
index 0000000..59fd498
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/processor/ExchangeAwareDelayCalcBean.java
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.processor;
+
+import org.apache.camel.Exchange;
+
+public class ExchangeAwareDelayCalcBean {
+
+ static final String BEAN_DELAYER_HEADER = "BEAN_DELAYER_HEADER";
+
+ public long delayMe(Exchange exchange) {
+ return exchange.getIn().getHeader("BEAN_DELAYER_HEADER", Long.class);
+ }
+
+}
\ No newline at end of file