<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:38:49 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SystemProperties (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SystemProperties (EclipseLink 3.0.2, API Reference)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/config/StructConverterType.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/config/TargetDatabase.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/config/SystemProperties.html" target="_top">Frames</a></li>
<li><a href="SystemProperties.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.config</div>
<h2 title="Class SystemProperties" class="title">Class SystemProperties</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.config.SystemProperties</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SystemProperties</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">This class provides the list of System properties that are recognized by EclipseLink.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>tware</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#ARCHIVE_FACTORY">ARCHIVE_FACTORY</a></span></code>
<div class="block">Configures the factory class we use to produce instances of org.eclispe.persistence.jpa.Archive
 These instances are used to examine persistence units and the files within them and are used for discovery
 of classes in the persistence unit
 Allows user-provided ArchiveFactory and Archive</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME">CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME</a></span></code>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION">CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION</a></span></code>
<div class="block">
 This property control (enable/disable) if <code>ConcurrencyException</code> fired when dead-lock diagnostic is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION">CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION</a></span></code>
<div class="block">
 This property control (enable/disable) if <code>InterruptedException</code> fired when dead-lock diagnostic is enabled.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK">CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK</a></span></code>
<div class="block">
 This property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME">CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME</a></span></code>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE">CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE</a></span></code>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE">CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE</a></span></code>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_MAX_SLEEP_TIME">CONCURRENCY_MANAGER_MAX_SLEEP_TIME</a></span></code>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS">CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS</a></span></code>
<div class="block">
 This property control number of threads in semaphore in <code>ObjectBuilder</code>
 If "eclipselink.concurrency.manager.object.building.semaphore" property is <code>true</code> default value is 10.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING">CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING</a></span></code>
<div class="block">
 This property control (enable/disable) semaphore in <code>ObjectBuilder</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS">CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS</a></span></code>
<div class="block">
 This property control (enable/disable) semaphore in <code>WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS">CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS</a></span></code>
<div class="block">
 This property control number of threads in semaphore in <code>WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)</code>
 If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property is <code>true</code> default value is 2.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_SEMAPHORE_LOG_TIMEOUT">CONCURRENCY_SEMAPHORE_LOG_TIMEOUT</a></span></code>
<div class="block">
 This property control timeout between log messages in <code>ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)</code> when method/thread tries to get permit for the execution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT">CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT</a></span></code>
<div class="block">
 This property control semaphore the maximum time to wait for a permit in <code>ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)</code>
 It's passed to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true#tryAcquire-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent"><code>Semaphore.tryAcquire(long, TimeUnit)</code></a>
 Default value is 2000 (unit is ms).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONVERSION_USE_DEFAULT_TIMEZONE">CONVERSION_USE_DEFAULT_TIMEZONE</a></span></code>
<div class="block">This system property can be set to restore ConversionManager behavior with converting 
 LocalDateTime, OffsetDateTime, and OffsetTime types back to using the JVM's default time zone instead
 of UTC.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#CONVERSION_USE_TIMEZONE">CONVERSION_USE_TIMEZONE</a></span></code>
<div class="block">This system property can be set the specific time zone used by ConversionManager to convert
 LocalDateTime, OffsetDateTime, and OffsetTime types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#DO_NOT_PROCESS_XTOMANY_FOR_QBE">DO_NOT_PROCESS_XTOMANY_FOR_QBE</a></span></code>
<div class="block">This property can be set to disable processing of X-Many relationship
 attributes for Query By Example objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#ENFORCE_TARGET_SERVER">ENFORCE_TARGET_SERVER</a></span></code>
<div class="block">This system property can be set to override target server platform set by the Java EE container
 with the one either set in persistence.xml or auto detected.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#ONETOMANY_DEFER_INSERTS">ONETOMANY_DEFER_INSERTS</a></span></code>
