Author: buildbot
Date: Fri Jun 12 13:42:56 2026
New Revision: 1093266

Log:
Production update by buildbot for cxf

Modified:
   websites/production/cxf/content/cache/docs.pageCache
   websites/production/cxf/content/docs/securing-cxf-services.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary file (source and/or target). No diff available.

Modified: websites/production/cxf/content/docs/securing-cxf-services.html
==============================================================================
--- websites/production/cxf/content/docs/securing-cxf-services.html     Fri Jun 
12 07:47:07 2026        (r1093265)
+++ websites/production/cxf/content/docs/securing-cxf-services.html     Fri Jun 
12 13:42:56 2026        (r1093266)
@@ -109,11 +109,11 @@ Apache CXF -- Securing CXF Services
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1781055769193 {padding: 0px;}
-div.rbtoc1781055769193 ul {margin-left: 0px;}
-div.rbtoc1781055769193 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1781271768130 {padding: 0px;}
+div.rbtoc1781271768130 ul {margin-left: 0px;}
+div.rbtoc1781271768130 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1781055769193">
+/*]]>*/</style></p><div class="toc-macro rbtoc1781271768130">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#SecuringCXFServices-Securetransports">Secure transports</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#SecuringCXFServices-HTTPS">HTTPS</a></li></ul>
 </li><li><a shape="rect" 
href="#SecuringCXFServices-SecuringJAX-WSservices">Securing JAX-WS services</a>
@@ -212,7 +212,7 @@ div.rbtoc1781055769193 li {margin-left:
 &lt;jaxrs:server&gt;
 
 </pre>
-</div></div><p>When one of the limits is reached, the error is returned. 
JAX-WS consumers will receive 500, JAX-RS/HTTP consumers: 413.</p><p>The 
following system properties can also be set up for JAX-WS endpoints: 
"org.apache.cxf.staxutils.innerElementCountThreshold" and 
"org.apache.cxf.staxutils.innerElementLevelThreshold".</p><p>Please check this 
<a shape="rect" 
href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Data+Bindings#JAX-RSDataBindings-ControllingLargeJAXBXMLandJSONinputpayloads";>section</a>
 for the additional information on how JAX-RS JAXB-based providers can be 
configured.</p><h2 id="SecuringCXFServices-Multiparts">Multiparts</h2><p>It's 
possible to control various properties associated with caching large 
attachments via the following per-endpoint contextual properties:</p><div 
class="table-wrap"><table class="wrapped confluenceTable"><colgroup 
span="1"><col span="1"><col span="1"></colgroup><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>
 Property Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attachment-memory-threshold</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The threshold value in bytes to switch from 
memory to file caching. The default value is 1024K.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>attachment-max-size</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The data size in bytes to limit 
the maximum data size to be cached. Since CXF 3.0.16, 3.1.14, 3.2.1.</p><p>The 
default max size is set to&#160;<strong>50Mb</strong> (since 
<strong>4.2.3</strong>/<strong>4.1.7</strong>, no limit in prior versions). 
When the limits is reached, the error is returned. JAX-WS consumers will 
receive 500, JAX-RS/HTTP consumers: 413.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>attachment-directory</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The
  directory name for storing the temporary files. None is specified by 
default.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attachment-max-header-size</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The maximum MIME Header Length. The default 
is 300. This value can also be set by the system property 
"org.apache.cxf.attachment-max-header-size".</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">attachment-max-count</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>CXF 3.3.4 3.2.11</strong> The maximum 
number of attachments permitted in a message. The default is 
50.</td></tr></tbody></table></div><p>If no per-endpoint contextual properties 
are specified, then CXF checks any values that are set for the corresponding 
System properties listed below for large data stream caching and re-uses them 
for caching attachments.</p><h1 
id="SecuringCXFServices-Largedatastreamcaching">Large data stream 
caching</h1><p>A large stream based 
 message or data will be cached in a temporary file, which is written in the 
system's temporary directory. You can change this behavior and other properties 
of the caching feature by explicitly setting the following properties.</p><p>To 
change the default behavior for the entire system, you can set the following 
system properties.</p><div class="table-wrap"><table class="wrapped 
confluenceTable"><colgroup span="1"><col span="1"><col 
span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Property Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.Threshold</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The threshold value in bytes 
to switch from memory to file caching. The default value is 128K for 
CachedOutputStream and 64K for CachedWriter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>org.apache
 .cxf.io.CachedOutputStream.MaxSize</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The data size in bytes to limit the maximum data size 
to be cached. No max size is set by default.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.OutputDirectory</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The directory name for storing 
the temporary files. None is specified by default. If specified, the directory 
must already exist.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.CipherTransformation</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The cipher transformation name 
for encrypting the cached content. None is specified by 
default.</p></td></tr></tbody></table></div><p>To change the default behavior 
for a specific bus, you can set the corresponding bus.io.CachedOutputStream 
properties:</p><div class="table-wrap"><table class="wrapped co
 nfluenceTable"><colgroup span="1" class=""><col span="1" class=""><col 
