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 2016/04/16 08:40:19 UTC

[6/6] camel git commit: Remove camel-test-spring40 as spring 4.0 is no longer supported.

Remove camel-test-spring40 as spring 4.0 is no longer supported.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/09cbccad
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/09cbccad
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/09cbccad

Branch: refs/heads/master
Commit: 09cbccad2736ad076d2c01ffaa921c52bdd0e227
Parents: 549312a
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 16 08:33:14 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 16 08:33:14 2016 +0200

----------------------------------------------------------------------
 apache-camel/pom.xml                            |   4 -
 .../src/main/descriptors/common-bin.xml         |   1 -
 components/camel-quartz/pom.xml                 |   2 +-
 components/camel-test-spring40/pom.xml          |  62 ---
 .../CamelSpringDelegatingTestContextLoader.java | 323 -------------
 .../spring/CamelSpringJUnit4ClassRunner.java    |  88 ----
 .../spring/CamelSpringTestContextLoader.java    | 474 -------------------
 ...gTestContextLoaderTestExecutionListener.java |  36 --
 .../test/spring/CamelSpringTestHelper.java      |  99 ----
 .../test/spring/CamelSpringTestSupport.java     | 220 ---------
 .../apache/camel/test/spring/DisableJmx.java    |  43 --
 .../spring/DisableJmxTestExecutionListener.java |  39 --
 .../apache/camel/test/spring/ExcludeRoutes.java |  44 --
 .../test/spring/LazyLoadTypeConverters.java     |  44 --
 .../apache/camel/test/spring/MockEndpoints.java |  43 --
 .../camel/test/spring/MockEndpointsAndSkip.java |  43 --
 .../camel/test/spring/ProvidesBreakpoint.java   |  36 --
 .../camel/test/spring/ShutdownTimeout.java      |  49 --
 .../spring/StopWatchTestExecutionListener.java  |  60 ---
 .../apache/camel/test/spring/UseAdviceWith.java |  49 --
 .../src/main/resources/META-INF/LICENSE.txt     | 203 --------
 .../src/main/resources/META-INF/NOTICE.txt      |  11 -
 .../AdviceWithOnExceptionMultipleIssueTest.java | 116 -----
 .../test/issues/MockEndpointsAndSkipTest.java   |  46 --
 .../patterns/DebugSpringCamelContextTest.java   |  40 --
 .../camel/test/patterns/DebugSpringTest.java    |  81 ----
 .../camel/test/patterns/MyProduceBean.java      |  41 --
 .../apache/camel/test/patterns/MySender.java    |  25 -
 .../camel/test/patterns/ProduceBeanTest.java    |  42 --
 .../test/patterns/ProducerBeanInjectTest.java   |  38 --
 .../spring/CamelSpringActiveProfileTest.java    |  56 ---
 ...ssRunnerDisableJmxInheritedOverrideTest.java |  32 --
 ...Unit4ClassRunnerDisableJmxInheritedTest.java |  21 -
 ...elSpringJUnit4ClassRunnerDisableJmxTest.java |  33 --
 ...pringJUnit4ClassRunnerExcludeRoutesTest.java |  29 --
 ...LoadTypeConvertersInheritedOverrideTest.java |  33 --
 ...nnerLazyLoadTypeConvertersInheritedTest.java |  21 -
 ...t4ClassRunnerLazyLoadTypeConvertersTest.java |  33 --
 ...nit4ClassRunnerMockEndpointsAndSkipTest.java |  56 ---
 ...pringJUnit4ClassRunnerMockEndpointsTest.java |  57 ---
 .../CamelSpringJUnit4ClassRunnerPlainTest.java  | 126 -----
 ...sRunnerProvidesBreakpointInherritedTest.java |  22 -
 ...JUnit4ClassRunnerProvidesBreakpointTest.java |  67 ---
 ...nerShutdownTimeoutInheritedOverrideTest.java |  34 --
 ...ClassRunnerShutdownTimeoutInheritedTest.java |  22 -
 ...ingJUnit4ClassRunnerShutdownTimeoutTest.java |  34 --
 ...pringJUnit4ClassRunnerUseAdviceWithTest.java |  52 --
 ...CamelSpringTestSupportActiveProfileTest.java |  51 --
 .../camel/test/spring/TestRouteBuilder.java     |  30 --
 .../src/test/resources/jndi.properties          |  22 -
 .../src/test/resources/log4j.properties         |  37 --
 .../AdviceWithOnExceptionMultipleIssueTest.xml  |  47 --
 .../test/issues/MockEndpointsAndSkipTest.xml    |  35 --
 .../test/patterns/ProduceBeanInjectTest.xml     |  39 --
 .../camel/test/patterns/ProduceBeanTest.xml     |  33 --
 .../camel/test/patterns/applicationContext.xml  |  38 --
 .../CamelSpringActiveProfileTest-context.xml    |  41 --
 ...SpringJUnit4ClassRunnerPlainTest-context.xml |  54 ---
 .../apache/camel/test/spring/test.properties    |  19 -
 components/pom.xml                              |   1 -
 parent/pom.xml                                  |   5 -
 tests/camel-itest-spring40/pom.xml              |  75 ---
 .../src/main/resources/META-INF/LICENSE.txt     | 203 --------
 .../src/main/resources/META-INF/NOTICE.txt      |  11 -
 .../camel/itest/spring40/JmsRouteTest.java      |  48 --
 .../src/test/resources/log4j.properties         |  37 --
 .../camel/itest/spring40/JmsRouteTest.xml       |  47 --
 tests/pom.xml                                   |   1 -
 68 files changed, 1 insertion(+), 4003 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/apache-camel/pom.xml
----------------------------------------------------------------------
diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index b59b0e2..d825e44 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -876,10 +876,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test-spring40</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-testng</artifactId>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/apache-camel/src/main/descriptors/common-bin.xml
----------------------------------------------------------------------
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index 6e39ae7..23fee8a 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -229,7 +229,6 @@
         <include>org.apache.camel:camel-test-blueprint</include>
         <include>org.apache.camel:camel-test-cdi</include>
         <include>org.apache.camel:camel-test-spring</include>
