Author: buildbot
Date: Wed Jan 18 17:22:10 2017
New Revision: 1005169

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/jpa.html

Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Wed Jan 18 
17:22:10 2017
@@ -621,8 +621,8 @@ cometds://localhost:8443/service/mychann
  <div class="confluence-information-macro-body">
   <p>When using CXF in streaming modes (see DataFormat option), then also read 
about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p>
  </div>
-</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1484223540533 {padding: 0px;} div.rbtoc1484223540533 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1484223540533 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1484223540533"> 
+</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1484760026622 {padding: 0px;} div.rbtoc1484760026622 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1484760026622 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1484760026622"> 
   <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-CXFComponent">CXF Component</a> 
     <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookComponentAppendix-Options">Options</a> 
       <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions 
of the dataformats</a> 
@@ -3332,7 +3332,7 @@ cometds://localhost:8443/service/mychann
  <div class="codeContent panelContent pdl"> 
   <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;dependency&amp;gt; 
&amp;lt;groupId&amp;gt;org.apache.camel&amp;lt;/groupId&amp;gt; 
&amp;lt;artifactId&amp;gt;camel-jpa&amp;lt;/artifactId&amp;gt; 
&amp;lt;version&amp;gt;x.x.x&amp;lt;/version&amp;gt; &amp;lt;!-- use the same 
version as your Camel core version --&amp;gt; &amp;lt;/dependency&amp;gt; 
</script> 
  </div>
