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 2012/11/24 20:01:29 UTC
svn commit: r1413244 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/model/
components/camel-blueprint/src/main/java/org/apache/camel/blueprint/
components/camel-core-xml/src/main/java/org/apache/camel/core/xml/
components/camel-spring/ co...
Author: davsclaus
Date: Sat Nov 24 19:01:24 2012
New Revision: 1413244
URL: http://svn.apache.org/viewvc?rev=1413244&view=rev
Log:
CAMEL-5801: Make it easy to configure thread name pattern in XML DSL
Added:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java (with props)
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml
- copied, changed from r1413226, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/enricher.xml
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ThreadNamePatternTest.java
- copied, changed from r1413243, camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/FilterTest.java
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/threadNamePatternTest.xml
- copied, changed from r1413243, camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
camel/trunk/components/camel-spring/ (props changed)
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java?rev=1413244&r1=1413243&r2=1413244&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java Sat Nov 24 19:01:24 2012
@@ -20,11 +20,8 @@ import javax.xml.bind.annotation.XmlAcce
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.camel.NamedNode;
import org.apache.camel.spi.NodeIdFactory;
@@ -54,8 +51,6 @@ public abstract class OptionalIdentified
* Sets the value of the id property.
*/
@XmlAttribute
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
public void setId(String value) {
this.id = value;
customId = true;
Modified: camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java?rev=1413244&r1=1413243&r2=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java Sat Nov 24 19:01:24 2012
@@ -96,6 +96,8 @@ public class CamelContextFactoryBean ext
@XmlAttribute(required = false)
private String managementNamePattern;
@XmlAttribute(required = false)
+ private String threadNamePattern;
+ @XmlAttribute(required = false)
private Boolean useBlueprintPropertyResolver;
@XmlAttribute(required = false)
private ShutdownRoute shutdownRoute;
@@ -331,6 +333,14 @@ public class CamelContextFactoryBean ext
this.managementNamePattern = managementNamePattern;
}
+ public String getThreadNamePattern() {
+ return threadNamePattern;
+ }
+
+ public void setThreadNamePattern(String threadNamePattern) {
+ this.threadNamePattern = threadNamePattern;
+ }
+
@Deprecated
public Boolean getLazyLoadTypeConverters() {
// use false by default
Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java?rev=1413244&r1=1413243&r2=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java Sat Nov 24 19:01:24 2012
@@ -476,6 +476,8 @@ public abstract class AbstractCamelConte
public abstract String getManagementNamePattern();
+ public abstract String getThreadNamePattern();
+
/**
* @deprecated this option is no longer supported, will be removed in a future Camel release.
*/
@@ -541,6 +543,9 @@ public abstract class AbstractCamelConte
if (getManagementNamePattern() != null) {
ctx.getManagementNameStrategy().setNamePattern(getManagementNamePattern());
}
+ if (getThreadNamePattern() != null) {
+ ctx.getExecutorServiceManager().setThreadNamePattern(getThreadNamePattern());
+ }
if (getShutdownRoute() != null) {
ctx.setShutdownRoute(getShutdownRoute());
}
Propchange: camel/trunk/components/camel-spring/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sat Nov 24 19:01:24 2012
@@ -14,3 +14,4 @@ eclipse-classes
*.ipr
*.iml
*.iws
+*.idea
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=1413244&r1=1413243&r2=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Sat Nov 24 19:01:24 2012
@@ -104,6 +104,8 @@ public class CamelContextFactoryBean ext
@XmlAttribute(required = false)
private String managementNamePattern;
@XmlAttribute(required = false)
+ private String threadNamePattern;
+ @XmlAttribute(required = false)
private ShutdownRoute shutdownRoute;
@XmlAttribute(required = false)
private ShutdownRunningTask shutdownRunningTask;
@@ -516,6 +518,14 @@ public class CamelContextFactoryBean ext
this.managementNamePattern = managementNamePattern;
}
+ public String getThreadNamePattern() {
+ return threadNamePattern;
+ }
+
+ public void setThreadNamePattern(String threadNamePattern) {
+ this.threadNamePattern = threadNamePattern;
+ }
+
@Deprecated
public Boolean getLazyLoadTypeConverters() {
return lazyLoadTypeConverters;
Added: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java?rev=1413244&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java (added)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java Sat Nov 24 19:01:24 2012
@@ -0,0 +1,42 @@
+/**
+ * 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.spring.processor;
+
+import org.apache.camel.spring.SpringTestSupport;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ *
+ */
+public class SpringThreadNamePatternTest extends SpringTestSupport {
+
+ @Override
+ protected AbstractXmlApplicationContext createApplicationContext() {
+ return new ClassPathXmlApplicationContext("org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml");
+ }
+
+ public void testThreadNamePattern() throws Exception {
+ assertEquals("Riding the thread #counter#", context.getExecutorServiceManager().getThreadNamePattern());
+
+ getMockEndpoint("mock:result").expectedMessageCount(1);
+
+ template.sendBody("seda:start", "Hello World");
+
+ assertMockEndpointsSatisfied();
+ }
+}
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringThreadNamePatternTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml (from r1413226, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/enricher.xml)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/enricher.xml&r1=1413226&r2=1413244&rev=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/enricher.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringThreadNamePatternTest.xml Sat Nov 24 19:01:24 2012
@@ -23,21 +23,14 @@
">
<!-- START SNIPPET: example -->
- <camelContext xmlns="http://camel.apache.org/schema/spring">
+ <!-- we can use the threadNamePattern to easily configure the default thread name pattern used by Camel -->
+ <camelContext xmlns="http://camel.apache.org/schema/spring" threadNamePattern="Riding the thread #counter#">
<route>
- <from uri="direct:start"/>
- <enrich uri="direct:resource" strategyRef="sampleAggregator"/>
+ <from uri="seda:start"/>
+ <to uri="log:result"/>
<to uri="mock:result"/>
</route>
- <route>
- <from uri="direct:resource"/>
- <transform>
- <constant>blah</constant>
- </transform>
- </route>
</camelContext>
-
- <bean id="sampleAggregator" class="org.apache.camel.processor.enricher.SampleAggregator" />
<!-- END SNIPPET: example -->
</beans>
Copied: camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ThreadNamePatternTest.java (from r1413243, camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/FilterTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ThreadNamePatternTest.java?p2=camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ThreadNamePatternTest.java&p1=camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/FilterTest.java&r1=1413243&r2=1413244&rev=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/FilterTest.java (original)
+++ camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ThreadNamePatternTest.java Sat Nov 24 19:01:24 2012
@@ -16,48 +16,23 @@
*/
package org.apache.camel.test.blueprint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.mock.MockEndpoint;
import org.junit.Test;
-/**
- * Tests filtering using Camel Blueprint Test
- *
- */
-// START SNIPPET: example
-public class FilterTest extends CamelBlueprintTestSupport {
-
- @EndpointInject(uri = "mock:result")
- protected MockEndpoint resultEndpoint;
-
- @Produce(uri = "direct:start")
- protected ProducerTemplate template;
+public class ThreadNamePatternTest extends CamelBlueprintTestSupport {
@Override
protected String getBlueprintDescriptor() {
- return "org/apache/camel/test/blueprint/filterTest.xml";
+ return "org/apache/camel/test/blueprint/threadNamePatternTest.xml";
}
@Test
- public void testSendMatchingMessage() throws Exception {
- String expectedBody = "<matched/>";
-
- resultEndpoint.expectedBodiesReceived(expectedBody);
+ public void testThreadNamePattern() throws Exception {
+ assertEquals("Riding the thread #counter#", context.getExecutorServiceManager().getThreadNamePattern());
- template.sendBodyAndHeader(expectedBody, "foo", "bar");
-
- resultEndpoint.assertIsSatisfied();
- }
-
- @Test
- public void testSendNotMatchingMessage() throws Exception {
- resultEndpoint.expectedMessageCount(0);
+ getMockEndpoint("mock:result").expectedMessageCount(1);
- template.sendBodyAndHeader("<notMatched/>", "foo", "notMatchedHeaderValue");
+ template.sendBody("seda:start", "Hello World");
- resultEndpoint.assertIsSatisfied();
+ assertMockEndpointsSatisfied();
}
}
-// END SNIPPET: example
Copied: camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/threadNamePatternTest.xml (from r1413243, camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/threadNamePatternTest.xml?p2=camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/threadNamePatternTest.xml&p1=camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml&r1=1413243&r2=1413244&rev=1413244&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml (original)
+++ camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/threadNamePatternTest.xml Sat Nov 24 19:01:24 2012
@@ -15,23 +15,17 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- START SNIPPET: example -->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
- <camelContext id="filterCamel" xmlns="http://camel.apache.org/schema/blueprint">
-
+ <camelContext xmlns="http://camel.apache.org/schema/blueprint" threadNamePattern="Riding the thread #counter#">
<route>
- <from uri="direct:start"/>
- <filter>
- <simple>${header.foo} == 'bar'</simple>
- <to uri="mock:result"/>
- </filter>
+ <from uri="seda:start"/>
+ <to uri="log:result"/>
+ <to uri="mock:result"/>
</route>
-
</camelContext>
</blueprint>
-<!-- END SNIPPET: example -->