-        <include>org.apache.camel:camel-test-spring40</include>
         <include>org.apache.camel:camel-testng</include>
         <include>org.apache.camel:camel-twitter</include>
         <include>org.apache.camel:camel-undertow</include>

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-quartz/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-quartz/pom.xml b/components/camel-quartz/pom.xml
index 4d259be..fe45534 100644
--- a/components/camel-quartz/pom.xml
+++ b/components/camel-quartz/pom.xml
@@ -71,7 +71,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test-spring40</artifactId>
+      <artifactId>camel-test-spring</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/pom.xml b/components/camel-test-spring40/pom.xml
deleted file mode 100644
index ea1d599..0000000
--- a/components/camel-test-spring40/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components</artifactId>
-    <version>2.18-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-test-spring40</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: Test :: Spring 4.0 (deprecated)</name>
-  <description>Camel Testing Library using JUnit and Spring 4.0</description>
-
-  <properties>
-    <camel.osgi.export.pkg>org.apache.camel.test.spring.*</camel.osgi.export.pkg>
-    <spring-version>${spring40-version}</spring-version>
-  </properties>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-spring</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-test</artifactId>
-      <version>${spring40-version}</version>
-    </dependency>
-    
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringDelegatingTestContextLoader.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringDelegatingTestContextLoader.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringDelegatingTestContextLoader.java
deleted file mode 100644
index cea1656..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringDelegatingTestContextLoader.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.camel.impl.DefaultDebugger;
-import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
-import org.apache.camel.management.JmxSystemPropertyKeys;
-import org.apache.camel.spi.Breakpoint;
-import org.apache.camel.spi.Debugger;
-import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.spring.CamelSpringTestHelper.DoToSpringCamelContextsStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigUtils;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.test.context.MergedContextConfiguration;
-import org.springframework.test.context.support.DelegatingSmartContextLoader;
-
-import static org.apache.camel.test.spring.CamelSpringTestHelper.getAllMethods;
-
-
-
-/**
- * CamelSpringDelegatingTestContextLoader which fixes issues in Camel's JavaConfigContextLoader. (adds support for Camel's test annotations)
- * <br>
- * <em>This loader can handle either classes or locations for configuring the context.</em>
- * <br>
- * NOTE: This TestContextLoader doesn't support the annotation of ExcludeRoutes now.
- */
-public class CamelSpringDelegatingTestContextLoader extends DelegatingSmartContextLoader {
-
-    protected final Logger logger = LoggerFactory.getLogger(getClass());
-
-    @Override
-    public ApplicationContext loadContext(MergedContextConfiguration mergedConfig) throws Exception {
-        
-        Class<?> testClass = getTestClass();
-        
-        if (logger.isDebugEnabled()) {
-            logger.debug("Loading ApplicationContext for merged context configuration [{}].", mergedConfig);
-        }
-        
-        // Pre CamelContext(s) instantiation setup
-        handleDisableJmx(null, testClass);
-        
-        try {
-            SpringCamelContext.setNoStart(true);
-            ConfigurableApplicationContext context = (ConfigurableApplicationContext) super.loadContext(mergedConfig);
-            SpringCamelContext.setNoStart(false);
-            return loadContext(context, testClass);
-        } finally {
-            cleanup(testClass);
-        }
-    }
-
-    /**
-     * Performs the bulk of the Spring application context loading/customization.
-     *
-     * @param context the partially configured context.  The context should have the bean definitions loaded, but nothing else.
-     * @param testClass the test class being executed
-     * @return the initialized (refreshed) Spring application context
-     *
-     * @throws Exception if there is an error during initialization/customization
-     */
-    public ApplicationContext loadContext(ConfigurableApplicationContext context, Class<?> testClass)
-        throws Exception {
-            
-        AnnotationConfigUtils.registerAnnotationConfigProcessors((BeanDefinitionRegistry) context);
-        
-        // Post CamelContext(s) instantiation but pre CamelContext(s) start setup
-        handleProvidesBreakpoint(context, testClass);
-        handleShutdownTimeout(context, testClass);
-        handleMockEndpoints(context, testClass);
-        handleMockEndpointsAndSkip(context, testClass);
-        
-        // CamelContext(s) startup
-        handleCamelContextStartup(context, testClass);
-        
-        return context;
-    }
-    
-    /**
-     * Cleanup/restore global state to defaults / pre-test values after the test setup
-     * is complete. 
-     * 
-     * @param testClass the test class being executed
-     */
-    protected void cleanup(Class<?> testClass) {
-        SpringCamelContext.setNoStart(false);
-        
-        if (testClass.isAnnotationPresent(DisableJmx.class)) {
-            if (CamelSpringTestHelper.getOriginalJmxDisabled() == null) {
-                System.clearProperty(JmxSystemPropertyKeys.DISABLED);
-            } else {
-                System.setProperty(JmxSystemPropertyKeys.DISABLED,
-                    CamelSpringTestHelper.getOriginalJmxDisabled());
-            }
-        }
-    }
-    
-    /**
-     * Handles disabling of JMX on Camel contexts based on {@link DisableJmx}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleDisableJmx(ConfigurableApplicationContext context, Class<?> testClass) {
-        CamelSpringTestHelper.setOriginalJmxDisabledValue(System.getProperty(JmxSystemPropertyKeys.DISABLED));
-        
-        if (testClass.isAnnotationPresent(DisableJmx.class)) {
-            if (testClass.getAnnotation(DisableJmx.class).value()) {
-                logger.info("Disabling Camel JMX globally as DisableJmx annotation was found and disableJmx is set to true.");
-                System.setProperty(JmxSystemPropertyKeys.DISABLED, "true");
-                
-            } else {
-                logger.info("Enabling Camel JMX as DisableJmx annotation was found and disableJmx is set to false.");
-                System.clearProperty(JmxSystemPropertyKeys.DISABLED);
-            }
-        } else {
-            logger.info("Disabling Camel JMX globally for tests by default. Use the DisableJMX annotation to override the default setting.");
-            System.setProperty(JmxSystemPropertyKeys.DISABLED, "true");
-        }
-    }
-    
-    /**
-     * Handles the processing of the {@link ProvidesBreakpoint} annotation on a test class.  Exists here
-     * as it is needed in 
-     *
-     * @param context the initialized Spring context containing the Camel context(s) to insert breakpoints into 
-     * @param testClass the test class being processed
-     *
-     * @throws Exception if there is an error processing the class
-     */
-    protected void handleProvidesBreakpoint(ConfigurableApplicationContext context, Class<?> testClass) throws Exception {
-        Collection<Method> methods = getAllMethods(testClass);
-        final List<Breakpoint> breakpoints = new LinkedList<Breakpoint>();
-        
-        for (Method method : methods) {
-            if (AnnotationUtils.findAnnotation(method, ProvidesBreakpoint.class) != null) {
-                Class<?>[] argTypes = method.getParameterTypes();
-                if (argTypes.length != 0) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not a no-argument method.");
-                } else if (!Breakpoint.class.isAssignableFrom(method.getReturnType())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but does not return a Breakpoint.");
-                } else if (!Modifier.isStatic(method.getModifiers())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not static.");
-                } else if (!Modifier.isPublic(method.getModifiers())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not public.");
-                }
-                
-                try {
-                    breakpoints.add((Breakpoint) method.invoke(null));
-                } catch (Exception e) {
-                    throw new RuntimeException("Method [" + method.getName()
-                           + "] threw exception during evaluation.", e);
-                }
-            }
-        }
-        
-        if (breakpoints.size() != 0) {
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    Debugger debugger = camelContext.getDebugger();
-                    if (debugger == null) {
-                        debugger = new DefaultDebugger();
-                        camelContext.setDebugger(debugger);
-                    }
-                    
-                    for (Breakpoint breakpoint : breakpoints) {
-                        logger.info("Adding Breakpoint [{}] to CamelContext with name [{}].", breakpoint, contextName);
-                        debugger.addBreakpoint(breakpoint);
-                    }
-                }
-            });
-        }
-    }
-
-
-    /**
-     * Handles updating shutdown timeouts on Camel contexts based on {@link ShutdownTimeout}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleShutdownTimeout(ConfigurableApplicationContext context, Class<?> testClass) throws Exception {
-        final int shutdownTimeout;
-        final TimeUnit shutdownTimeUnit;
-        if (testClass.isAnnotationPresent(ShutdownTimeout.class)) {
-            shutdownTimeout = testClass.getAnnotation(ShutdownTimeout.class).value();
-            shutdownTimeUnit = testClass.getAnnotation(ShutdownTimeout.class).timeUnit();
-        } else {
-            shutdownTimeout = 10;
-            shutdownTimeUnit = TimeUnit.SECONDS;
-        }
-        
-        CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-            
-            public void execute(String contextName, SpringCamelContext camelContext)
-                throws Exception {
-                logger.info("Setting shutdown timeout to [{} {}] on CamelContext with name [{}].", new Object[]{shutdownTimeout, shutdownTimeUnit, contextName});
-                camelContext.getShutdownStrategy().setTimeout(shutdownTimeout);
-                camelContext.getShutdownStrategy().setTimeUnit(shutdownTimeUnit);
-            }
-        });
-    }
-    
-    /**
-     * Handles auto-intercepting of endpoints with mocks based on {@link MockEndpoints}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleMockEndpoints(ConfigurableApplicationContext context, Class<?> testClass) throws Exception {
-        if (testClass.isAnnotationPresent(MockEndpoints.class)) {
-            final String mockEndpoints = testClass.getAnnotation(MockEndpoints.class).value();
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    logger.info("Enabling auto mocking of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpoints, contextName);
-                    camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
-                }
-            });
-        }
-    }
-    
-    /**
-     * Handles auto-intercepting of endpoints with mocks based on {@link MockEndpointsAndSkip} and skipping the
-     * original endpoint.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleMockEndpointsAndSkip(ConfigurableApplicationContext context, Class<?> testClass) throws Exception {
-        if (testClass.isAnnotationPresent(MockEndpointsAndSkip.class)) {
-            final String mockEndpoints = testClass.getAnnotation(MockEndpointsAndSkip.class).value();
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    // resovle the property place holders of the mockEndpoints 
-                    String mockEndpointsValue = camelContext.resolvePropertyPlaceholders(mockEndpoints);
-                    logger.info("Enabling auto mocking and skipping of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpointsValue, contextName);
-                    camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
-                }
-            });
-        }
-    }
-    
-    
-    /**
-     * Handles starting of Camel contexts based on {@link UseAdviceWith} and other state in the JVM.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleCamelContextStartup(ConfigurableApplicationContext context, Class<?> testClass) throws Exception {
-        boolean skip = "true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"));
-        if (skip) {
-            logger.info("Skipping starting CamelContext(s) as system property skipStartingCamelContext is set to be true.");
-        } else if (testClass.isAnnotationPresent(UseAdviceWith.class)) {
-            if (testClass.getAnnotation(UseAdviceWith.class).value()) {
-                logger.info("Skipping starting CamelContext(s) as UseAdviceWith annotation was found and isUseAdviceWith is set to true.");
-                skip = true;
-            } else {
-                logger.info("Starting CamelContext(s) as UseAdviceWith annotation was found, but isUseAdviceWith is set to false.");
-                skip = false;
-            }
-        }
-        
-        if (!skip) {
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                public void execute(String contextName,
-                        SpringCamelContext camelContext) throws Exception {
-                    logger.info("Starting CamelContext with name [{}].", contextName);
-                    camelContext.start();
-                }
-            });
-        }
-    }
-
-    /**
-     * Returns the class under test in order to enable inspection of annotations while the
-     * Spring context is being created.
-     * 
-     * @return the test class that is being executed
-     * @see CamelSpringTestHelper
-     */
-    protected Class<?> getTestClass() {
-        return CamelSpringTestHelper.getTestClass();
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
deleted file mode 100644
index 9416e9f..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.junit.runners.model.InitializationError;
-import org.springframework.test.context.TestContextManager;
-import org.springframework.test.context.TestExecutionListener;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-/**
- * An implementation bringing the functionality of {@link org.apache.camel.test.spring.CamelSpringTestSupport} to
- * Spring Test based test cases.  This approach allows developers to implement tests
- * for their Spring based applications/routes using the typical Spring Test conventions
- * for test development.
- */
-public class CamelSpringJUnit4ClassRunner extends SpringJUnit4ClassRunner {
-
-    public CamelSpringJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
-        super(clazz);
-    }
-
-    /**
-     * Returns the specialized manager instance that provides tight integration between Camel testing
-     * features and Spring.
-     *
-     * @return a new instance of {@link CamelTestContextManager}.
-     */
-    @Override
-    protected TestContextManager createTestContextManager(Class<?> clazz) {
-        return new CamelTestContextManager(clazz, getDefaultContextLoaderClassName(clazz));
-    }
-
-    /**
-     * Returns the specialized loader for tight integration between Camel testing features
-     * and the application context initialization.
-     *
-     * @return Returns the class name for {@link org.apache.camel.test.spring.CamelSpringTestContextLoader}
-     */
-    @Override
-    protected String getDefaultContextLoaderClassName(Class<?> clazz) {
-        return CamelSpringTestContextLoader.class.getName();
-    }
-
-    /**
-     * An implementation providing additional integration between Spring Test and Camel
-     * testing features.
-     */
-    public static final class CamelTestContextManager extends TestContextManager {
-
-        public CamelTestContextManager(Class<?> testClass, String defaultContextLoaderClassName) {
-            super(testClass, defaultContextLoaderClassName);
-        }
-
-        /**
-         * Augments the default listeners with additional listeners to provide support
-         * for the Camel testing features.
-         */
-        @Override
-        protected Set<Class<? extends TestExecutionListener>> getDefaultTestExecutionListenerClasses() {
-            Set<Class<? extends TestExecutionListener>> classes = new LinkedHashSet<Class<? extends TestExecutionListener>>();
-
-            classes.add(CamelSpringTestContextLoaderTestExecutionListener.class);
-            classes.addAll(super.getDefaultTestExecutionListenerClasses());
-            classes.add(DisableJmxTestExecutionListener.class);
-            classes.add(StopWatchTestExecutionListener.class);
-
-            return classes;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
deleted file mode 100644
index ad294e2..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.camel.impl.DefaultDebugger;
-import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
-import org.apache.camel.management.JmxSystemPropertyKeys;
-import org.apache.camel.spi.Breakpoint;
-import org.apache.camel.spi.Debugger;
-import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.ExcludingPackageScanClassResolver;
-import org.apache.camel.test.spring.CamelSpringTestHelper.DoToSpringCamelContextsStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigUtils;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.test.context.MergedContextConfiguration;
-import org.springframework.test.context.support.AbstractContextLoader;
-import org.springframework.test.context.support.AbstractGenericContextLoader;
-import org.springframework.test.context.support.GenericXmlContextLoader;
-import org.springframework.util.StringUtils;
-import static org.apache.camel.test.spring.CamelSpringTestHelper.getAllMethods;
-
-/**
- * Replacement for the default {@link GenericXmlContextLoader} that provides hooks for
- * processing some class level Camel related test annotations.
- */
-public class CamelSpringTestContextLoader extends AbstractContextLoader {
-    
-    private static final Logger LOG = LoggerFactory.getLogger(CamelSpringTestContextLoader.class);
-    
-    /**
-     *  Modeled after the Spring implementation in {@link AbstractGenericContextLoader},
-     *  this method creates and refreshes the application context while providing for
-     *  processing of additional Camel specific post-refresh actions.  We do not provide the
-     *  pre-post hooks for customization seen in {@link AbstractGenericContextLoader} because
-     *  they probably are unnecessary for 90+% of users.
-     *  <p/>
-     *  For some functionality, we cannot use {@link org.springframework.test.context.TestExecutionListener} because we need
-     *  to both produce the desired outcome during application context loading, and also cleanup
-     *  after ourselves even if the test class never executes.  Thus the listeners, which
-     *  only run if the application context is successfully initialized are insufficient to
-     *  provide the behavior described above.
-     */
-    @Override
-    public ApplicationContext loadContext(MergedContextConfiguration mergedConfig) throws Exception {
-        Class<?> testClass = getTestClass();
-        
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Loading ApplicationContext for merged context configuration [{}].", mergedConfig);
-        }
-        
-        try {            
-            GenericApplicationContext context = createContext(testClass, mergedConfig);
-            context.getEnvironment().setActiveProfiles(mergedConfig.getActiveProfiles());
-            loadBeanDefinitions(context, mergedConfig);
-            return loadContext(context, testClass);
-        } finally {
-            cleanup(testClass);
-        }
-    }
-    
-    /**
-     *  Modeled after the Spring implementation in {@link AbstractGenericContextLoader},
-     *  this method creates and refreshes the application context while providing for
-     *  processing of additional Camel specific post-refresh actions.  We do not provide the
-     *  pre-post hooks for customization seen in {@link AbstractGenericContextLoader} because
-     *  they probably are unnecessary for 90+% of users.
-     *  <p/>
-     *  For some functionality, we cannot use {@link org.springframework.test.context.TestExecutionListener} because we need
-     *  to both produce the desired outcome during application context loading, and also cleanup
-     *  after ourselves even if the test class never executes.  Thus the listeners, which
-     *  only run if the application context is successfully initialized are insufficient to
-     *  provide the behavior described above.
-     */
-    @Override
-    public ApplicationContext loadContext(String... locations) throws Exception {
-        
-        Class<?> testClass = getTestClass();
-        
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Loading ApplicationContext for locations [" + StringUtils.arrayToCommaDelimitedString(locations) + "].");
-        }
-        
-        try {
-            GenericApplicationContext context = createContext(testClass, null);
-            loadBeanDefinitions(context, locations);
-            return loadContext(context, testClass);
-        } finally {
-            cleanup(testClass);
-        }
-    }
-
-    /**
-     * Returns &quot;<code>-context.xml</code>&quot;.
-     */
-    @Override
-    public String getResourceSuffix() {
-        return "-context.xml";
-    }
-    
-    /**
-     * Performs the bulk of the Spring application context loading/customization.
-     *
-     * @param context the partially configured context.  The context should have the bean definitions loaded, but nothing else.
-     * @param testClass the test class being executed
-     * @return the initialized (refreshed) Spring application context
-     *
-     * @throws Exception if there is an error during initialization/customization
-     */
-    protected ApplicationContext loadContext(GenericApplicationContext context, Class<?> testClass) throws Exception {
-            
-        AnnotationConfigUtils.registerAnnotationConfigProcessors(context);
-        
-        // Pre CamelContext(s) instantiation setup
-        handleDisableJmx(context, testClass);
-
-        // Temporarily disable CamelContext start while the contexts are instantiated.
-        SpringCamelContext.setNoStart(true);
-        context.refresh();
-        context.registerShutdownHook();
-        // Turn CamelContext startup back on since the context's have now been instantiated.
-        SpringCamelContext.setNoStart(false);
-        
-        // Post CamelContext(s) instantiation but pre CamelContext(s) start setup
-        handleProvidesBreakpoint(context, testClass);
-        handleShutdownTimeout(context, testClass);
-        handleMockEndpoints(context, testClass);
-        handleMockEndpointsAndSkip(context, testClass);
-        handleLazyLoadTypeConverters(context, testClass);
-        
-        // CamelContext(s) startup
-        handleCamelContextStartup(context, testClass);
-        
-        return context;
-    }
-    
-    /**
-     * Cleanup/restore global state to defaults / pre-test values after the test setup
-     * is complete. 
-     * 
-     * @param testClass the test class being executed
-     */
-    protected void cleanup(Class<?> testClass) {
-        SpringCamelContext.setNoStart(false);
-        
-        if (testClass.isAnnotationPresent(DisableJmx.class)) {
-            if (CamelSpringTestHelper.getOriginalJmxDisabled() == null) {
-                System.clearProperty(JmxSystemPropertyKeys.DISABLED);
-            } else {
-                System.setProperty(JmxSystemPropertyKeys.DISABLED,
-                    CamelSpringTestHelper.getOriginalJmxDisabled());
-            }
-        }
-    }
-    
-    protected void loadBeanDefinitions(GenericApplicationContext context, MergedContextConfiguration mergedConfig) {
-        (new XmlBeanDefinitionReader(context)).loadBeanDefinitions(mergedConfig.getLocations());
-    }
-    
-    protected void loadBeanDefinitions(GenericApplicationContext context, String... locations) {
-        (new XmlBeanDefinitionReader(context)).loadBeanDefinitions(locations);
-    }
-    
-    /**
-     * Creates and starts the Spring context while optionally starting any loaded Camel contexts.
-     *
-     * @param testClass the test class that is being executed
-     * @return the loaded Spring context
-     */
-    protected GenericApplicationContext createContext(Class<?> testClass, MergedContextConfiguration mergedConfig) {
-        ApplicationContext parentContext = null;
-        GenericApplicationContext routeExcludingContext = null;
-        
-        if (mergedConfig != null) {
-            parentContext = mergedConfig.getParentApplicationContext();
-
-        }
-        
-        if (testClass.isAnnotationPresent(ExcludeRoutes.class)) {
-            Class<?>[] excludedClasses = testClass.getAnnotation(ExcludeRoutes.class).value();
-            
-            if (excludedClasses.length > 0) {
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Setting up package scanning excluded classes as ExcludeRoutes "
-                            + "annotation was found. Excluding [" + StringUtils.arrayToCommaDelimitedString(excludedClasses) + "].");
-                }
-                
-                if (parentContext == null) {
-                    routeExcludingContext = new GenericApplicationContext();
-                } else {
-                    routeExcludingContext = new GenericApplicationContext(parentContext);
-                }
-                routeExcludingContext.registerBeanDefinition("excludingResolver", new RootBeanDefinition(ExcludingPackageScanClassResolver.class));
-                routeExcludingContext.refresh();
-                
-                ExcludingPackageScanClassResolver excludingResolver = routeExcludingContext.getBean("excludingResolver", ExcludingPackageScanClassResolver.class);
-                List<Class<?>> excluded = Arrays.asList(excludedClasses);
-                excludingResolver.setExcludedClasses(new HashSet<Class<?>>(excluded));
-            } else {
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Not enabling package scanning excluded classes as ExcludeRoutes "
-                            + "annotation was found but no classes were excluded.");
-                }
-            }
-        }
-        
-        GenericApplicationContext context;
-
-        if (routeExcludingContext != null) {
-            context = new GenericApplicationContext(routeExcludingContext);
-        } else {
-            if (parentContext != null) {
-                context = new GenericApplicationContext(parentContext);
-            } else {
-                context = new GenericApplicationContext();
-            }
-        }
-        
-        return context;
-    }
-    
-    /**
-     * Handles disabling of JMX on Camel contexts based on {@link DisableJmx}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleDisableJmx(GenericApplicationContext context, Class<?> testClass) {
-        CamelSpringTestHelper.setOriginalJmxDisabledValue(System.getProperty(JmxSystemPropertyKeys.DISABLED));
-        
-        if (testClass.isAnnotationPresent(DisableJmx.class)) {
-            if (testClass.getAnnotation(DisableJmx.class).value()) {
-                LOG.info("Disabling Camel JMX globally as DisableJmx annotation was found and disableJmx is set to true.");
-                System.setProperty(JmxSystemPropertyKeys.DISABLED, "true");
-            } else {
-                LOG.info("Enabling Camel JMX as DisableJmx annotation was found and disableJmx is set to false.");
-                System.clearProperty(JmxSystemPropertyKeys.DISABLED);
-            }
-        } else {
-            LOG.info("Disabling Camel JMX globally for tests by default.  Use the DisableJMX annotation to override the default setting.");
-            System.setProperty(JmxSystemPropertyKeys.DISABLED, "true");
-        }
-    }
-    
-    /**
-     * Handles the processing of the {@link ProvidesBreakpoint} annotation on a test class.  Exists here
-     * as it is needed in 
-     *
-     * @param context the initialized Spring context containing the Camel context(s) to insert breakpoints into 
-     * @param testClass the test class being processed
-     *
-     * @throws Exception if there is an error processing the class
-     */
-    protected void handleProvidesBreakpoint(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        Collection<Method> methods = getAllMethods(testClass);
-        final List<Breakpoint> breakpoints = new LinkedList<Breakpoint>();
-        
-        for (Method method : methods) {
-            if (AnnotationUtils.findAnnotation(method, ProvidesBreakpoint.class) != null) {
-                Class<?>[] argTypes = method.getParameterTypes();
-                if (argTypes.length != 0) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not a no-argument method.");
-                } else if (!Breakpoint.class.isAssignableFrom(method.getReturnType())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but does not return a Breakpoint.");
-                } else if (!Modifier.isStatic(method.getModifiers())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not static.");
-                } else if (!Modifier.isPublic(method.getModifiers())) {
-                    throw new IllegalArgumentException("Method [" + method.getName()
-                           + "] is annotated with ProvidesBreakpoint but is not public.");
-                }
-                
-                try {
-                    breakpoints.add((Breakpoint) method.invoke(null));
-                } catch (Exception e) {
-                    throw new RuntimeException("Method [" + method.getName()
-                           + "] threw exception during evaluation.", e);
-                }
-            }
-        }
-        
-        if (breakpoints.size() != 0) {
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                @Override
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    Debugger debugger = camelContext.getDebugger();
-                    if (debugger == null) {
-                        debugger = new DefaultDebugger();
-                        camelContext.setDebugger(debugger);
-                    }
-                    
-                    for (Breakpoint breakpoint : breakpoints) {
-                        LOG.info("Adding Breakpoint [{}] to CamelContext with name [{}].", breakpoint, contextName);
-                        debugger.addBreakpoint(breakpoint);
-                    }
-                }
-            });
-        }
-    }
-    
-    
-    /**
-     * Handles updating shutdown timeouts on Camel contexts based on {@link ShutdownTimeout}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleShutdownTimeout(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        final int shutdownTimeout;
-        final TimeUnit shutdownTimeUnit;
-        if (testClass.isAnnotationPresent(ShutdownTimeout.class)) {
-            shutdownTimeout = testClass.getAnnotation(ShutdownTimeout.class).value();
-            shutdownTimeUnit = testClass.getAnnotation(ShutdownTimeout.class).timeUnit();
-        } else {
-            shutdownTimeout = 10;
-            shutdownTimeUnit = TimeUnit.SECONDS;
-        }
-        
-        CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-            
-            @Override
-            public void execute(String contextName, SpringCamelContext camelContext)
-                throws Exception {
-                LOG.info("Setting shutdown timeout to [{} {}] on CamelContext with name [{}].", new Object[]{shutdownTimeout, shutdownTimeUnit, contextName});
-                camelContext.getShutdownStrategy().setTimeout(shutdownTimeout);
-                camelContext.getShutdownStrategy().setTimeUnit(shutdownTimeUnit);
-            }
-        });
-    }
-    
-    /**
-     * Handles auto-intercepting of endpoints with mocks based on {@link MockEndpoints}.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleMockEndpoints(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        if (testClass.isAnnotationPresent(MockEndpoints.class)) {
-            final String mockEndpoints = testClass.getAnnotation(MockEndpoints.class).value();
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                @Override
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    LOG.info("Enabling auto mocking of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpoints, contextName);
-                    camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
-                }
-            });
-        }
-    }
-    
-    /**
-     * Handles auto-intercepting of endpoints with mocks based on {@link MockEndpointsAndSkip} and skipping the
-     * original endpoint.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleMockEndpointsAndSkip(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        if (testClass.isAnnotationPresent(MockEndpointsAndSkip.class)) {
-            final String mockEndpoints = testClass.getAnnotation(MockEndpointsAndSkip.class).value();
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                @Override
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    // resovle the property place holders of the mockEndpoints 
-                    String mockEndpointsValue = camelContext.resolvePropertyPlaceholders(mockEndpoints);
-                    LOG.info("Enabling auto mocking and skipping of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpointsValue, contextName);
-                    camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
-                }
-            });
-        }
-    }
-    
-    @SuppressWarnings("deprecation")
-    protected void handleLazyLoadTypeConverters(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        final boolean lazy;
-        
-        if (testClass.isAnnotationPresent(LazyLoadTypeConverters.class)) {
-            lazy = testClass.getAnnotation(LazyLoadTypeConverters.class).value();
-        } else {
-            lazy = true;
-        }
-         
-        if (lazy) {
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                @Override
-                public void execute(String contextName, SpringCamelContext camelContext)
-                    throws Exception {
-                    LOG.info("Enabling lazy loading of type converters on CamelContext with name [{}].", contextName);
-                    camelContext.setLazyLoadTypeConverters(lazy);
-                }
-            });
-        }
-    }
-    
-    /**
-     * Handles starting of Camel contexts based on {@link UseAdviceWith} and other state in the JVM.
-     *
-     * @param context the initialized Spring context
-     * @param testClass the test class being executed
-     */
-    protected void handleCamelContextStartup(GenericApplicationContext context, Class<?> testClass) throws Exception {
-        boolean skip = "true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"));
-        if (skip) {
-            LOG.info("Skipping starting CamelContext(s) as system property skipStartingCamelContext is set to be true.");
-        } else if (testClass.isAnnotationPresent(UseAdviceWith.class)) {
-            if (testClass.getAnnotation(UseAdviceWith.class).value()) {
-                LOG.info("Skipping starting CamelContext(s) as UseAdviceWith annotation was found and isUseAdviceWith is set to true.");
-                skip = true;
-            } else {
-                LOG.info("Starting CamelContext(s) as UseAdviceWith annotation was found, but isUseAdviceWith is set to false.");
-                skip = false;
-            }
-        }
-        
-        if (!skip) {
-            CamelSpringTestHelper.doToSpringCamelContexts(context, new DoToSpringCamelContextsStrategy() {
-                
-                @Override
-                public void execute(String contextName,
-                        SpringCamelContext camelContext) throws Exception {
-                    LOG.info("Starting CamelContext with name [{}].", contextName);
-                    camelContext.start();
-                }
-            });
-        }
-    }
-    
-    /**
-     * Returns the class under test in order to enable inspection of annotations while the
-     * Spring context is being created.
-     * 
-     * @return the test class that is being executed
-     * @see CamelSpringTestHelper
-     */
-    protected Class<?> getTestClass() {
-        return CamelSpringTestHelper.getTestClass();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoaderTestExecutionListener.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoaderTestExecutionListener.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoaderTestExecutionListener.java
deleted file mode 100644
index c96943d..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoaderTestExecutionListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 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.test.spring;
-
-import org.springframework.test.context.TestContext;
-import org.springframework.test.context.support.AbstractTestExecutionListener;
-
-/**
- * Helper for {@link CamelSpringTestContextLoader} that sets the test class state
- * in {@link CamelSpringTestHelper} almost immediately before the loader initializes
- * the Spring context.
- * <p/>
- * Implemented as a listener as the state can be set on a {@code ThreadLocal} and we are pretty sure
- * that the same thread will be used to initialize the Spring context.
- */
-public class CamelSpringTestContextLoaderTestExecutionListener extends AbstractTestExecutionListener {
-
-    @Override
-    public void prepareTestInstance(TestContext testContext) throws Exception {
-        CamelSpringTestHelper.setTestClass(testContext.getTestClass());
-    }    
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestHelper.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestHelper.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestHelper.java
deleted file mode 100644
index aa75c0e..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestHelper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.apache.camel.spring.SpringCamelContext;
-
-import org.springframework.context.ApplicationContext;
-
-/**
- * Helper that provides state information across the levels of Spring Test that do not expose the
- * necessary context/state for integration of Camel testing features into Spring test.  Also
- * provides utility methods.
- * <p/>
- * Note that this class makes use of {@link ThreadLocal}s to maintain some state.  It is imperative
- * that the state setters and getters are accessed within the scope of a single thread in order
- * for this class to work right.
- */
-public final class CamelSpringTestHelper {
-    
-    private static ThreadLocal<String> originalJmxDisabledValue = new ThreadLocal<String>();
-    private static ThreadLocal<Class<?>> testClazz = new ThreadLocal<Class<?>>();
-    
-    private CamelSpringTestHelper() {
-    }
-    
-    public static String getOriginalJmxDisabled() {
-        return originalJmxDisabledValue.get();
-    }
-    
-    public static void setOriginalJmxDisabledValue(String originalValue) {
-        originalJmxDisabledValue.set(originalValue);
-    }
-    
-    public static Class<?> getTestClass() {
-        return testClazz.get();
-    }
-    
-    public static void setTestClass(Class<?> testClass) {
-        testClazz.set(testClass);
-    }
-    
-    /**
-     * Returns all methods defined in {@code clazz} and its superclasses/interfaces.
-     */
-    public static Collection<Method> getAllMethods(Class<?> clazz)  {
-        Set<Method> methods = new LinkedHashSet<Method>();
-        Class<?> currentClass = clazz;
-        
-        while (currentClass != null) {
-            methods.addAll(Arrays.asList(clazz.getMethods()));
-            currentClass = currentClass.getSuperclass(); 
-        }
-                
-        return methods;
-    }
-    
-    /**
-     * Executes {@code strategy} against all {@link SpringCamelContext}s found in the Spring context.
-     * This method reduces the amount of repeated find and loop code throughout this class.
-     *
-     * @param context the Spring context to search
-     * @param strategy the strategy to execute against the found {@link SpringCamelContext}s
-     *
-     * @throws Exception if there is an error executing any of the strategies
-     */
-    public static void doToSpringCamelContexts(ApplicationContext context, DoToSpringCamelContextsStrategy strategy) throws Exception {
-        Map<String, SpringCamelContext> contexts = context.getBeansOfType(SpringCamelContext.class);
-        
-        for (Entry<String, SpringCamelContext> entry : contexts.entrySet()) {
-            strategy.execute(entry.getKey(), entry.getValue());
-        }
-    }
-    
-    public interface DoToSpringCamelContextsStrategy {
-        void execute(String contextName, SpringCamelContext camelContext) throws Exception;
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestSupport.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestSupport.java
deleted file mode 100644
index b855b40..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/CamelSpringTestSupport.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spring.CamelBeanPostProcessor;
-import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.ExcludingPackageScanClassResolver;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-
-/**
- * @version 
- */
-public abstract class CamelSpringTestSupport extends CamelTestSupport {
-    protected static ThreadLocal<AbstractApplicationContext> threadAppContext = new ThreadLocal<AbstractApplicationContext>();
-    protected static Object lock = new Object();
-    
-    protected AbstractApplicationContext applicationContext;
-    protected abstract AbstractApplicationContext createApplicationContext();
-
-    /**
-     * Lets post process this test instance to process any Camel annotations.
-     * Note that using Spring Test or Guice is a more powerful approach.
-     */
-    @Override
-    public void postProcessTest() throws Exception {
-        super.postProcessTest();
-        if (isCreateCamelContextPerClass()) {
-            applicationContext = threadAppContext.get();
-        }
-
-        // use the bean post processor from camel-spring
-        CamelBeanPostProcessor processor = new CamelBeanPostProcessor();
-        processor.setApplicationContext(applicationContext);
-        processor.setCamelContext(context);
-        processor.postProcessBeforeInitialization(this, getClass().getName());
-        processor.postProcessAfterInitialization(this, getClass().getName());
-    }
-
-    @Override
-    public void doPreSetup() throws Exception {
-        if (!"true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"))) {
-            // tell camel-spring it should not trigger starting CamelContext, since we do that later
-            // after we are finished setting up the unit test
-            synchronized (lock) {
-                SpringCamelContext.setNoStart(true);
-                if (isCreateCamelContextPerClass()) {
-                    applicationContext = threadAppContext.get();
-                    if (applicationContext == null) {
-                        applicationContext = doCreateApplicationContext();
-                        threadAppContext.set(applicationContext);
-                    }
-                } else {
-                    applicationContext = doCreateApplicationContext();
-                }
-                SpringCamelContext.setNoStart(false);
-            }
-        } else {
-            log.info("Skipping starting CamelContext as system property skipStartingCamelContext is set to be true.");
-        }
-    }
-
-    private AbstractApplicationContext doCreateApplicationContext() {
-        AbstractApplicationContext context = createApplicationContext();
-        assertNotNull("Should have created a valid Spring application context", context);
-
-        String[] profiles = activeProfiles();
-        if (profiles != null && profiles.length > 0) {
-            // the context must not be active
-            if (context.isActive()) {
-                throw new IllegalStateException("Cannot active profiles: " + Arrays.asList(profiles) + " on active Spring application context: " + context
-                    + ". The code in your createApplicationContext() method should be adjusted to create the application context with refresh = false as parameter");
-            }
-            log.info("Spring activating profiles: {}", Arrays.asList(profiles));
-            context.getEnvironment().setActiveProfiles(profiles);
-        }
-
-        // ensure the context has been refreshed at least once
-        if (!context.isActive()) {
-            context.refresh();
-        }
-
-        return context;
-    }
-
-    @Override
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-
-        if (!isCreateCamelContextPerClass()) {
-            IOHelper.close(applicationContext);
-            applicationContext = null;
-        }
-    }
-
-    @AfterClass
-    public static void tearSpringDownAfterClass() throws Exception {
-        if (threadAppContext.get() != null) {
-            IOHelper.close(threadAppContext.get());
-            threadAppContext.remove();
-        }
-    }
-    
-    /**
-     * Create a parent context that initializes a
-     * {@link org.apache.camel.spi.PackageScanClassResolver} to exclude a set of given classes from
-     * being resolved. Typically this is used at test time to exclude certain routes,
-     * which might otherwise be just noisy, from being discovered and initialized.
-     * <p/>
-     * To use this filtering mechanism it is necessary to provide the
-     * {@link org.springframework.context.ApplicationContext} returned from here as the parent context to
-     * your test context e.g.
-     *
-     * <pre>
-     * protected AbstractXmlApplicationContext createApplicationContext() {
-     *     return new ClassPathXmlApplicationContext(new String[] {&quot;test-context.xml&quot;}, getRouteExcludingApplicationContext());
-     * }
-     * </pre>
-     *
-     * This will, in turn, call the template methods <code>excludedRoutes</code>
-     * and <code>excludedRoute</code> to determine the classes to be excluded from scanning.
-     *
-     * @return ApplicationContext a parent {@link org.springframework.context.ApplicationContext} configured
-     *         to exclude certain classes from package scanning
-     */
-    protected ApplicationContext getRouteExcludingApplicationContext() {
-        GenericApplicationContext routeExcludingContext = new GenericApplicationContext();
-        routeExcludingContext.registerBeanDefinition("excludingResolver", new RootBeanDefinition(ExcludingPackageScanClassResolver.class));
-        routeExcludingContext.refresh();
-
-        ExcludingPackageScanClassResolver excludingResolver = routeExcludingContext.getBean("excludingResolver", ExcludingPackageScanClassResolver.class);
-        List<Class<?>> excluded = Arrays.asList(excludeRoutes());
-        excludingResolver.setExcludedClasses(new HashSet<Class<?>>(excluded));
-
-        return routeExcludingContext;
-    }
-
-    /**
-     * Template method used to exclude {@link org.apache.camel.Route} from the test time context
-     * route scanning
-     *
-     * @return Class[] the classes to be excluded from test time context route scanning
-     */
-    protected Class<?>[] excludeRoutes() {
-        Class<?> excludedRoute = excludeRoute();
-        return excludedRoute != null ? new Class[] {excludedRoute} : new Class[0];
-    }
-
-    /**
-     * Template method used to exclude a {@link org.apache.camel.Route} from the test camel context
-     */
-    protected Class<?> excludeRoute() {
-        return null;
-    }
-
-    /**
-     * Looks up the mandatory spring bean of the given name and type, failing if
-     * it is not present or the correct type
-     */
-    public <T> T getMandatoryBean(Class<T> type, String name) {
-        Object value = applicationContext.getBean(name);
-        assertNotNull("No spring bean found for name <" + name + ">", value);
-        if (type.isInstance(value)) {
-            return type.cast(value);
-        } else {
-            fail("Spring bean <" + name + "> is not an instanceof " + type.getName() + " but is of type " + ObjectHelper.className(value));
-            return null;
-        }
-    }
-
-    /**
-     * Which active profiles should be used.
-     * <p/>
-     * <b>Important:</b> When using active profiles, then the code in {@link #createApplicationContext()} should create
-     * the Spring {@link org.springframework.context.support.AbstractApplicationContext} without refreshing. For example creating an
-     * {@link org.springframework.context.support.ClassPathXmlApplicationContext} you would need to pass in
-     * <tt>false</tt> in the refresh parameter, in the constructor.
-     * Camel will thrown an {@link IllegalStateException} if this is not correct stating this problem.
-     * The reason is that we cannot active profiles <b>after</b> a Spring application context has already
-     * been refreshed, and is active.
-     *
-     * @return an array of active profiles to use, use <tt>null</tt> to not use any active profiles.
-     */
-    protected String[] activeProfiles() {
-        return null;
-    }
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        // don't start the springCamelContext if we
-        return SpringCamelContext.springCamelContext(applicationContext, false);
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmx.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmx.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmx.java
deleted file mode 100644
index 1dd0ab1..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmx.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates if JMX should be globally disabled in the {@code CamelContext}s that are bootstrapped 
- * during the test through the use of Spring Test loaded application contexts.  Note that the
- * presence of this annotation will result in the manipulation of System Properties that
- * will affect Camel contexts constructed outside of the Spring Test loaded application contexts.
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface DisableJmx {
-    
-    /**
-     * Whether the test annotated with this annotation should be run with JMX disabled in Camel.
-     * Defaults to {@code true}. 
-     */
-    boolean value() default true;
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmxTestExecutionListener.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmxTestExecutionListener.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmxTestExecutionListener.java
deleted file mode 100644
index 1f16ebc..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/DisableJmxTestExecutionListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * 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.test.spring;
-
-import org.apache.camel.management.JmxSystemPropertyKeys;
-import org.springframework.test.context.TestContext;
-import org.springframework.test.context.support.AbstractTestExecutionListener;
-
-/**
- * Provides reset to pre-test state behavior for global enable/disable of JMX
- * support in Camel through the use of {@link DisableJmx}.
- * Tries to ensure that the pre-test value is restored.
- */
-public class DisableJmxTestExecutionListener extends AbstractTestExecutionListener {
-
-    @Override
-    public void afterTestClass(TestContext testContext) throws Exception {
-        if (CamelSpringTestHelper.getOriginalJmxDisabled() == null) {
-            System.clearProperty(JmxSystemPropertyKeys.DISABLED);
-        } else {
-            System.setProperty(JmxSystemPropertyKeys.DISABLED, CamelSpringTestHelper.getOriginalJmxDisabled());
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ExcludeRoutes.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ExcludeRoutes.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ExcludeRoutes.java
deleted file mode 100644
index 2b1617d..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ExcludeRoutes.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.RoutesBuilder;
-
-/**
- * Indicates if certain route builder classes should be excluded from discovery.  
- * Initializes a {@link org.apache.camel.spi.PackageScanClassResolver} to exclude a set of given
- * classes from being resolved. Typically this is used at test time to exclude certain routes,
- * which might otherwise be noisy, from being discovered and initialized.
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface ExcludeRoutes {
-
-    /**
-     * The classes to exclude from resolution when using package scanning.
-     */
-    Class<? extends RoutesBuilder>[] value() default {};
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/LazyLoadTypeConverters.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/LazyLoadTypeConverters.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/LazyLoadTypeConverters.java
deleted file mode 100644
index dc5e349..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/LazyLoadTypeConverters.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates if the {@code CamelContext}s that are bootstrapped during the test through the use of Spring Test
- * loaded application contexts should use lazy loading of type converters.
- * 
- * @deprecated See <a href="https://issues.apache.org/jira/browse/CAMEL-5011">CAMEL-5011</a> for more details.
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-@Deprecated
-public @interface LazyLoadTypeConverters {
-    
-    /**
-     * Whether the test annotated with this annotation should be run with lazy type converter loading in Camel.
-     * Defaults to {@code false}. 
-     */
-    boolean value() default false;
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpoints.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpoints.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpoints.java
deleted file mode 100644
index ff3f282..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpoints.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
-
-/**
- * Triggers the auto-mocking of endpoints whose URIs match the provided filter.  The default
- * filter is "*" which matches all endpoints.  See {@link InterceptSendToMockEndpointStrategy} for
- * more details on the registration of the mock endpoints.
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface MockEndpoints {
-    
-    /**
-     * The pattern to use for matching endpoints to enable mocking on.
-     */
-    String value() default "*";
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpointsAndSkip.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpointsAndSkip.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpointsAndSkip.java
deleted file mode 100644
index 1eb7e0f..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/MockEndpointsAndSkip.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
-
-/**
- * Triggers the auto-mocking of endpoints whose URIs match the provided filter with the added provision
- * that the endpoints are also skipped.  The default filter is "*" which matches all endpoints.
- * See {@link InterceptSendToMockEndpointStrategy} for more details on the registration of the mock endpoints.
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface MockEndpointsAndSkip {
-    
-    /**
-     * The pattern to use for matching endpoints to enable mocking on.
-     */
-    String value() default "*";
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/09cbccad/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ProvidesBreakpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ProvidesBreakpoint.java b/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ProvidesBreakpoint.java
deleted file mode 100644
index 3aea7d8..0000000
--- a/components/camel-test-spring40/src/main/java/org/apache/camel/test/spring/ProvidesBreakpoint.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 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.test.spring;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.spi.Breakpoint;
-
-/**
- * Indicates that the annotated method returns a {@link Breakpoint} for use in the test.  Useful for intercepting
- * traffic to all endpoints or simply for setting a break point in an IDE for debugging.  The method must
- * be {@code public}, {@code static}, take no arguments, and return {@link Breakpoint}.
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD})
-public @interface ProvidesBreakpoint {
-}