-</div><h3 id="BookComponentAppendix-Sendingtotheendpoint.2">Sending to the 
endpoint</h3><p>You can store a Java entity bean in a database by sending it to 
a JPA producer endpoint. The body of the <em>In</em> message is assumed to be 
an entity bean (that is, a POJO with an <a shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="BookComponentAppendix-Consumingfromtheendpoint.2">Consuming 
from the endpoint</h3><p>Consuming messages from a JPA consumer endpoint 
removes (
 or updates) entity beans in the database. This allows you to use a database 
table as a logical queue: consumers take messages from the queue and then 
delete/update them to logically remove them from the queue.</p><p>If you do not 
wish to delete the entity bean when it has been processed (and when routing is 
done), you can specify <code>consumeDelete=false</code> on the URI. This will 
result in the entity being processed each poll.</p><p>If you would rather 
perform some update on the entity to mark it as processed (such as to exclude 
it from a future query) then you can annotate a method with <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apac
 
he.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/PreConsumed.html">@PreConsumed</a>
 which will be invoked on your entity bean before it has been processed (before 
routing).</p><p>If you are consuming a lot (100K+) of rows and experience 
OutOfMemory problems you should set the maximumResults to sensible 
value.</p><h3 id="BookComponentAppendix-URIformat.33">URI format</h3><div 
class="code panel pdl" style="border-width: 1px;">
+</div><p>Sending to the endpoint</p><p>You can store a Java entity bean in a 
database by sending it to a JPA producer endpoint. The body of the <em>In</em> 
message is assumed to be an entity bean (that is, a POJO with an <a 
shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="BookComponentAppendix-Consumingfromtheendpoint.2">Consuming 
from the endpoint</h3><p>Consuming messages from a JPA consumer endpoint 
removes (or updates) entity beans in the database. This allow
 s you to use a database table as a logical queue: consumers take messages from 
the queue and then delete/update them to logically remove them from the 
queue.</p><p>If you do not wish to delete the entity bean when it has been 
processed (and when routing is done), you can specify 
<code>consumeDelete=false</code> on the URI. This will result in the entity 
being processed each poll.</p><p>If you would rather perform some update on the 
entity to mark it as processed (such as to exclude it from a future query) then 
you can annotate a method with <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/ca
 mel/component/jpa/PreConsumed.html">@PreConsumed</a> which will be invoked on 
your entity bean before it has been processed (before routing).</p><p>If you 
are consuming a lot (100K+) of rows and experience OutOfMemory problems you 
should set the maximumResults to sensible value.</p><p><strong>Note:</strong> 
Since <strong>Camel 2.18</strong>, JPA now includes a 
<code>JpaPollingConsumer</code> implementation that better supports Content 
Enricher using <code>pollEnrich()</code> to do an on-demand poll that returns 
either none, one or a list of entities as the result.</p><h3 
id="BookComponentAppendix-URIformat.33">URI format</h3><div class="code panel 
pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">jpa:entityClassName[?options] </script> 
  </div>
@@ -5321,7 +5321,7 @@ test.endpoint = result2</pre>
  </div>
 </div><h3 id="BookComponentAppendix-SMSlimitations">SMS limitations</h3><p>SMS 
is neither reliable or secure.&#160; Users who require reliable and secure 
delivery may want to consider using the XMPP or SIP components instead, 
combined with a smartphone app supporting the chosen 
protocol.</p><ul><li>Reliability: although the SMPP standard offers a range of 
feedback mechanisms to indicate errors, non-delivery and confirmation of 
delivery it is not uncommon for mobile networks to hide or simulate these 
responses.&#160; For example, some networks automatically send a delivery 
confirmation for every message even if the destination number is invalid or not 
switched on.&#160; Some networks silently drop messages if they think they are 
spam.&#160; Spam detection rules in the network may be very crude, sometimes 
more than 100 messages per day from a single sender may be considered 
spam.</li><li>Security: there is basic encryption for the last hop from the 
radio tower down to the recipient ha
 ndset.&#160; SMS messages are not encrypted or authenticated in any other part 
of the network.&#160; Some operators allow staff in retail outlets or call 
centres to browse through the SMS message histories of their customers.&#160; 
Message sender identity can be easily forged.&#160; Regulators and even the 
mobile telephone industry itself has cautioned against the use of SMS in 
two-factor authentication schemes and other purposes where security is 
important.</li></ul><p>While the Camel component makes it as easy as possible 
to send messages to the SMS network, it can not offer an easy solution to these 
problems.</p><h2 
id="BookComponentAppendix-Datacoding,alphabetandinternationalcharactersets">Data
 coding, alphabet and international character sets</h2><p>Data coding and 
alphabet can be specified on a per-message basis.&#160; Default values can be 
specified for the endpoint.&#160; It is important to understand the 
relationship between these options and the way the component acts when
  more than one value is set.</p><p>Data coding is an 8 bit field in the SMPP 
wire format.</p><p>Alphabet corresponds to bits 0-3 of the data coding 
field.&#160; For some types of message, where a message class is used (by 
setting bit 5 of the data coding field), the lower two bits of the data coding 
field are not interpreted as alphabet and only bits 2 and 3 impact the 
alphabet.</p><p>Furthermore, current version of the JSMPP library only seems to 
support bits 2 and 3, assuming that bits 0 and 1 are used for message 
class.&#160; This is why the Alphabet class in JSMPP doesn't support the value 
3 (binary 0011) which indicates ISO-8859-1.</p><p>Although JSMPP provides a 
representation of the message class parameter, the Camel component doesn't 
currently provide a way to set it other than manually setting the corresponding 
bits in the data coding field.</p><p>When setting the data coding field in the 
outgoing message, the Camel component considers the following values and uses 
the firs
 t one it can find:</p><ul><li>the data coding specified in a 
header</li><li>the alphabet specified in a header</li><li>the data coding 
specified in the endpoint configuration (URI parameter)</li></ul><p>Older 
versions of Camel had bugs in support for international character sets.&#160; 
This feature only worked when a single encoding was used for all messages and 
was troublesome when users wanted to change it on a per-message basis.&#160; 
Users who require this to work should ensure their version of Camel includes 
the fix for&#160;
  </p><div class="aui-message warning jim-inline-block"> 
-  <span class="aui-icon icon-warning"></span>JIRA Issues Macro: 
com.atlassian.sal.api.net.ResponseStatusException: Unexpected response 
received. Status code: 404 
+  <span class="aui-icon icon-warning"></span>JIRA Issues Macro: Unable to 
locate JIRA server for this macro. It may be due to Application Link 
configuration. 
  </div> .<p>In addition to trying to send the data coding value to the SMSC, 
the Camel component also tries to analyze the message body, convert it to a 
Java String (Unicode) and convert that to a byte array in the corresponding 
alphabet&#160; When deciding which alphabet to use in the byte array, the Camel 
SMPP component does not consider the data coding value (header or 
configuration), it only considers the specified alphabet (from either the 
header or endpoint parameter).</p><p>If some characters in the String can't be 
represented in the chosen alphabet, they may be replaced by the question mark ( 
? ) symbol.&#160; Users of the API may want to consider checking if their 
message body can be converted to ISO-8859-1 before passing it to the component 
and if not, setting the alphabet header to request UCS-2 encoding.&#160; If the 
alphabet and data coding options are not specified at all then the component 
may try to detect the required encoding and set the data coding for you.</p><p>
 The list of alphabet codes are specified in the SMPP specification v3.4, 
section 5.2.19.&#160; One notable limitation of the SMPP specification is that 
there is no alphabet code for explicitly requesting use of the GSM 3.38 (7 bit) 
character set.&#160; Choosing the value 0 for the alphabet selects the SMSC 
<em>default</em> alphabet, this usually means GSM 3.38 but it is not 
guaranteed.&#160; The SMPP gateway Nexmo <a shape="rect" class="external-link" 
href="https://help.nexmo.com/hc/en-us/articles/204015813-How-to-change-the-character-encoding-in-SMPP-";
 rel="nofollow">actually allows the default to be mapped to any other character 
set with a control panel option</a>. It is suggested that users check with 
their SMSC operator to confirm exactly which character set is being used as the 
default.</p><h3 
id="BookComponentAppendix-Messagesplittingandthrottling">Message splitting and 
throttling</h3><p>After transforming a message body from a String to a byte 
array, the Camel component is al
 so responsible for splitting the message into parts (within the 140 byte SMS 
size limit) before passing it to JSMPP.&#160; This is completed 
automatically.</p><p>If the GSM 3.38 alphabet is used, the component will pack 
up to 160 characters into the 140 byte message body.&#160; If an 8 bit 
character set is used (e.g. ISO-8859-1 for western Europe) then 140 characters 
will be allowed within the 140 byte message body.&#160; If 16 bit UCS-2 
encoding is used then just 70 characters fit into each 140 byte 
message.</p><p>Some SMSC providers implement throttling rules.&#160; Each part 
of a message that has been split may be counted separately by the provider's 
throttling mechanism.&#160; The Camel Throttler component can be useful for 
throttling messages in the SMPP route before handing them to the SMSC.</p><h3 
id="BookComponentAppendix-URIformat.59">URI format</h3><div class="code panel 
pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">smpp://[username@]hostname[:port][?options] 
smpps://[username@]hostname[:port][?options] </script> 

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Jan 18 17:22:10 
2017
@@ -3940,11 +3940,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1484223588784 {padding: 0px;}
-div.rbtoc1484223588784 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1484223588784 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1484760038950 {padding: 0px;}
+div.rbtoc1484760038950 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1484760038950 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1484223588784">
+/*]]>*/</style></p><div class="toc-macro rbtoc1484760038950">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -6059,11 +6059,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1484223589479 {padding: 0px;}
-div.rbtoc1484223589479 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1484223589479 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1484760039237 {padding: 0px;}
+div.rbtoc1484760039237 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1484760039237 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1484223589479">
+/*]]>*/</style><div class="toc-macro rbtoc1484760039237">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -14244,8 +14244,8 @@ cometds://localhost:8443/service/mychann
  <div class="confluence-information-macro-body">
   <p>When using CXF in streaming modes (see DataFormat option), then also read 
about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p>
  </div>
-</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1484223615213 {padding: 0px;} div.rbtoc1484223615213 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1484223615213 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1484223615213"> 
+</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1484760041172 {padding: 0px;} div.rbtoc1484760041172 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1484760041172 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1484760041172"> 
   <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a> 
     <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a> 
       <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a> 
@@ -16955,7 +16955,7 @@ cometds://localhost:8443/service/mychann
  <div class="codeContent panelContent pdl"> 
   <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;dependency&amp;gt; 
&amp;lt;groupId&amp;gt;org.apache.camel&amp;lt;/groupId&amp;gt; 
&amp;lt;artifactId&amp;gt;camel-jpa&amp;lt;/artifactId&amp;gt; 
&amp;lt;version&amp;gt;x.x.x&amp;lt;/version&amp;gt; &amp;lt;!-- use the same 
version as your Camel core version --&amp;gt; &amp;lt;/dependency&amp;gt; 
</script> 
  </div>
-</div><h3 id="BookInOnePage-Sendingtotheendpoint.2">Sending to the 
endpoint</h3><p>You can store a Java entity bean in a database by sending it to 
a JPA producer endpoint. The body of the <em>In</em> message is assumed to be 
an entity bean (that is, a POJO with an <a shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="BookInOnePage-Consumingfromtheendpoint.2">Consuming from the 
endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or 
updates) enti
 ty beans in the database. This allows you to use a database table as a logical 
queue: consumers take messages from the queue and then delete/update them to 
logically remove them from the queue.</p><p>If you do not wish to delete the 
entity bean when it has been processed (and when routing is done), you can 
specify <code>consumeDelete=false</code> on the URI. This will result in the 
entity being processed each poll.</p><p>If you would rather perform some update 
on the entity to mark it as processed (such as to exclude it from a future 
query) then you can annotate a method with <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/cur
 
rent/camel-jpa/apidocs/org/apache/camel/component/jpa/PreConsumed.html">@PreConsumed</a>
 which will be invoked on your entity bean before it has been processed (before 
routing).</p><p>If you are consuming a lot (100K+) of rows and experience 
OutOfMemory problems you should set the maximumResults to sensible 
value.</p><h3 id="BookInOnePage-URIformat.34">URI format</h3><div class="code 
panel pdl" style="border-width: 1px;">
+</div><p>Sending to the endpoint</p><p>You can store a Java entity bean in a 
database by sending it to a JPA producer endpoint. The body of the <em>In</em> 
message is assumed to be an entity bean (that is, a POJO with an <a 
shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="BookInOnePage-Consumingfromtheendpoint.2">Consuming from the 
endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or 
updates) entity beans in the database. This allows you to
  use a database table as a logical queue: consumers take messages from the 
queue and then delete/update them to logically remove them from the 
queue.</p><p>If you do not wish to delete the entity bean when it has been 
processed (and when routing is done), you can specify 
<code>consumeDelete=false</code> on the URI. This will result in the entity 
being processed each poll.</p><p>If you would rather perform some update on the 
entity to mark it as processed (such as to exclude it from a future query) then 
you can annotate a method with <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/comp
 onent/jpa/PreConsumed.html">@PreConsumed</a> which will be invoked on your 
entity bean before it has been processed (before routing).</p><p>If you are 
consuming a lot (100K+) of rows and experience OutOfMemory problems you should 
set the maximumResults to sensible value.</p><p><strong>Note:</strong> Since 
<strong>Camel 2.18</strong>, JPA now includes a <code>JpaPollingConsumer</code> 
implementation that better supports Content Enricher using 
<code>pollEnrich()</code> to do an on-demand poll that returns either none, one 
or a list of entities as the result.</p><h3 id="BookInOnePage-URIformat.34">URI 
format</h3><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">jpa:entityClassName[?options] </script> 
  </div>
@@ -18944,7 +18944,7 @@ test.endpoint = result2</pre>
  </div>
 </div><h3 id="BookInOnePage-SMSlimitations">SMS limitations</h3><p>SMS is 
neither reliable or secure.&#160; Users who require reliable and secure 
delivery may want to consider using the XMPP or SIP components instead, 
combined with a smartphone app supporting the chosen 
protocol.</p><ul><li>Reliability: although the SMPP standard offers a range of 
feedback mechanisms to indicate errors, non-delivery and confirmation of 
delivery it is not uncommon for mobile networks to hide or simulate these 
responses.&#160; For example, some networks automatically send a delivery 
confirmation for every message even if the destination number is invalid or not 
switched on.&#160; Some networks silently drop messages if they think they are 
spam.&#160; Spam detection rules in the network may be very crude, sometimes 
more than 100 messages per day from a single sender may be considered 
spam.</li><li>Security: there is basic encryption for the last hop from the 
radio tower down to the recipient handset.&#
 160; SMS messages are not encrypted or authenticated in any other part of the 
network.&#160; Some operators allow staff in retail outlets or call centres to 
browse through the SMS message histories of their customers.&#160; Message 
sender identity can be easily forged.&#160; Regulators and even the mobile 
telephone industry itself has cautioned against the use of SMS in two-factor 
authentication schemes and other purposes where security is 
important.</li></ul><p>While the Camel component makes it as easy as possible 
to send messages to the SMS network, it can not offer an easy solution to these 
problems.</p><h2 
id="BookInOnePage-Datacoding,alphabetandinternationalcharactersets">Data 
coding, alphabet and international character sets</h2><p>Data coding and 
alphabet can be specified on a per-message basis.&#160; Default values can be 
specified for the endpoint.&#160; It is important to understand the 
relationship between these options and the way the component acts when more 
than one v
 alue is set.</p><p>Data coding is an 8 bit field in the SMPP wire 
format.</p><p>Alphabet corresponds to bits 0-3 of the data coding field.&#160; 
For some types of message, where a message class is used (by setting bit 5 of 
the data coding field), the lower two bits of the data coding field are not 
interpreted as alphabet and only bits 2 and 3 impact the 
alphabet.</p><p>Furthermore, current version of the JSMPP library only seems to 
support bits 2 and 3, assuming that bits 0 and 1 are used for message 
class.&#160; This is why the Alphabet class in JSMPP doesn't support the value 
3 (binary 0011) which indicates ISO-8859-1.</p><p>Although JSMPP provides a 
representation of the message class parameter, the Camel component doesn't 
currently provide a way to set it other than manually setting the corresponding 
bits in the data coding field.</p><p>When setting the data coding field in the 
outgoing message, the Camel component considers the following values and uses 
the first one it can fin
 d:</p><ul><li>the data coding specified in a header</li><li>the alphabet 
specified in a header</li><li>the data coding specified in the endpoint 
configuration (URI parameter)</li></ul><p>Older versions of Camel had bugs in 
support for international character sets.&#160; This feature only worked when a 
single encoding was used for all messages and was troublesome when users wanted 
to change it on a per-message basis.&#160; Users who require this to work 
should ensure their version of Camel includes the fix for&#160;
  </p><div class="aui-message warning jim-inline-block"> 
-  <span class="aui-icon icon-warning"></span>JIRA Issues Macro: 
com.atlassian.sal.api.net.ResponseStatusException: Unexpected response 
received. Status code: 404 
+  <span class="aui-icon icon-warning"></span>JIRA Issues Macro: Unable to 
locate JIRA server for this macro. It may be due to Application Link 
configuration. 
  </div> .<p>In addition to trying to send the data coding value to the SMSC, 
the Camel component also tries to analyze the message body, convert it to a 
Java String (Unicode) and convert that to a byte array in the corresponding 
alphabet&#160; When deciding which alphabet to use in the byte array, the Camel 
SMPP component does not consider the data coding value (header or 
configuration), it only considers the specified alphabet (from either the 
header or endpoint parameter).</p><p>If some characters in the String can't be 
represented in the chosen alphabet, they may be replaced by the question mark ( 
? ) symbol.&#160; Users of the API may want to consider checking if their 
message body can be converted to ISO-8859-1 before passing it to the component 
and if not, setting the alphabet header to request UCS-2 encoding.&#160; If the 
alphabet and data coding options are not specified at all then the component 
may try to detect the required encoding and set the data coding for you.</p><p>
 The list of alphabet codes are specified in the SMPP specification v3.4, 
section 5.2.19.&#160; One notable limitation of the SMPP specification is that 
there is no alphabet code for explicitly requesting use of the GSM 3.38 (7 bit) 
character set.&#160; Choosing the value 0 for the alphabet selects the SMSC 
<em>default</em> alphabet, this usually means GSM 3.38 but it is not 
guaranteed.&#160; The SMPP gateway Nexmo <a shape="rect" class="external-link" 
href="https://help.nexmo.com/hc/en-us/articles/204015813-How-to-change-the-character-encoding-in-SMPP-";
 rel="nofollow">actually allows the default to be mapped to any other character 
set with a control panel option</a>. It is suggested that users check with 
their SMSC operator to confirm exactly which character set is being used as the 
default.</p><h3 id="BookInOnePage-Messagesplittingandthrottling">Message 
splitting and throttling</h3><p>After transforming a message body from a String 
to a byte array, the Camel component is also respo
 nsible for splitting the message into parts (within the 140 byte SMS size 
limit) before passing it to JSMPP.&#160; This is completed 
automatically.</p><p>If the GSM 3.38 alphabet is used, the component will pack 
up to 160 characters into the 140 byte message body.&#160; If an 8 bit 
character set is used (e.g. ISO-8859-1 for western Europe) then 140 characters 
will be allowed within the 140 byte message body.&#160; If 16 bit UCS-2 
encoding is used then just 70 characters fit into each 140 byte 
message.</p><p>Some SMSC providers implement throttling rules.&#160; Each part 
of a message that has been split may be counted separately by the provider's 
throttling mechanism.&#160; The Camel Throttler component can be useful for 
throttling messages in the SMPP route before handing them to the SMSC.</p><h3 
id="BookInOnePage-URIformat.60">URI format</h3><div class="code panel pdl" 
style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">smpp://[username@]hostname[:port][?options] 
smpps://[username@]hostname[:port][?options] </script> 

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/jpa.html
==============================================================================
--- websites/production/camel/content/jpa.html (original)
+++ websites/production/camel/content/jpa.html Wed Jan 18 17:22:10 2017
@@ -94,7 +94,7 @@
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="JPA-Sendingtotheendpoint">Sending to the 
endpoint</h3><p>You can store a Java entity bean in a database by sending it to 
a JPA producer endpoint. The body of the <em>In</em> message is assumed to be 
an entity bean (that is, a POJO with an <a shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="JPA-Consumingfromtheendpoint">Consuming from the 
endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or 
updates) entity beans in the da
 tabase. This allows you to use a database table as a logical queue: consumers 
take messages from the queue and then delete/update them to logically remove 
them from the queue.</p><p>If you do not wish to delete the entity bean when it 
has been processed (and when routing is done), you can specify 
<code>consumeDelete=false</code> on the URI. This will result in the entity 
being processed each poll.</p><p>If you would rather perform some update on the 
entity to mark it as processed (such as to exclude it from a future query) then 
you can annotate a method with <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/api
 docs/org/apache/camel/component/jpa/PreConsumed.html">@PreConsumed</a> which 
will be invoked on your entity bean before it has been processed (before 
routing).</p><p>If you are consuming a lot (100K+) of rows and experience 
OutOfMemory problems you should set the maximumResults to sensible 
value.</p><h3 id="JPA-URIformat">URI format</h3><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Sending to the endpoint</p><p>You can store a Java entity bean 
in a database by sending it to a JPA producer endpoint. The body of the 
<em>In</em> message is assumed to be an entity bean (that is, a POJO with an <a 
shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html"; 
rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity 
beans.</p><p>If the body is a List of entities, make sure to use 
<strong>entityType=java.util.ArrayList</strong> as a configuration passed to 
the producer endpoint.</p><p>If the body does not contain one of the previous 
listed types, put a <a shape="rect" href="message-translator.html">Message 
Translator</a> in front of the endpoint to perform the necessary conversion 
first.</p><h3 id="JPA-Consumingfromtheendpoint">Consuming from the 
endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or 
updates) entity beans in the database. This allows you to use a
  database table as a logical queue: consumers take messages from the queue and 
then delete/update them to logically remove them from the queue.</p><p>If you 
do not wish to delete the entity bean when it has been processed (and when 
routing is done), you can specify <code>consumeDelete=false</code> on the URI. 
This will result in the entity being processed each poll.</p><p>If you would 
rather perform some update on the entity to mark it as processed (such as to 
exclude it from a future query) then you can annotate a method with <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html";>@Consumed</a>
 which will be invoked on your entity bean when the entity bean when it has 
been processed (and when routing is done).</p><p>From <strong>Camel 
2.13</strong> onwards you can use <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/
 jpa/PreConsumed.html">@PreConsumed</a> which will be invoked on your entity 
bean before it has been processed (before routing).</p><p>If you are consuming 
a lot (100K+) of rows and experience OutOfMemory problems you should set the 
maximumResults to sensible value.</p><p><strong>Note:</strong> Since 
<strong>Camel 2.18</strong>, JPA now includes a <code>JpaPollingConsumer</code> 
implementation that better supports Content Enricher using 
<code>pollEnrich()</code> to do an on-demand poll that returns either none, one 
or a list of entities as the result.</p><h3 id="JPA-URIformat">URI 
format</h3><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[jpa:entityClassName[?options]
 ]]></script>
 </div></div><p>For sending to the endpoint, the <em>entityClassName</em> is 
