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/07/29 11:36:00 UTC

[3/3] camel git commit: CAMEL-10119: Upgrade to Spring 4.3 and SpringBoot 1.4

CAMEL-10119: Upgrade to Spring 4.3 and SpringBoot 1.4


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

Branch: refs/heads/master
Commit: 06181d268fa27e0dbd0660c1c50b0f4def76854c
Parents: 7f88a94
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Jul 29 13:06:24 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Jul 29 13:35:52 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/netty4-http.adoc              |  4 +-
 .../NettyComponentAutoConfiguration.java        |  2 +-
 .../camel/spring/boot/CamelAnnotationsTest.java | 10 ++---
 .../CamelAutoConfigurationPropertiesTest.java   | 34 +++++++++------
 .../spring/boot/CamelAutoConfigurationTest.java | 11 +++--
 .../boot/CamelConfigurationLocationsTest.java   | 38 ++++++++--------
 .../spring/boot/CamelEventNotifierTest.java     | 46 +++++++++++---------
 .../boot/CamelNonInvasiveCamelContextTest.java  |  8 ++--
 .../boot/CamelSpringBootShutdownTest.java       |  8 ++--
 .../boot/ExistingConversionServiceTest.java     | 14 +++---
 .../camel/spring/boot/NoConvertersTest.java     | 10 ++---
 .../boot/SpringConverterDelegationTest.java     | 26 ++++++-----
 .../boot/componentroute/ComponentRouteTest.java |  8 ++--
 .../JUnitFatJarRouterTest.java                  | 12 +++--
 .../StandaloneFatJarRouterTest.java             |  2 +-
 .../spring/boot/health/CamelHealthTest.java     |  8 ++--
 .../boot/mockendpoints/AdviceWithTest.java      |  4 +-
 .../boot/mockendpoints/MockEndpointsTest.java   |  4 +-
 parent/pom.xml                                  | 14 +++---
 19 files changed, 138 insertions(+), 125 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-netty4-http/src/main/docs/netty4-http.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http.adoc b/components/camel-netty4-http/src/main/docs/netty4-http.adoc
index 8cddc30..7999e1e 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http.adoc
@@ -103,6 +103,7 @@ The Netty4 HTTP component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty4 HTTP component supports 81 endpoint options which are listed below:
 
@@ -126,7 +127,6 @@ The Netty4 HTTP component supports 81 endpoint options which are listed below:
 | backlog | consumer (advanced) |  | int | Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200 500 or 1000 tells the TCP stack how long the accept queue can be If this option is not configured then the backlog depends on OS setting.
 | bossCount | consumer (advanced) | 1 | int | When netty works on nio mode it uses default bossCount parameter from Netty which is 1. User can use this operation to override the default bossCount from Netty
 | bossGroup | consumer (advanced) |  | EventLoopGroup | Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint
-| channelGroup | consumer (advanced) |  | ChannelGroup | To use a explicit ChannelGroup.
 | chunkedMaxContentLength | consumer (advanced) | 1048576 | int | Value in bytes the max content length per chunked frame received on the Netty HTTP server.
 | compression | consumer (advanced) | false | boolean | Allow using gzip/deflate for compression on the Netty HTTP server if the client supports it from the HTTP headers.
 | disconnectOnNoReply | consumer (advanced) | true | boolean | If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.
@@ -159,6 +159,7 @@ The Netty4 HTTP component supports 81 endpoint options which are listed below:
 | producerPoolMinIdle | producer (advanced) |  | int | Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.
 | useRelativePath | producer (advanced) | false | boolean | Sets whether to use a relative path in HTTP requests.
 | bootstrapConfiguration | advanced |  | NettyServerBootstrapConfiguration | To use a custom configured NettyServerBootstrapConfiguration for configuring this endpoint.
+| channelGroup | advanced |  | ChannelGroup | To use a explicit ChannelGroup.
 | configuration | advanced |  | NettyHttpConfiguration | To use a custom configured NettyHttpConfiguration for configuring this endpoint.
 | disableStreamCache | advanced | false | boolean | Determines whether or not the raw input stream from Netty HttpRequestgetContent() or HttpResponsetgetContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream such as streaming it directly to a file or other persistent store. Mind that if you enable this option then you cannot read the Netty stream multiple times out of the box and you would need manually to reset the reader index on the Netty raw stream. Also Netty will auto-close the Netty stream when the Netty HTTP server/HTTP client is done processing which means that if the asynchronous routing engine is in use then any asynchronous thread that may continue routing the org.apache.camel.Exc
 hange may not be able to read the Netty stream because Netty has closed it.
 | exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange
