You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/12/24 03:51:58 UTC
svn commit: r893688 - in /camel/trunk:
camel-core/src/test/java/org/apache/camel/component/file/ components/
components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/
components/camel-spring/src/main/java/org/apache/camel/spring/ com...
Author: ningjiang
Date: Thu Dec 24 02:51:57 2009
New Revision: 893688
URL: http://svn.apache.org/viewvc?rev=893688&view=rev
Log:
CAMEL-2315,CAMEL-2316 supporting Spring 3.0.0 in Camel trunk
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/Requestor.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelEndpointFactoryBean.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/ConsumerTemplateAutoRegisterTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/DualCamelContextManagedTest.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/dualCamelContextManagedTest.xml
camel/trunk/components/pom.xml
camel/trunk/examples/pom.xml
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java Thu Dec 24 02:51:57 2009
@@ -37,6 +37,7 @@
public void testPreMove() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedBodiesReceived("Hello World");
mock.expectedMessageCount(1);
template.sendBodyAndHeader("file://target/premove", "Hello World", Exchange.FILE_NAME, "hello.txt");
@@ -52,7 +53,7 @@
// give time for consumer to process this file before we drop the next file
Thread.sleep(2000);
template.sendBodyAndHeader("file://target/premove", "Hello Again World", Exchange.FILE_NAME, "hello.txt");
-
+ // give time for consumer to process this file before we drop the next file
assertMockEndpointsSatisfied();
}
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/Requestor.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/Requestor.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/Requestor.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/requestor/Requestor.java Thu Dec 24 02:51:57 2009
@@ -203,6 +203,8 @@
protected void doStart() throws Exception {
AbstractMessageListenerContainer container = getListenerContainer();
container.afterPropertiesSet();
+ // Need to call the container start in Spring 3.x
+ container.start();
}
@Override
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelEndpointFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelEndpointFactoryBean.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelEndpointFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelEndpointFactoryBean.java Thu Dec 24 02:51:57 2009
@@ -26,6 +26,7 @@
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.NoSuchEndpointException;
+import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.model.IdentifiedType;
import org.springframework.beans.factory.FactoryBean;
@@ -39,12 +40,15 @@
@XmlRootElement(name = "endpoint")
@XmlAccessorType(XmlAccessType.FIELD)
public class CamelEndpointFactoryBean extends IdentifiedType implements FactoryBean, CamelContextAware {
+ @XmlAttribute
+ private Boolean singleton = Boolean.FALSE;
@XmlAttribute
private String uri;
@XmlTransient
private CamelContext context;
@XmlTransient
private Endpoint endpoint;
+
public Object getObject() throws Exception {
if (endpoint == null) {
@@ -56,17 +60,19 @@
public Class getObjectType() {
return Endpoint.class;
}
-
+
public boolean isSingleton() {
- if (endpoint == null) {
- this.endpoint = createEndpoint();
- }
- return endpoint.isSingleton();
+ return singleton;
+ }
+
+ public void setSingleton(boolean singleton) {
+ this.singleton = singleton;
}
public CamelContext getCamelContext() {
return context;
}
+
/**
* Sets the context to use to resolve endpoints
@@ -93,6 +99,7 @@
protected Endpoint createEndpoint() {
notNull(context, "context");
notNull(uri, "uri");
+
Endpoint endpoint = context.getEndpoint(uri);
if (endpoint == null) {
throw new NoSuchEndpointException(uri);
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Thu Dec 24 02:51:57 2009
@@ -16,6 +16,7 @@
*/
package org.apache.camel.spring.handler;
+import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -418,7 +419,14 @@
if (ObjectHelper.isNotEmpty(id)) {
BeanDefinition definition = endpointParser.parse(childElement, parserContext);
definition.getPropertyValues().addPropertyValue("camelContext", new RuntimeBeanReference(contextId));
- parserContext.registerComponent(new BeanComponentDefinition(definition, id));
+ // Need to add this dependency of CamelContext for Spring 3.0
+ try {
+ Method method = definition.getClass().getMethod("setDependsOn", String[].class);
+ method.invoke(definition, (Object)new String[]{contextId});
+ } catch (Exception e) {
+ // Do nothing here
+ }
+ parserContext.registerBeanComponent(new BeanComponentDefinition(definition, id));
}
}
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/ConsumerTemplateAutoRegisterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/ConsumerTemplateAutoRegisterTest.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/ConsumerTemplateAutoRegisterTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/ConsumerTemplateAutoRegisterTest.java Thu Dec 24 02:51:57 2009
@@ -18,6 +18,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.ConsumerTemplate;
+import org.apache.camel.impl.DefaultConsumerTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests;
@@ -36,6 +37,7 @@
public void testHasTemplate() {
assertNotNull("Should have injected a consumer template", template);
+ assertNotNull("The template context should not be null", ((DefaultConsumerTemplate)template).getCamelContext());
ConsumerTemplate lookup = context.getRegistry().lookup("consumerTemplate", ConsumerTemplate.class);
assertNotNull("Should lookup consumer template", lookup);
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.java Thu Dec 24 02:51:57 2009
@@ -16,8 +16,11 @@
*/
package org.apache.camel.spring.file;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.apache.camel.CamelContext;
import org.apache.camel.component.file.FileConsumerPreMoveTest;
+import org.apache.camel.spring.SpringCamelContext;
import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
@@ -25,9 +28,20 @@
* @version $Revision$
*/
public class SpringFileConsumerPreMoveTest extends FileConsumerPreMoveTest {
+ private AbstractXmlApplicationContext applicationContext;
protected CamelContext createCamelContext() throws Exception {
- return createSpringCamelContext(this, "org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml");
+ applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml");
+ return SpringCamelContext.springCamelContext(applicationContext);
}
+
+ @Override
+ protected void tearDown() throws Exception {
+ if (applicationContext != null) {
+ applicationContext.stop();
+ }
+ super.tearDown();
+ }
+
}
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/issues/MisspelledRouteRefTest.java Thu Dec 24 02:51:57 2009
@@ -37,9 +37,8 @@
} catch (Exception e) {
//expected but want to see what it looks like...
LOG.debug("Exception message : " + e.getMessage());
- assertEquals("Error creating bean with name 'camel': Invocation of init method failed;"
- + " nested exception is org.apache.camel.CamelException: "
- + "Cannot find any routes with this RouteBuilder reference: RouteBuilderRef[xxxroute]", e.getMessage());
+ assertTrue("Get a wrong exception name", e.getMessage().indexOf("nested exception is org.apache.camel.CamelException: "
+ + "Cannot find any routes with this RouteBuilder reference: RouteBuilderRef[xxxroute]") > 0);
}
}
}
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/DualCamelContextManagedTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/DualCamelContextManagedTest.java?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/DualCamelContextManagedTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/management/DualCamelContextManagedTest.java Thu Dec 24 02:51:57 2009
@@ -16,11 +16,13 @@
*/
package org.apache.camel.spring.management;
+import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.camel.Endpoint;
import org.apache.camel.spring.SpringTestSupport;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -41,6 +43,7 @@
@SuppressWarnings("unchecked")
public void testDualCamelContextManaged() throws Exception {
+
MBeanServer mbeanServer = context.getManagementStrategy().getManagementAgent().getMBeanServer();
Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null);
@@ -58,7 +61,7 @@
for (ObjectName on : set) {
String name = on.getCanonicalName();
-
+
if (name.contains("mock://mock1")) {
String id = (String) mbeanServer.getAttribute(on, "CamelId");
assertEquals("camel1", id);
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/dualCamelContextManagedTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/dualCamelContextManagedTest.xml?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/dualCamelContextManagedTest.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/management/dualCamelContextManagedTest.xml Thu Dec 24 02:51:57 2009
@@ -23,7 +23,7 @@
">
<camelContext id="camel1" xmlns="http://camel.apache.org/schema/spring">
-
+
<endpoint id="fromFile" uri="file://target/route1"/>
<endpoint id="mock1" uri="mock:mock1"/>
@@ -35,7 +35,7 @@
</camelContext>
<camelContext id="camel2" xmlns="http://camel.apache.org/schema/spring">
-
+
<endpoint id="fromFile2" uri="file://target/route2"/>
<endpoint id="mock2" uri="mock:mock2"/>
Modified: camel/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/pom.xml?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/components/pom.xml (original)
+++ camel/trunk/components/pom.xml Thu Dec 24 02:51:57 2009
@@ -88,7 +88,6 @@
<module>camel-snmp</module>
<module>camel-spring</module>
<module>camel-spring-integration</module>
- <module>camel-spring-javaconfig</module>
<module>camel-spring-osgi</module>
<module>camel-sql</module>
<module>camel-stringtemplate</module>
@@ -103,4 +102,18 @@
<module>camel-web</module>
<module>camel-web-standalone</module>
</modules>
+ <profiles>
+ <profile>
+ <id>spring-2.x</id>
+ <activation>
+ <property>
+ <name>spring-version</name>
+ <value>2.5.6</value>
+ </property>
+ </activation>
+ <modules>
+ <module>camel-spring-javaconfig</module>
+ </modules>
+ </profile>
+ </profiles>
</project>
Modified: camel/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/pom.xml?rev=893688&r1=893687&r2=893688&view=diff
==============================================================================
--- camel/trunk/examples/pom.xml (original)
+++ camel/trunk/examples/pom.xml Thu Dec 24 02:51:57 2009
@@ -65,13 +65,25 @@
<module>camel-example-reportincident</module>
<module>camel-example-route-throttling</module>
<module>camel-example-spring</module>
- <module>camel-example-spring-javaconfig</module>
<module>camel-example-spring-jms</module>
<module>camel-example-spring-xquery</module>
<module>camel-example-tracer</module>
</modules>
<profiles>
+ <profile>
+ <id>spring-2.x</id>
+ <activation>
+ <property>
+ <name>spring-version</name>
+ <value>2.5.6</value>
+ </property>
+ </activation>
+ <modules>
+ <!-- current this module just work for spring 2.x -->
+ <module>camel-example-spring-javaconfig</module>
+ </modules>
+ </profile>
<!--
This profile allows you to add a repository to the repo list so that
you can test the examples out against a staged version of the camel distribution