optional. If specified, it helps the <a shape="rect" 
href="type-converter.html">Type Converter</a> to ensure the body is of the 
correct type.</p><p>For consuming, the <em>entityClassName</em> is 
mandatory.</p><p>You can append query options to the URI in the following 
format, <code>?option=value&amp;option=value&amp;...</code></p><h3 
id="JPA-Options">Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>entityType</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><em>entityClassName</em></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Overrides the <em>entityClassName</em> from 
the U
 RI.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>persistenceUnit</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>camel</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The JPA persistence unit used by 
default.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumeDelete</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> If 
<code>true</code>, the entity is deleted after it is consumed; if 
<code>false</code>, the entity is not deleted.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>consumeLockEntity</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer 
only:</strong> Specifies whether or not to set an exclusive lock on e
 ach entity bean while processing the results from 
polling.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>flushOnSend</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA producer only:</strong> Flushes 
the <a shape="rect" class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/EntityManager.html";
 rel="nofollow">EntityManager</a> after the entity bean has been 
persisted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maximumResults</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> Set the 
maximum number of results to retrieve on the <a shape="rect" 
class="external-link" 
href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Query.html"; 
rel="nofollow">Query</a>.</p>
 </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transactionManager</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This option is <a shape="rect" 
href="registry.html">Registry</a> based which requires the <code>#</code> 
notation so that the given <code>transactionManager</code> being specified can 
be looked up properly, e.g. 
<code>transactionManager=#myTransactionManager</code>. It specifies the 
transaction manager to use. If none provided, Camel will use a 
<code>JpaTransactionManager</code> by default. Can be used to set a JTA 
transaction manager (for integration with an EJB 
container).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>500</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> Delay 
in mi
 lliseconds between each poll.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer 