<div class="block">This property can be set to <code>false</code> to enable UPDATE call to set
 foreign key value in the target row in unidirectional 1-Many mapping
 with not nullable FK.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#RECORD_STACK_ON_LOCK">RECORD_STACK_ON_LOCK</a></span></code>
<div class="block">This property is used in conjunction with
 org.eclipse.persistence.sessions.IdentityMapAccessor.printIdentityMapLocks().</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#WEAVING_OUTPUT_PATH">WEAVING_OUTPUT_PATH</a></span></code>
<div class="block">This property is used to debug weaving issues.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#WEAVING_REFLECTIVE_INTROSPECTION">WEAVING_REFLECTIVE_INTROSPECTION</a></span></code>
<div class="block">This property can be used to tell EclipseLink to process classes in the ASM Default manner.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#WEAVING_SHOULD_OVERWRITE">WEAVING_SHOULD_OVERWRITE</a></span></code>
<div class="block">This property is used in conjunction with WEAVING_OUTPUT_PATH.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/SystemProperties.html#SystemProperties--">SystemProperties</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="ARCHIVE_FACTORY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARCHIVE_FACTORY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ARCHIVE_FACTORY</pre>
<div class="block">Configures the factory class we use to produce instances of org.eclispe.persistence.jpa.Archive
 These instances are used to examine persistence units and the files within them and are used for discovery
 of classes in the persistence unit
 Allows user-provided ArchiveFactory and Archive</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.ARCHIVE_FACTORY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WEAVING_OUTPUT_PATH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAVING_OUTPUT_PATH</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WEAVING_OUTPUT_PATH</pre>
<div class="block">This property is used to debug weaving issues.   When it is set, weaved classes will be
 output to the given path as they are weaved</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.WEAVING_OUTPUT_PATH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WEAVING_SHOULD_OVERWRITE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAVING_SHOULD_OVERWRITE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WEAVING_SHOULD_OVERWRITE</pre>
<div class="block">This property is used in conjunction with WEAVING_OUTPUT_PATH.  By default, existing classes
 on the path provided to WEAVING_OUTPUT_PATH will not be overridden.  If this is set to true, they will be</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.WEAVING_SHOULD_OVERWRITE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WEAVING_REFLECTIVE_INTROSPECTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAVING_REFLECTIVE_INTROSPECTION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WEAVING_REFLECTIVE_INTROSPECTION</pre>
<div class="block">This property can be used to tell EclipseLink to process classes in the ASM Default manner.  The fix for bug
 370975 changes EclipseLink's weaving support to use ASM itself to examine class hierarchies.  Setting this flag to
 true will cause us to use the default reflection mechanism again.  This flag provides a means to workaround any issues encountered with
 the ASM-based weaving introspection</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.WEAVING_REFLECTIVE_INTROSPECTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECORD_STACK_ON_LOCK">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECORD_STACK_ON_LOCK</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECORD_STACK_ON_LOCK</pre>
<div class="block">This property is used in conjunction with
 org.eclipse.persistence.sessions.IdentityMapAccessor.printIdentityMapLocks().
 Setting this property will cause EclipseLink to record the stack trace of
 the lock acquisition and print it along with the identity map locks. This
 should only be set if the thread that owns a lock is not 'stuck' but
 still owns the lock when a normal printIdentityMapLocks is done.

 This can also be set in code statically through ConcurrencyManager.setShouldTrackStack(true)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.RECORD_STACK_ON_LOCK">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DO_NOT_PROCESS_XTOMANY_FOR_QBE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DO_NOT_PROCESS_XTOMANY_FOR_QBE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DO_NOT_PROCESS_XTOMANY_FOR_QBE</pre>
<div class="block">This property can be set to disable processing of X-Many relationship
 attributes for Query By Example objects. In previous versions of
 EclipseLink these attributes would have been ignored but as of this
 release they will be processed into the expression.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.DO_NOT_PROCESS_XTOMANY_FOR_QBE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ENFORCE_TARGET_SERVER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ENFORCE_TARGET_SERVER</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ENFORCE_TARGET_SERVER</pre>