span="1" class=""></colgroup><tbody class=""><tr class=""><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Bus Property Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr class=""><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStream.Threshold</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The threshold value in bytes to switch from 
memory to file caching. The default value is 128K for CachedOutputStream and 
64K for CachedWriter (corresponds <a shape="rect" class="external-link" 
href="http://org.apache.cxf.io"; 
rel="nofollow">org.apache.cxf.io</a>.CachedOutputStream.Threshold system 
property).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a 
shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCl
 eaner.Delay</td><td colspan="1" rowspan="1" class="confluenceTd"><p>The delay 
(in ms) for cleaning up unclosed CachedOutputStream instances. 30 minutes is 
specified by default, the minimum value is 2 seconds. If the value of the delay 
is set to 0 (or is negative), the cleaner will be 
deactivated.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCleaner.<span style="color: 
rgb(0,0,0);">CleanOnShutdown</span></td><td colspan="1" rowspan="1" 
class="confluenceTd"><span style="color: rgb(0,0,0);">Forces cleaning of the 
unclosed CachedOutputStream instances on Bus shutdown. The default value is 
"true", if the cleaner is deactivated or the value is set to "false", no 
cleanup attempt on shutdown will be performed.</span></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" 
class="external-link" href="http://bus.io"; rel="nofollow">bus.io</a>.CachedO
 utputStreamCleaner.<span style="color: rgb(0,0,0);">Strategy</span></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The strategy to be used for 
cleaning up unclosed {@code CachedOutputStream} instances. By default, there 
cleaner implementation creates a timer per each Bus instance. However, in 
certain&#160;deployments it could lead to excessive number of timers being 
created, so there is an alternative strategy that uses single (static) timer 
instance. The supported strategies are: <strong>default</strong>, 
<strong>single-timer</strong>. Since <strong>3.6.9</strong> / 
<strong>4.0.10</strong> / <strong>4.1.4</strong> 
releases.</p></td></tr></tbody></table></div><p>In some edge cases, the 
CachedOutputStream instances may not be closed and, if backed by temporary 
files, may fill up the file system (it applies to servers and clients). The 
CachedOutputStreamCleaner bus extension could be used to provide the custom 
cleaning mechanism for such dangling streams (by default, the exte
 nsion is implemented by DelayedCachedOutputStreamCleaner and run periodic 
cleanup set by <a shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCleaner.Delay bus 
property).</p><p>The encryption option, which is available from CXF 2.6.4 and 
2.7.1, uses a symmetric encryption using a generated key and it can be used to 
protect the cached content from unauthorized access. To enable encryption, the 
CipherTransformation property can be set to the name of an appropriate stream 
or 8-bit block cipher transformation (e.g., RC4, AES/CTR/NoPadding, etc) that 
is supported by the environment. However, it is noted that enabling the 
encryption will result in an increased processing time and it is therefore 
recommended only in specific use cases where other means to protect the cached 
content is unavailable.</p></div>
+</div></div><p>When one of the limits is reached, the error is returned. 
JAX-WS consumers will receive 500, JAX-RS/HTTP consumers: 413.</p><p>The 
following system properties can also be set up for JAX-WS endpoints: 
"org.apache.cxf.staxutils.innerElementCountThreshold" and 
"org.apache.cxf.staxutils.innerElementLevelThreshold".</p><p>Please check this 
<a shape="rect" 
href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Data+Bindings#JAX-RSDataBindings-ControllingLargeJAXBXMLandJSONinputpayloads";>section</a>
 for the additional information on how JAX-RS JAXB-based providers can be 
configured.</p><h2 id="SecuringCXFServices-Multiparts">Multiparts</h2><p>It's 
possible to control various properties associated with caching large 
attachments via the following per-endpoint contextual properties:</p><div 
class="table-wrap"><table class="wrapped confluenceTable"><colgroup 
span="1"><col span="1"><col span="1"></colgroup><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>
 Property Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attachment-memory-threshold</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The threshold value in bytes to switch from 
memory to file caching. The default value is 1024K.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>attachment-max-size</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The data size in bytes to limit 
the maximum data size to be cached. Since CXF 3.0.16, 3.1.14, 3.2.1.</p><p>The 
default max size is set to&#160;<strong>50Mb</strong> (since 
<strong>4.2.3</strong>/<strong>4.1.8</strong>, no limit in prior versions). 
When the limits is reached, the error is returned. JAX-WS consumers will 
receive 500, JAX-RS/HTTP consumers: 413.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>attachment-directory</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The
  directory name for storing the temporary files. None is specified by 