only:</strong> Milliseconds before polling starts.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.useFixedDelay</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer 
only:</strong> Set to <code>true</code> to use fixed delay between polls, 
otherwise fixed rate is used. See <a shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html";
 rel="nofollow">ScheduledExecutorService</a> in JDK for 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxMe
 ssagesPerPoll</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>JPA consumer only:</strong> An integer value to 
define the maximum number of messages to gather per poll. By default, no 
maximum is set. Can be used to avoid polling many thousands of messages when 
starting up the server. Set a value of 0 or negative to 
disable.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.query</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>JPA consumer only:</strong> To use a custom 
query when consuming data.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.namedQuery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> To
  use a named query when consuming data.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>consumer.nativeQuery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> To use 
a custom native query when consuming data. You may want to use the option 
<code>consumer.resultClass</code> also when using native 
queries.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.parameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12: JPA consumer 
only:</strong> This option is <a shape="rect" href="registry.html">Registry</a> 
based which requires the <code>#</code> notation. This key/value mapping is 
used for building the query parameters. It's is expected to be of the generic 
type <code>java.util.Map&lt;String, Object&gt;</
 code> where the keys are the named parameters of a given JPA query and the 
values are their corresponding effective values you want to select 
for.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.resultClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.7: JPA consumer 
only:</strong> Defines the type of the returned payload (we will call 
<code>entityManager.createNativeQuery(nativeQuery, resultClass)</code> instead 
of <code>entityManager.createNativeQuery(nativeQuery)</code>). Without this 
option, we will return an object array. Only has an affect when using in 
conjunction with native query when consuming data.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.transacted</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><
 p><strong>Camel 2.7.5/2.8.3/2.9: JPA consumer only:</strong> Whether to run 