<div class="block">This system property can be set to override target server platform set by the Java EE container
 with the one either set in persistence.xml or auto detected.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.ENFORCE_TARGET_SERVER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONVERSION_USE_TIMEZONE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONVERSION_USE_TIMEZONE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONVERSION_USE_TIMEZONE</pre>
<div class="block">This system property can be set the specific time zone used by ConversionManager to convert
 LocalDateTime, OffsetDateTime, and OffsetTime types.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONVERSION_USE_TIMEZONE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONVERSION_USE_DEFAULT_TIMEZONE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONVERSION_USE_DEFAULT_TIMEZONE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONVERSION_USE_DEFAULT_TIMEZONE</pre>
<div class="block">This system property can be set to restore ConversionManager behavior with converting 
 LocalDateTime, OffsetDateTime, and OffsetTime types back to using the JVM's default time zone instead
 of UTC.  This restores behavior prior to fixing Bug 538296.  This property is ignored if the
 System Property CONVERSION_USE_TIMEZONE has been set.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONVERSION_USE_DEFAULT_TIMEZONE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ONETOMANY_DEFER_INSERTS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ONETOMANY_DEFER_INSERTS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ONETOMANY_DEFER_INSERTS</pre>
<div class="block">This property can be set to <code>false</code> to enable UPDATE call to set
 foreign key value in the target row in unidirectional 1-Many mapping
 with not nullable FK. In previous versions of EclipseLink this was
 the default behaviour.
 Allowed values are: true/false.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.ONETOMANY_DEFER_INSERTS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME</pre>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
 It control how much time loop wait before it try acquire lock for current thread again. It value is set above above 0 dead lock detection
 mechanism and related extended logging will be activated.
 Default value is 0 (unit is ms). Allowed values are: long</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME</pre>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
 It control how much time ConcurrencyManager will wait before it will identify, that thread which builds new object/entity instance
 should be identified as a potential dead lock source. It leads into some additional log messages.
 Default value is 0 (unit is ms). In this case extended logging is not active. Allowed values are: long</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_MAX_SLEEP_TIME">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_MAX_SLEEP_TIME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_MAX_SLEEP_TIME</pre>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
 It control how long we are willing to wait before firing up an exception
 Default value is 40000 (unit is ms). Allowed values are: long</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_MAX_SLEEP_TIME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE</pre>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.
 It control how frequently the tiny dump log message is created.
 Default value is 40000 (unit is ms). Allowed values are: long</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE</pre>
<div class="block">This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.
 It control how frequently the massive dump log message is created.
 Default value is 60000 (unit is ms). Allowed values are: long</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION</pre>