default.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attachment-max-header-size</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The maximum MIME Header Length. The default 
is 300. This value can also be set by the system property 
"org.apache.cxf.attachment-max-header-size".</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">attachment-max-count</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>CXF 3.3.4 3.2.11</strong> The maximum 
number of attachments permitted in a message. The default is 
50.</td></tr></tbody></table></div><p>If no per-endpoint contextual properties 
are specified, then CXF checks any values that are set for the corresponding 
System properties listed below for large data stream caching and re-uses them 
for caching attachments.</p><h1 
id="SecuringCXFServices-Largedatastreamcaching">Large data stream 
caching</h1><p>A large stream based 
 message or data will be cached in a temporary file, which is written in the 
system's temporary directory. You can change this behavior and other properties 
of the caching feature by explicitly setting the following properties.</p><p>To 
change the default behavior for the entire system, you can set the following 
system properties.</p><div class="table-wrap"><table class="wrapped 
confluenceTable"><colgroup span="1"><col span="1"><col 
span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Property Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.Threshold</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The threshold value in bytes 
to switch from memory to file caching. The default value is 128K for 
CachedOutputStream and 64K for CachedWriter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>org.apache
 .cxf.io.CachedOutputStream.MaxSize</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The data size in bytes to limit the maximum data size 
to be cached. No max size is set by default.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.OutputDirectory</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The directory name for storing 
the temporary files. None is specified by default. If specified, the directory 
must already exist.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.cxf.io.CachedOutputStream.CipherTransformation</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The cipher transformation name 
for encrypting the cached content. None is specified by 
default.</p></td></tr></tbody></table></div><p>To change the default behavior 
for a specific bus, you can set the corresponding bus.io.CachedOutputStream 
properties:</p><div class="table-wrap"><table class="wrapped co
 nfluenceTable"><colgroup span="1" class=""><col span="1" class=""><col 
span="1" class=""></colgroup><tbody class=""><tr class=""><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Bus Property Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr class=""><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStream.Threshold</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The threshold value in bytes to switch from 
memory to file caching. The default value is 128K for CachedOutputStream and 
64K for CachedWriter (corresponds <a shape="rect" class="external-link" 
href="http://org.apache.cxf.io"; 
rel="nofollow">org.apache.cxf.io</a>.CachedOutputStream.Threshold system 
property).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a 
shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCl
 eaner.Delay</td><td colspan="1" rowspan="1" class="confluenceTd"><p>The delay 
(in ms) for cleaning up unclosed CachedOutputStream instances. 30 minutes is 
specified by default, the minimum value is 2 seconds. If the value of the delay 
is set to 0 (or is negative), the cleaner will be 
deactivated.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCleaner.<span style="color: 
rgb(0,0,0);">CleanOnShutdown</span></td><td colspan="1" rowspan="1" 
class="confluenceTd"><span style="color: rgb(0,0,0);">Forces cleaning of the 
unclosed CachedOutputStream instances on Bus shutdown. The default value is 
"true", if the cleaner is deactivated or the value is set to "false", no 
cleanup attempt on shutdown will be performed.</span></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" 
class="external-link" href="http://bus.io"; rel="nofollow">bus.io</a>.CachedO
 utputStreamCleaner.<span style="color: rgb(0,0,0);">Strategy</span></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The strategy to be used for 
cleaning up unclosed {@code CachedOutputStream} instances. By default, there 
cleaner implementation creates a timer per each Bus instance. However, in 
certain&#160;deployments it could lead to excessive number of timers being 
created, so there is an alternative strategy that uses single (static) timer 
instance. The supported strategies are: <strong>default</strong>, 
<strong>single-timer</strong>. Since <strong>3.6.9</strong> / 
<strong>4.0.10</strong> / <strong>4.1.4</strong> 
releases.</p></td></tr></tbody></table></div><p>In some edge cases, the 
CachedOutputStream instances may not be closed and, if backed by temporary 
files, may fill up the file system (it applies to servers and clients). The 
CachedOutputStreamCleaner bus extension could be used to provide the custom 
cleaning mechanism for such dangling streams (by default, the exte
 nsion is implemented by DelayedCachedOutputStreamCleaner and run periodic 
cleanup set by <a shape="rect" class="external-link" href="http://bus.io"; 
rel="nofollow">bus.io</a>.CachedOutputStreamCleaner.Delay bus 
property).</p><p>The encryption option, which is available from CXF 2.6.4 and 
2.7.1, uses a symmetric encryption using a generated key and it can be used to 
protect the cached content from unauthorized access. To enable encryption, the 
CipherTransformation property can be set to the name of an appropriate stream 
or 8-bit block cipher transformation (e.g., RC4, AES/CTR/NoPadding, etc) that 
is supported by the environment. However, it is noted that enabling the 
encryption will result in an increased processing time and it is therefore 
recommended only in specific use cases where other means to protect the cached 
content is unavailable.</p></div>
            </div>
            <!-- Content -->
          </td>

Reply via email to