the consumer in transacted mode, by which all messages will either commit or 
rollback, when the entire batch has been processed. The default behavior 
(false) is to commit all the previously successfully processed messages, and 
only rollback the last failed message.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>consumer.lockModeType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>WRITE</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.11.2/2.12:</strong> To configure the lock mode on the consumer. The possible 
values is defined in the enum <code>javax.persistence.LockModeType</code>. The 
default value is changed to <code>PESSIMISTIC_WRITE</code> since <strong>Camel 
2.13</strong>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer.SkipLockedEntity</code></p></td><td 
colspan="1" rowspan="1" cl
 ass="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.13:</strong> To configure whether to 
use NOWAIT on lock and silently skip the entity.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>usePersist</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.5: JPA producer 
only:</strong> Indicates to use <code>entityManager.persist(entity)</code> 
instead of <code>entityManager.merge(entity)</code>. Note: 
<code>entityManager.persist(entity)</code> doesn't work for detached entities 
(where the EntityManager has to execute an UPDATE instead of an INSERT 
query)!</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>joinTransaction</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><st
 rong>Camel 2.12.3:</strong> camel-jpa will join transaction by default from 
Camel 2.12 onwards. You can use this option to turn this off, for example if 
you use LOCAL_RESOURCE and join transaction doesn't work with your JPA 
provider. This option can also be set globally on the 
<code>JpaComponent</code>, instead of having to set it on all 
endpoints.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p 
class="p1">usePassedInEntityManager</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.12.4/2.13.1 JPA producer only:</strong> If 
set to true, then Camel will use the EntityManager from the header<p 
class="p1">JpaConstants.ENTITYMANAGER instead of the configured entity manager 
on the component/endpoint. This allows end users to control which entity 
manager will be in use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">sharedEntityManager</td><td colspan="1" rowspan="1" cla
 ss="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong>&#160;whether to use spring's 
SharedEntityManager for the consumer/producer. A good idea may be to set 
joinTransaction=false if this option is true, as sharing the entity manager and 
mixing transactions is not a good idea.</td></tr></tbody></table></div><h3 
id="JPA-MessageHeaders">Message Headers</h3><p>Camel adds the following message 
headers to the exchange:</p><div class="confluenceTableSmall"><div 
class="table-wrap">


Reply via email to