Author: buildbot
Date: Fri Mar 18 14:18:36 2016
New Revision: 983116
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/spring-boot.html
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/spring-boot.html
==============================================================================
--- websites/production/camel/content/spring-boot.html (original)
+++ websites/production/camel/content/spring-boot.html Fri Mar 18 14:18:36 2016
@@ -85,14 +85,14 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="SpringBoot-SpringBoot">Spring
Boot</h2><p><strong>Available as of Camel 2.15</strong></p><p><span
style="line-height: 1.4285715;">Spring Boot component provide
auto-configuration for the Apache Camel. Our opinionated
auto-configuration of the Camel context auto-detects Camel routes available in
the Spring context and registers the key Camel utilities (like producer
template, consumer template and the type converter) as
beans.</span></p><p><span style="line-height: 1.4285715;">Maven users will need
to add the following dependency to their </span><code style="line-height:
1.4285715;">pom.xml</code><span style="line-height: 1.4285715;"> for this
component:</span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="SpringBoot-SpringBoot">Spring
Boot</h2><p><strong>Available as of Camel 2.15</strong></p><p><span
style="line-height: 1.4285715;">Spring Boot component provides
auto-configuration for Apache Camel. Our opinionated auto-configuration of
the Camel context auto-detects Camel routes available in the Spring context
and registers the key Camel utilities (like producer template, consumer
template and the type converter) as beans.</span></p><p><span
style="line-height: 1.4285715;">Maven users will need to add the following
dependency to their </span><code style="line-height:
1.4285715;">pom.xml</code><span style="line-height: 1.4285715;"> for this
component:</span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-boot</artifactId>
<version>${camel.version}</version> <!-- use the same
version as your Camel core version -->
</dependency>
]]></script>
-</div></div><p><code>camel-spring-boot</code> jar comes with
the <code>spring.factories</code> file, so as soon as you add that
dependency into your classpath, Spring Boot will automatically auto-configure
the Camel for you.</p><h3 id="SpringBoot-CamelSpringBootStarter">Camel Spring
Boot Starter</h3><p><strong>Available as of Camel 2.17</strong></p><p>Apache
Camel ships a <a shape="rect" class="external-link"
href="https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters"
rel="nofollow">Spring Boot Starer</a> module that allows you to develop Spring
Boot applications using starter's. There is a <a shape="rect"
class="external-link"
href="https://github.com/apache/camel/tree/master/examples/camel-example-spring-boot-starter"
rel="nofollow">sample application</a> in the source code also.</p><p>To
use the starter add the following to your spring boot pom.xml file</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent pane
lContent pdl">
+</div></div><p><code>camel-spring-boot</code> jar comes with
the <code>spring.factories</code> file, so as soon as you add that
dependency into your classpath, Spring Boot will automatically auto-configure
Camel for you.</p><h3 id="SpringBoot-CamelSpringBootStarter">Camel Spring Boot
Starter</h3><p><strong>Available as of Camel 2.17</strong></p><p>Apache Camel
ships a <a shape="rect" class="external-link"
href="https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters"
rel="nofollow">Spring Boot Starter</a> module that allows you to develop
Spring Boot applications using starter's. There is a <a shape="rect"
class="external-link"
href="https://github.com/apache/camel/tree/master/examples/camel-example-spring-boot-starter"
rel="nofollow">sample application</a> in the source code also.</p><p>To
use the starter add the following to your spring boot pom.xml file</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelCo
ntent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
@@ -112,7 +112,7 @@ public class MyRoute extends RouteBuilde
from("timer:foo").to("log:bar");
}
}]]></script>
-</div></div><p>Then these routes will automatic be started.</p><p>You can
customize the Camel application in the <code>application.properties</code>
or <code>application.yml</code> file. </p><p> </p><h3
id="SpringBoot-Auto-configuredCamelcontext"><span style="line-height:
1.5625;">Auto-configured Camel context</span></h3><p>The most important piece
of functionality provided by the Camel auto-configuration is
<code>CamelContext</code> instance. Camel auto-configuration creates
<code>SpringCamelContext</code> for you and takes care of the proper
initialization and shutdown of that context. Created Camel context is also
registered in the Spring application context (under <code>camelContext</code>
bean name), so you can access it just as the any other Spring
bean.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><p>Then these routes will automatic be started.</p><p>You can
customize the Camel application in the <code>application.properties</code>
or <code>application.yml</code> file. </p><p> </p><h3
id="SpringBoot-Auto-configuredCamelcontext"><span style="line-height:
1.5625;">Auto-configured Camel context</span></h3><p>The most important piece
of functionality provided by the Camel auto-configuration is
<code>CamelContext</code> instance. Camel auto-configuration creates
<code>SpringCamelContext</code> for you and takes care of the proper
initialization and shutdown of that context. The created Camel context is
also registered in the Spring application context (under
<code>camelContext</code> bean name), so you can access it just as
 any other Spring bean.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[@Configuration
public class MyAppConfig {
@@ -125,7 +125,7 @@ public class MyAppConfig {
}
}]]></script>
-</div></div><h3 id="SpringBoot-Auto-detectingCamelroutes">Auto-detecting Camel
routes</h3><p>Camel auto-configuration collects all the
<code>RoutesBuilder</code> instances from the Spring context and automatically
injects them into the provided <code>CamelContext</code>. It means that
creating new Camel route with the Spring Boot starter is as simple
as adding the <code>@Component</code> annotated class into your
classpath:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><h3 id="SpringBoot-Auto-detectingCamelroutes">Auto-detecting Camel
routes</h3><p>Camel auto-configuration collects all the
<code>RouteBuilder</code> instances from the Spring context and automatically
injects them into the provided <code>CamelContext</code>. It means that
creating new Camel route with the Spring Boot starter is as simple
as adding the <code>@Component</code> annotated class into your
classpath:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[@Component
public class MyRouter extends RouteBuilder {
@@ -135,7 +135,7 @@ public class MyRouter extends RouteBuild
}
}]]></script>
-</div></div><p><br clear="none">...or creating new route
<code>RoutesBuilder</code> bean in your <code>@Configuration</code>
class:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><p><br clear="none">...or creating a new route
<code>RouteBuilder</code> bean in your <code>@Configuration</code>
class:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[@Configuration
public class MyRouterConfiguration {
@@ -152,7 +152,7 @@ public class MyRouterConfiguration {
}
Â
}]]></script>
-</div></div><h3 id="SpringBoot-Camelproperties">Camel properties</h3><p>Spring
Boot auto-configuration automatically connect <a shape="rect"
class="external-link"
href="http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config"
rel="nofollow">Spring Boot external configuration</a> (like properties
placeholders, <span>OS environment variables or system properties) with
the <a shape="rect" href="properties.html">Camel properties
support</a>.</span> It basically means that any property defined in
<code>application.properties</code> file:  </p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="SpringBoot-Camelproperties">Camel properties</h3><p>Spring
Boot auto-configuration automatically connects to <a shape="rect"
class="external-link"
href="http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config"
rel="nofollow">Spring Boot external configuration</a> (like properties
placeholders, <span>OS environment variables or system properties) with
the <a shape="rect" href="properties.html">Camel properties
support</a>.</span> It basically means that any property defined in
<code>application.properties</code> file:  </p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[route.from = jms:invoices]]></script>
</div></div><p>...or set via system property...</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[java -Droute.to=jms:processed.invoices -jar
mySpringApp.jar]]></script>
@@ -217,7 +217,7 @@ public class InvoiceProcessor {
}
}]]></script>
-</div></div><h3 id="SpringBoot-SpringtypeconversionAPIbridge">Spring type
conversion API bridge</h3><p>Spring comes with the powerful <a
shape="rect" class="external-link"
href="http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert"
rel="nofollow">type conversion API</a>. Spring API happens not to be much
different from the Camel <a shape="rect" href="type-converter.html">type
converter API</a>. As those APIs are so similar, Camel Spring Boot
automatically registers bridge converter (<code>SpringTypeConverter</code>)
that delegates to the Spring conversion API. It basically means that
out-of-the-box Camel will threat Spring Converters as Camel ones. With this
approach you can enjoy both Camel and Spring converters accessed via Camel
<code>TypeConverter</code> API:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="SpringBoot-SpringtypeconversionAPIbridge">Spring type
conversion API bridge</h3><p>Spring comes with the powerful <a
shape="rect" class="external-link"
href="http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert"
rel="nofollow">type conversion API</a>. Spring API happens not to be much
different from the Camel <a shape="rect" href="type-converter.html">type
converter API</a>. As those APIs are so similar, Camel Spring Boot
automatically registers bridge converter (<code>SpringTypeConverter</code>)
that delegates to the Spring conversion API. It basically means that
out-of-the-box Camel will treat Spring Converters as Camel ones. With this
approach you can enjoy both Camel and Spring converters accessed via Camel
<code>TypeConverter</code> API:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[@Component
public class InvoiceProcessor {
@@ -284,7 +284,7 @@ public class MyFatJarRouterWarInitialize
}
}]]></script>
-</div></div><h3 id="SpringBoot-Blockingmainthread">Blocking main
thread</h3><p>This feature is available starting from the Camel
<strong>2.15.2</strong>. Camel applications extending FatJarRouter by
default block the main thread of the application. It means that after you
start your fat jar, your application waits for Ctrl+C signal and doesn't exit
immediately. If you would like to achieve similar behavior for
non-<code>FatJarRouter</code> applications, retrieve <code><span
style="line-height: 1.4285715;">CamelSpringBootApplicationController
</span></code><span style="line-height: 1.4285715;">bean from your
<code>ApplicationContext</code> and use the former to block the main thread of
your application using
<span><code>CamelSpringBootApplicationController#blockMainThread()</code>
method</span>.</span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="SpringBoot-Blockingmainthread">Blocking main
thread</h3><p>This feature is available starting from Camel
<strong>2.15.2</strong>. Camel applications extending FatJarRouter by
default block the main thread of the application. It means that after you
start your fat jar, your application waits for Ctrl+C signal and does not exit
immediately. If you would like to achieve similar behavior for
non-<code>FatJarRouter</code> applications, retrieve <code><span
style="line-height: 1.4285715;">CamelSpringBootApplicationController
</span></code><span style="line-height: 1.4285715;">bean from your
<code>ApplicationContext</code> and use the former to block the main thread of
your application using
<span><code>CamelSpringBootApplicationController#blockMainThread()</code>
method</span>.</span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[public static void main(String... args) {
ApplicationContext applicationContext = new
SpringApplication(MyCamelApplication.class).run(args);
CamelSpringBootApplicationController applicationController =