<div class="block"><p>
 This property control (enable/disable) if <code>InterruptedException</code> fired when dead-lock diagnostic is enabled.
 <p>
 <b>Allowed Values</b> (case sensitive String)<b>:</b>
 <ul>
 <li>"<code>false</code>" - if aborting frozen thread is not effective it is preferable to not fire the interrupted exception let the system
 In the places where use this property normally if a thread is stuck it is because it is doing object building.
 Blowing the threads ups is not that dangerous. It can be very dangerous for production if the dead lock ends up
 not being resolved because the productive business transactions will become cancelled if the application has a
 limited number of retries to for example process an MDB. However, the code spots where we use this constant are
 not as sensible as when the write lock manager is starving to run commit.
 <li>"<code>true</code>" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired locks and allow other
 threads to progress.
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION</pre>
<div class="block"><p>
 This property control (enable/disable) if <code>ConcurrencyException</code> fired when dead-lock diagnostic is enabled.
 <p>
 <b>Allowed Values</b> (case sensitive String)<b>:</b>
 <ul>
 <li>"<code>false</code>" - if aborting frozen thread is not effective it is preferable to not fire the concurrency exception let the system
 freeze and die and force the administration to kill the server. This is preferable to aborting the transactions
 multiple times without success in resolving the dead lock and having business critical messages that after 3 JMS
 retries are discarded out. Failing to resolve a dead lock can have terrible impact in system recovery unless we
 have infinite retries for the business transactions.
 <li>"<code>true</code>" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired
 locks and allow other threads to progress.
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK</pre>
<div class="block"><p>
 This property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.
 <p>
 <b>Allowed Values</b> (case sensitive String)<b>:</b>
 <ul>
 <li>"<code>false</code>" (DEFAULT) - don't collect debug/trace information during ReadLock acquisition
 <li>"<code>true</code>" - collect debug/trace information during ReadLock acquisition. Has negative impact to the performance.
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING</pre>
<div class="block"><p>
 This property control (enable/disable) semaphore in <code>ObjectBuilder</code>
 </p>
 Object building see <code>ObjectBuilder</code> could be one of the
 primary sources pressure on concurrency manager. Most of the cache key acquisition and releasing is taking place during object building.
 Enable <code>true</code> this property to try reduce the likelihood of having dead locks is to allow less threads to start object
 building in parallel. In this case there should be negative impact to the performance.
 Note: Parallel access to the same entity/entity tree from different threads is not recommended technique in EclipseLink.
 <ul>
 <li>"<code>true</code>" - means we want to override vanilla behavior and use a semaphore to not allow too many
 threads in parallel to do object building
 <li>"<code>false</code>" (DEFAULT) - means just go ahead and try to build the object without any semaphore (false is
 vanilla behavior).
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS</pre>
<div class="block"><p>
 This property control (enable/disable) semaphore in <code>WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)</code>
 </p>
 This algorithm
 <code>WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)</code>
 is being used when a transaction is committing and it is acquire locks to merge the change set.
 It should happen if algorithm has trouble when multiple threads report change sets on the same entity (e.g.
 one-to-many relations of master detail being enriched with more details on this master).
 Note: Parallel access to the same entity/entity tree from different threads is not recommended technique in EclipseLink.
 <ul>
 <li>"<code>true</code>" - means we want to override vanilla behavior and use a semaphore to not allow too many
 threads. In this case there should be negative impact to the performance.
 <li>"<code>false</code>" (DEFAULT) - means just go ahead and try to build the object without any semaphore (false is
 vanilla behavior).
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS</pre>
<div class="block"><p>
 This property control number of threads in semaphore in <code>ObjectBuilder</code>
 If "eclipselink.concurrency.manager.object.building.semaphore" property is <code>true</code> default value is 10. Allowed values are: int
 If "eclipselink.concurrency.manager.object.building.semaphore" property is <code>false</code> (DEFAULT) number of threads is unlimited.
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS</pre>
<div class="block"><p>
 This property control number of threads in semaphore in <code>WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)</code>
 If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property is <code>true</code> default value is 2. Allowed values are: int
 If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property is <code>false</code> (DEFAULT) number of threads is unlimited.
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT</pre>
<div class="block"><p>
 This property control semaphore the maximum time to wait for a permit in <code>ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)</code>
 It's passed to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true#tryAcquire-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent"><code>Semaphore.tryAcquire(long, TimeUnit)</code></a>
 Default value is 2000 (unit is ms). Allowed values are: long
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONCURRENCY_SEMAPHORE_LOG_TIMEOUT">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CONCURRENCY_SEMAPHORE_LOG_TIMEOUT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONCURRENCY_SEMAPHORE_LOG_TIMEOUT</pre>
<div class="block"><p>
 This property control timeout between log messages in <code>ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)</code> when method/thread tries to get permit for the execution.
 Default value is 10000 (unit is ms). Allowed values are: long
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.SystemProperties.CONCURRENCY_SEMAPHORE_LOG_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SystemProperties--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SystemProperties</h4>
<pre>public&nbsp;SystemProperties()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/config/StructConverterType.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/config/TargetDatabase.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/config/SystemProperties.html" target="_top">Frames</a></li>
<li><a href="SystemProperties.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>