@@ -199,6 +200,7 @@ The Netty4 HTTP component supports 81 endpoint options which are listed below:
 
 
 
+
 [[Netty4HTTP-MessageHeaders]]
 Message Headers
 ^^^^^^^^^^^^^^^

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/springboot/NettyComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/springboot/NettyComponentAutoConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/springboot/NettyComponentAutoConfiguration.java
index 0ad4bdb..03aeb8d 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/springboot/NettyComponentAutoConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/springboot/NettyComponentAutoConfiguration.java
@@ -34,7 +34,7 @@ import org.springframework.context.annotation.Configuration;
 @EnableConfigurationProperties(NettyComponentConfiguration.class)
 public class NettyComponentAutoConfiguration {
 
-    @Bean
+    @Bean(name = "netty4-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(NettyComponent.class)
     public NettyComponent configureNettyComponent(CamelContext camelContext,

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAnnotationsTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAnnotationsTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAnnotationsTest.java
index dbe5720..3909be3 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAnnotationsTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAnnotationsTest.java
@@ -26,16 +26,14 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = {CamelAnnotationsTest.class, CamelAnnotationsTestConfig.class})
-@IntegrationTest
+@SpringBootTest(classes = {CamelAnnotationsTest.class, CamelAnnotationsTestConfig.class})
 public class CamelAnnotationsTest extends Assert {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationPropertiesTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationPropertiesTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationPropertiesTest.java
index 452d38a..8726b88 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationPropertiesTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationPropertiesTest.java
@@ -26,15 +26,14 @@ import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = CamelAutoConfigurationPropertiesTest.class)
-@IntegrationTest("camel.springboot.jmxEnabled=false")
+@SpringBootTest(classes = CamelAutoConfigurationPropertiesTest.class, properties = "camel.springboot.jmxEnabled=false")
 public class CamelAutoConfigurationPropertiesTest extends Assert {
 
     // Route fixtures
@@ -52,14 +51,21 @@ public class CamelAutoConfigurationPropertiesTest extends Assert {
 
     // Spring context fixtures
 
-    @Bean
-    RouteBuilder routeBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from(from).to("{{to}}");
-            }
-        };
+    @Configuration
+    static class Config {
+
+        @Value("${from}")
+        String from;
+
+        @Bean
+        RouteBuilder routeBuilder() {
+            return new RouteBuilder() {
+                @Override
+                public void configure() throws Exception {
+                    from(from).to("{{to}}");
+                }
+            };
+        }
     }
 
     // Tests

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationTest.java
index 7a1e31f..c0260bc 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelAutoConfigurationTest.java
@@ -29,20 +29,19 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
 import static org.apache.camel.spring.boot.TestConfig.ROUTE_ID;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = {TestConfig.class, CamelAutoConfigurationTest.class, RouteConfigWithCamelContextInjected.class})
-@IntegrationTest({
+@SpringBootTest(classes = {TestConfig.class, CamelAutoConfigurationTest.class, RouteConfigWithCamelContextInjected.class},
+properties = {
         "camel.springboot.consumerTemplateCacheSize=100",
         "camel.springboot.jmxEnabled=true",
         "camel.springboot.name=customName",

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelConfigurationLocationsTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelConfigurationLocationsTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelConfigurationLocationsTest.java
index 2d8691a..8dd0624 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelConfigurationLocationsTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelConfigurationLocationsTest.java
@@ -24,34 +24,38 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = CamelConfigurationLocationsTest.class)
-@IntegrationTest("camel.springboot.file-configurations=file:src/test/secret/*.properties")
+@SpringBootTest(classes = CamelConfigurationLocationsTest.class, properties = "camel.springboot.file-configurations=file:src/test/secret/*.properties")
 public class CamelConfigurationLocationsTest extends Assert {
 
+    @Configuration
+    static class Config {
+
+        @Bean
+        RouteBuilder routeBuilder() {
+            return new RouteBuilder() {
+                @Override
+                public void configure() throws Exception {
+                    from("direct:foo")
+                            .to("stub:foo?password={{mypassword}}");
+                }
+            };
+        }
+
+    }
+
     @Autowired
     CamelContext camelContext;
 
     @Autowired
     ProducerTemplate producerTemplate;
 
-    @Bean
-    RouteBuilder routeBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:foo")
-                    .to("stub:foo?password={{mypassword}}");
-            }
-        };
-    }
-
     @Test
     public void shouldSecret() throws InterruptedException {
         Object endpoint = camelContext.hasEndpoint("stub:foo?password=1234");

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelEventNotifierTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelEventNotifierTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelEventNotifierTest.java
index 1c313d4..5f32aa8 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelEventNotifierTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelEventNotifierTest.java
@@ -30,31 +30,42 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = CamelEventNotifierTest.class)
+@SpringBootTest(classes = CamelEventNotifierTest.class)
 public class CamelEventNotifierTest extends Assert {
 
+    @Configuration
+    static class Config {
+
+        @Bean
+        RouteBuilder routeBuilder() {
+            return new RouteBuilder() {
+                @Override
+                public void configure() throws Exception {
+                    from("direct:start").to("mock:result");
+                }
+            };
+        }
+
+        @Bean
+        public EventNotifier myEventNotifier() {
+            return new MyEventNotifier();
+        }
+
+    }
+
     @Autowired
     CamelContext camelContext;
 
     @Autowired
     ProducerTemplate producerTemplate;
 
-    @Bean
-    RouteBuilder routeBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("mock:result");
-            }
-        };
-    }
-
     @Test
     public void testEventNotifier() throws InterruptedException {
         MockEndpoint mockEndpoint = camelContext.getEndpoint("mock:result", MockEndpoint.class);
@@ -69,12 +80,7 @@ public class CamelEventNotifierTest extends Assert {
         assertTrue(notifier.getCount() > 0);
     }
 
-    @Bean
-    public EventNotifier myEventNotifier() {
-        return new MyEventNotifier();
-    }
-
-    private class MyEventNotifier extends EventNotifierSupport {
+    public static class MyEventNotifier extends EventNotifierSupport {
 
         private final AtomicInteger counter = new AtomicInteger();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelNonInvasiveCamelContextTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelNonInvasiveCamelContextTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelNonInvasiveCamelContextTest.java
index 55b3ee6..d6fd9e8 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelNonInvasiveCamelContextTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelNonInvasiveCamelContextTest.java
@@ -26,16 +26,16 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.ImportResource;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = { TestApplication.class, CamelNonInvasiveCamelContextTest.class })
+@SpringBootTest(classes = { TestApplication.class, CamelNonInvasiveCamelContextTest.class })
 public class CamelNonInvasiveCamelContextTest {
 
     // Collaborators fixtures

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelSpringBootShutdownTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelSpringBootShutdownTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelSpringBootShutdownTest.java
index f2a8611..f5e036a 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelSpringBootShutdownTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CamelSpringBootShutdownTest.java
@@ -28,13 +28,13 @@ import org.apache.camel.impl.converter.DefaultTypeConverter;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.annotation.DirtiesContext.ClassMode;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
 /**
  * Test class illustrating the invalid shutdown sequence when using the autoconfiguration
@@ -49,11 +49,11 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  * As a consequence, any inflight message that should be processed during the graceful
  * shutdown period of Camel won't have access to any type conversion support.
  */
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
 // Let the CamelAutoConfiguration do all the configuration for us
 // including the TypeConverter registration into the ApplicationContext
-@SpringApplicationConfiguration({CamelAutoConfiguration.class, CamelSpringBootShutdownTest.TestRouteConfiguration.class})
+@SpringBootTest(classes = {CamelAutoConfiguration.class, CamelSpringBootShutdownTest.TestRouteConfiguration.class})
 public class CamelSpringBootShutdownTest {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/ExistingConversionServiceTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/ExistingConversionServiceTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/ExistingConversionServiceTest.java
index 699f598..17c4a55 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/ExistingConversionServiceTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/ExistingConversionServiceTest.java
@@ -20,24 +20,24 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.core.convert.support.DefaultConversionService;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
 import static org.apache.camel.spring.boot.ConversionServiceConfig.providedConversionService;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = ConversionServiceConfig.class)
-@IntegrationTest
+@SpringBootTest(classes = ConversionServiceConfig.class)
 public class ExistingConversionServiceTest extends Assert {
 
     @Autowired
+    @Qualifier("myService")
     ConversionService conversionService;
 
     @Test
@@ -52,7 +52,7 @@ class ConversionServiceConfig {
 
     static ConversionService providedConversionService = new DefaultConversionService();
 
-    @Bean
+    @Bean(name = "myService")
     ConversionService providedConversionService() {
         return providedConversionService;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/NoConvertersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/NoConvertersTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/NoConvertersTest.java
index e27ec54..e12d4a6 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/NoConvertersTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/NoConvertersTest.java
@@ -23,15 +23,13 @@ import org.junit.runner.RunWith;
 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = NoConvertersTest.class)
-@IntegrationTest("camel.springboot.typeConversion=false")
+@SpringBootTest(classes = NoConvertersTest.class, properties = "camel.springboot.typeConversion=false")
 public class NoConvertersTest extends Assert {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/SpringConverterDelegationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/SpringConverterDelegationTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/SpringConverterDelegationTest.java
index c961740..807bf10 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/SpringConverterDelegationTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/SpringConverterDelegationTest.java
@@ -22,18 +22,27 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
 import org.springframework.core.convert.converter.Converter;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
-@SpringApplicationConfiguration(classes = SpringConverterDelegationTest.class)
-@IntegrationTest("camel.springboot.typeConversion=true")
+@SpringBootTest(classes = SpringConverterDelegationTest.class, properties = "camel.springboot.typeConversion=true")
 public class SpringConverterDelegationTest extends Assert {
 
+    @Configuration
+    static class Config {
+
+        @Bean
+        ConvertableConverter convertableConverter() {
+            return new ConvertableConverter();
+        }
+
+    }
+
     @Autowired
     TypeConverter typeConverter;
 
@@ -43,11 +52,6 @@ public class SpringConverterDelegationTest extends Assert {
         assertEquals("converted!", result);
     }
 
-    @Bean
-    ConvertableConverter convertableConverter() {
-        return new ConvertableConverter();
-    }
-
 }
 
 class Convertable {

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/componentroute/ComponentRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/componentroute/ComponentRouteTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/componentroute/ComponentRouteTest.java
index c950f1e..45b8a28 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/componentroute/ComponentRouteTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/componentroute/ComponentRouteTest.java
@@ -24,12 +24,12 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.SpringApplicationConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @SpringBootApplication
-@SpringApplicationConfiguration(classes = ComponentRouteTest.class)
+@SpringBootTest(classes = ComponentRouteTest.class)
 public class ComponentRouteTest extends Assert {
 
     @EndpointInject(uri = "mock:componentRoute")

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
index 6014580..2c1611c 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/JUnitFatJarRouterTest.java
@@ -24,17 +24,15 @@ import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.util.SocketUtils;
 
-@RunWith(SpringJUnit4ClassRunner.class)
-@SpringApplicationConfiguration(classes = TestFatJarRouter.class)
-@IntegrationTest("spring.main.sources=org.apache.camel.spring.boot.fatjarroutertests")
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TestFatJarRouter.class, properties = "spring.main.sources=org.apache.camel.spring.boot.fatjarroutertests")
 public class JUnitFatJarRouterTest extends Assert {
 
-    static int port = SocketUtils.findAvailableTcpPort();
+    static int port = SocketUtils.findAvailableTcpPort(20000);
 
     @BeforeClass
     public static void beforeClass() {

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
index 267eaeb..5c6394d 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/fatjarroutertests/StandaloneFatJarRouterTest.java
@@ -37,7 +37,7 @@ public class StandaloneFatJarRouterTest extends Assert {
     @Test
     public void shouldStartCamelRoute() throws InterruptedException, IOException {
         // Given
-        final int port = SocketUtils.findAvailableTcpPort();
+        final int port = SocketUtils.findAvailableTcpPort(20000);
         final URL httpEndpoint = new URL("http://localhost:" + port);
         new Thread() {
             @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/health/CamelHealthTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/health/CamelHealthTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/health/CamelHealthTest.java
index f356ee6..0f0fed0 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/health/CamelHealthTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/health/CamelHealthTest.java
@@ -25,13 +25,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.actuate.health.Health;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.SpringApplicationConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@RunWith(SpringRunner.class)
 @EnableAutoConfiguration
 @SpringBootApplication
-@SpringApplicationConfiguration(classes = {CamelAutoConfiguration.class, CamelHealthAutoConfiguration.class, MyCamelRoute.class})
+@SpringBootTest(classes = {CamelAutoConfiguration.class, CamelHealthAutoConfiguration.class, MyCamelRoute.class})
 public class CamelHealthTest extends Assert {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
index c4feae9..ccf2bf0 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
@@ -26,12 +26,12 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 
 @RunWith(CamelSpringBootRunner.class)
 @UseAdviceWith
 @SpringBootApplication
-@SpringApplicationConfiguration({AdviceWithTest.class})
+@SpringBootTest(classes = AdviceWithTest.class)
 public class AdviceWithTest {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/MockEndpointsTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/MockEndpointsTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/MockEndpointsTest.java
index d315bc5..80b6c9d 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/MockEndpointsTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/MockEndpointsTest.java
@@ -25,12 +25,12 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
 
 @RunWith(CamelSpringBootRunner.class)
 @MockEndpoints
 @SpringBootApplication
-@SpringApplicationConfiguration({MockEndpointsTest.class})
+@SpringBootTest(classes = MockEndpointsTest.class)
 public class MockEndpointsTest {
 
     @Autowired

http://git-wip-us.apache.org/repos/asf/camel/blob/06181d26/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index f9f0bfc..fa39076 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -362,7 +362,7 @@
     <juel-version>2.1.3</juel-version>
     <!-- camel-itest-karaf doesn't work with JUnit 4.12 at present -->
     <junit-bundle-version>4.11_1</junit-bundle-version>
-    <junit-version>4.11</junit-version>
+    <junit-version>4.12</junit-version>
     <jython-version>2.5.3</jython-version>
     <jzlib-version>1.1.3</jzlib-version>
     <jzlib-bundle-version>1.1.3_2</jzlib-bundle-version>
@@ -425,7 +425,7 @@
     <mina2-version>2.0.13</mina2-version>
     <minimal-json-version>0.9.4</minimal-json-version>
     <mock-javamail-version>1.9</mock-javamail-version>
-    <mockito-version>1.9.5</mockito-version>
+    <mockito-version>1.10.19</mockito-version>
     <mongo-java-driver-version>3.3.0</mongo-java-driver-version>
     <mongo-hadoop-version>1.5.0</mongo-hadoop-version>
     <mqtt-client-version>1.14</mqtt-client-version>
@@ -532,11 +532,11 @@
     <splunk-version>1.5.0.0_1</splunk-version>
     <spring-batch-version>3.0.7.RELEASE</spring-batch-version>
     <spring-batch-bundle-version>3.0.7.RELEASE_1</spring-batch-bundle-version>
-    <spring-boot-version>1.3.7.RELEASE</spring-boot-version>
+    <spring-boot-version>1.4.0.RELEASE</spring-boot-version>
     <spring-castor-bundle-version>1.2.0</spring-castor-bundle-version>
     <spring-data-commons-version>1.6.5.RELEASE</spring-data-commons-version>
     <spring-data-redis-version>1.6.4.RELEASE</spring-data-redis-version>
-    <spring-integration-version>4.2.3.RELEASE</spring-integration-version>
+    <spring-integration-version>4.3.1.RELEASE</spring-integration-version>
     <spring-javaconfig-version>1.0.0-20090215</spring-javaconfig-version>
     <spring-ldap-version>2.0.4.RELEASE</spring-ldap-version>
     <spring-ldap-bundle-version>2.0.3.RELEASE_1</spring-ldap-bundle-version>
@@ -554,8 +554,8 @@
     <spring-version>${spring4-version}</spring-version>
     <spring40-version>4.0.9.RELEASE</spring40-version>
     <spring41-version>4.1.9.RELEASE</spring41-version>
-    <spring42-version>4.2.7.RELEASE</spring42-version>
-    <spring4-version>4.2.7.RELEASE</spring4-version>
+    <spring42-version>4.3.2.RELEASE</spring42-version>
+    <spring4-version>4.3.2.RELEASE</spring4-version>
     <spring-osgi-version>1.2.1</spring-osgi-version>
     <spring-security-version>4.0.4.RELEASE</spring-security-version>
     <spring-security-bundle-version>4.0.4.RELEASE_1</spring-security-bundle-version>
@@ -2589,8 +2589,6 @@
           <version>${pax-exam-version}</version>
       </dependency>
 
-
-
       <!-- optional Saxon support -->
       <dependency>
         <groupId>net.sf.saxon</groupId>