blob: 2146d5a4204dba34890e974d3ecb171a8fb2828c [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>Persistence Property Extensions Reference | EclipseLink 2.7.x Java Persistence API (JPA) Extensions Reference</title>
<meta name="generator" content="Oracle DARB XHTML Converter (Mode = document) - Version 1.0.22 Build 1" />
<meta name="date" content="2014-06-10T10:29:49Z" />
<meta name="description" content="This chapter describes the persistence property extensions.You configure persistence units in the JPA persistence descriptor file: persistence.xml. EclipseLink includes many persistence property enhancements and extensions that can be configured in the persistence." />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Persistence Property Extensions Reference" />
<meta name="relnum" content="Release 2.7" />
<link rel="stylesheet" type="text/css" href="../../../dcommon/style.css" media="screen" />
<link rel="copyright" href="http://www.eclipse.org/org/documents/epl-v10.php" title="Copyright" type="text/html" />
<link rel="start" href="../../index.htm" title="Home" type="text/html" />
<link rel="contents" href="toc.htm" title="Contents" type="text/html" />
<link rel="prev" href="queryhints.htm" title="Previous" type="text/html" />
<link rel="next" href="schema.htm" title="Next" type="text/html" />
<!-- START: Disqus --><script type="text/javascript"> var disqus_developer = 0; </script><!-- END: Disqus --><!-- START: Sharethis --><script type="text/javascript">var switchTo5x=true;</script><script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script><script type="text/javascript" src="http://s.sharethis.com/loader.js"></script> <!-- END: Sharethis --></head>
<body bgcolor="#FFFFFF"><iframe id="docheader" frameborder="0" framemargin="0" scrolling="no" src="../../../dcommon/header.html"></iframe><script src="http://www.google.com/jsapi" type="text/javascript"></script><script type="text/javascript"> google.load('search', '1', {language : 'en'}); google.setOnLoadCallback(function() { var customSearchOptions = {}; var googleAnalyticsOptions = {}; googleAnalyticsOptions['queryParameter'] = 'q'; googleAnalyticsOptions['categoryParameter'] = ''; customSearchOptions['googleAnalyticsOptions'] = googleAnalyticsOptions; var customSearchControl = new google.search.CustomSearchControl( '016171230611334810008:4sqnhke2any', customSearchOptions); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); var options = new google.search.DrawOptions(); options.setSearchFormRoot('cse-search-form'); customSearchControl.draw('cse', options); }, true);</script><link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" /><div id="cse" style="width:100%;"></div>
<div class="header"><a id="top" name="top"></a>
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left" valign="top"><div class="booktitle">Java Persistence API (JPA) Extensions Reference for EclipseLink,
Release 2.7</div></td>
<td valign="bottom" align="right" width="144">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>&nbsp;</td>
<td align="center" valign="top"><a href="toc.htm"><img src="../../../dcommon/images/contents.png" alt="Go To Table Of Contents" border="0" height="16" width="16" /><br />
</td><td>&nbsp;</td><td align="center"><a href="../../../" target="_top" class="external text" title="Search" rel="nofollow"><img src="../../../dcommon/images/search.png" alt="Search" style="border:0;" /><br /><span class="mini"></span></a></td><td>&nbsp;</td><td align="center"><a href="../../eclipselink_jpa_extensions.pdf" title="PDF" target="_blank"><img src="../../../dcommon/images/pdf_icon.png" style="padding-right:5px;border:0" alt="PDF"></a></td><td align="center"><a href="#disqus_thread" title="Comments""><img src="../../../dcommon/images/comments.png" style="padding-right:5px;border:0" alt="Comments"><br /><span class="mini">Comments</span></a>
</tr>
</table>
</td>
</tr>
</table>
<hr />
<table class="navigation simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100" align="center">
<tr>
<td align="center"><a href="queryhints.htm"><img src="../../../dcommon/images/larrow.png" alt="Previous" border="0" height="16" width="16" /></a></td>
<td align="center"><a href="schema.htm"><img src="../../../dcommon/images/rarrow.png" alt="Next" border="0" height="16" width="16" /></a></td>
<td>&nbsp;</td>
</tr>
</table>
</div>
<!-- class="header" -->
<div class="ind"><!-- End Header --><a id="TLJPA826" name="TLJPA826"></a> <a id="sthref733" name="sthref733"></a>
<h1 class="chapter"><font face="arial, helvetica, sans-serif" color="#330099"><span class="secnum">5</span> Persistence Property Extensions Reference</font></h1>
<a id="TLJPA54085" name="TLJPA54085"></a>
<p>This chapter describes the persistence property extensions.You configure persistence units in the JPA persistence descriptor file: <code>persistence.xml</code>. EclipseLink includes many persistence property enhancements and extensions that can be configured in the <code>persistence.xml</code> file.</p>
<p>This chapter includes the following sections:</p>
<ul>
<li>
<p><a href="#CACGDIBI2">Functional Listing of Persistence Property Extensions</a></p>
</li>
<li>
<p><a href="#CACBGBJG2">Alphabetical Listing of Persistence Property Extensions</a></p>
</li>
</ul>
<a id="CACGDIBI2" name="CACGDIBI2"></a><a id="TLJPA1047" name="TLJPA1047"></a>
<div class="sect1">
<h2 class="sect1"><font face="arial, helvetica, sans-serif" color="#330099">Functional Listing of Persistence Property Extensions</font></h2>
<p>The following lists the EclipseLink persistence property (<code>persistence.xml</code> file) extensions, categorized by function:</p>
<ul>
<li>
<p><a href="#CACGCEIJ2">Weaving</a></p>
</li>
<li>
<p><a href="#CACDIEID2">Customizers</a></p>
</li>
<li>
<p><a href="#CACJHFEC2">Validation and Optimization</a></p>
</li>
<li>
<p><a href="#CACDCCEG2">Caching</a></p>
</li>
<li>
<p><a href="#CHDBDCHB2">Mapping</a></p>
</li>
<li>
<p><a href="#CHDFDDBF">Schema generation</a></p>
</li>
<li>
<p><a href="#CHDICECH2">JDBC configuration</a></p>
</li>
<li>
<p><a href="#CHDFDDBF1">Concurrency manager</a></p>
</li>
</ul>
<a id="CACGCEIJ2" name="CACGCEIJ2"></a><a id="TLJPA1049" name="TLJPA1049"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Weaving</font></h3>
<p>EclipseLink includes the following persistence property extensions for weaving:</p>
<ul>
<li>
<p><code><a href="#weaving">weaving</a></code></p>
</li>
<li>
<p><code><a href="#CHDCEEFC">weaving.changetracking</a></code></p>
</li>
<li>
<p><code><a href="#BABGGCGC">weaving.eager</a></code></p>
</li>
<li>
<p><code><a href="#CHDDIFGE">weaving.fetchgroups</a></code></p>
</li>
<li>
<p><code><a href="#BABJICDJ">weaving.internal</a></code></p>
</li>
<li>
<p><code><a href="#BABDBIFE">weaving.lazy</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CACDIEID2" name="CACDIEID2"></a><a id="TLJPA1050" name="TLJPA1050"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Customizers</font></h3>
<p>EclipseLink includes the following persistence property extensions for customizing descriptors and sessions:</p>
<ul>
<li>
<p><code><a href="#delayonstartup">deploy-on-startup</a></code></p>
</li>
<li>
<p><code><a href="#CCHIEAIA">descriptor.customizer</a></code></p>
</li>
<li>
<p><code><a href="#session.customizer">session.customizer</a></code></p>
</li>
<li>
<p><code><a href="#CHDFDJJD">session.include.descriptor.queries</a></code></p>
</li>
<li>
<p><code><a href="#session-event-listener">session-event-listener</a></code></p>
</li>
<li>
<p><code><a href="#CHDFHEAC">session-name</a></code></p>
</li>
<li>
<p><code><a href="#sessions-xml">sessions-xml</a></code></p>
</li>
<li>
<p><code><a href="#target-database">target-database</a></code></p>
</li>
<li>
<p><code><a href="#target-server">target-server</a></code></p>
</li>
<li>
<p><code><a href="#CHDJDEDE">metadata-source</a></code></p>
</li>
<li>
<p><code><a href="#CHDEFFGG2">metadata-source.properties.file</a></code></p>
</li>
<li>
<p><code><a href="#CHDICFHG">metadata-source.send-refresh-command</a></code></p>
</li>
<li>
<p><code><a href="#CHDBFJEB">metadata-source.xml.url</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CACJHFEC2" name="CACJHFEC2"></a><a id="TLJPA1051" name="TLJPA1051"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Validation and Optimization</font></h3>
<p>EclipseLink includes the following persistence property extensions for validation.</p>
<ul>
<li>
<p><code><a href="#CCHCJCDJ">exception-handler</a></code></p>
</li>
<li>
<p><code><a href="#partitioning">partitioning</a></code></p>
</li>
<li>
<p><code><a href="#BJFEFCFC">partitioning.callback</a></code></p>
</li>
<li>
<p><code><a href="#profiler">profiler</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="TLJPA827" name="TLJPA827"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" --><a id="sthref734" name="sthref734"></a>
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Logging</font></h3>
<p>EclipseLink includes the following persistence property extensions for logging.</p>
<ul>
<li>
<p><code><a href="#CHDJCBIF">logging.connection</a></code></p>
</li>
<li>
<p><code><a href="#BEIFJBIE">logging.exceptions</a></code></p>
</li>
<li>
<p><code><a href="#BEIHGBBC">logging.file</a></code></p>
</li>
<li>
<p><code><a href="#CHDGFDDH">logging.level</a></code></p>
</li>
<li>
<p><code><a href="#BEIHGGHH">logging.session</a></code></p>
</li>
<li>
<p><code><a href="#BEIFFGGB">logging.thread</a></code></p>
</li>
<li>
<p><code><a href="#BEIJCEBJ">logging.timestamp</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CACDCCEG2" name="CACDCCEG2"></a><a id="TLJPA1052" name="TLJPA1052"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Caching</font></h3>
<p>EclipseLink includes the following persistence property extensions for caching:</p>
<ul>
<li>
<p><code><a href="#BABGBAEC">cache.coordination.channel</a></code></p>
</li>
<li>
<p><code><a href="#BABJGCIF">cache.coordination.jms.factory</a></code></p>
</li>
<li>
<p><code><a href="#BABJGJGI">cache.coordination.jms.host</a></code></p>
</li>
<li>
<p><code><a href="#CHDHJECA">cache.coordination.jms.reuse-topic-publisher</a></code></p>
</li>
<li>
<p><code><a href="#BABHEFCJ">cache.coordination.jms.topic</a></code></p>
</li>
<li>
<p><code><a href="#BABFBHGI">cache.coordination.jndi.initial-context-factory</a></code></p>
</li>
<li>
<p><code><a href="#BABJBCCF">cache.coordination.jndi.password</a></code></p>
</li>
<li>
<p><code><a href="#BABGAEHE">cache.coordination.jndi.user</a></code></p>
</li>
<li>
<p><code><a href="#BABIEEBH">cache.coordination.naming-service</a></code></p>
</li>
<li>
<p><code><a href="#BABDFGGD">cache.coordination.propagate-asynchronously</a></code></p>
</li>
<li>
<p><code><a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code></p>
</li>
<li>
<p><code><a href="#BABIEJED">cache.coordination.remove-connection-on-error</a></code></p>
</li>
<li>
<p><code><a href="#BABDGCDE">cache.coordination.rmi.announcement-delay</a></code></p>
</li>
<li>
<p><code><a href="#BABDGFEI">cache.coordination.rmi.multicast-group</a></code></p>
</li>
<li>
<p><code><a href="#BABDGFEI">cache.coordination.rmi.multicast-group</a></code></p>
</li>
<li>
<p><code><a href="#BABFBDBJ">cache.coordination.rmi.packet-time-to-live</a></code></p>
</li>
<li>
<p><code><a href="#BABCJIFC">cache.coordination.rmi.url</a></code></p>
</li>
<li>
<p><code><a href="#BABFJGIF">cache.coordination.thread.pool.size</a></code></p>
</li>
<li>
<p><code><a href="#CCHEEFGA">cache.database-event-listener</a></code></p>
</li>
<li>
<p><code><a href="#CHDEJCJJ">cache.shared</a></code></p>
</li>
<li>
<p><code><a href="#CHDIGIEC">cache.size</a></code></p>
</li>
<li>
<p><code><a href="#CHDGDIEI">cache.type</a></code></p>
</li>
<li>
<p><code><a href="#CDEJGBEI">flush-clear.cache</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CHDBDCHB2" name="CHDBDCHB2"></a><a id="TLJPA1053" name="TLJPA1053"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Mapping</font></h3>
<p>EclipseLink includes the following persistence property extensions for mappings:</p>
<ul>
<li>
<p><code><a href="#BIICFIDB">composite-unit</a></code></p>
</li>
<li>
<p><code><a href="#CHDHCIDH">composite-unit.member</a></code></p>
</li>
<li>
<p><code><a href="#CIHGHJGA">composite-unit.properties</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CHDFDDBF" name="CHDFDDBF"></a><a id="TLJPA54051" name="TLJPA54051"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Schema generation</font></h3>
<p>EclipseLink includes the following persistence property extensions for mappings:</p>
<ul>
<li>
<p><code><a href="#createddljdbcfilename">create-ddl-jdbc-file-name</a></code></p>
</li>
<li>
<p><code><a href="#BEHBIEJG">ddl.table-creation-suffix</a></code></p>
</li>
<li>
<p><code><a href="#BABHEJJI">ddl-generation</a></code></p>
</li>
<li>
<p><code><a href="#BABCDHBB">ddl-generation.output-mode</a></code></p>
</li>
<li>
<p><code><a href="#BABFEBCG">drop-ddl-jdbc-file-name</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CHDICECH2" name="CHDICECH2"></a><a id="TLJPA1054" name="TLJPA1054"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">JDBC configuration</font></h3>
<p>EclipseLink includes the following persistence property extensions for configuring JDBC connections and connection pooling:</p>
<ul>
<li>
<p><code><a href="#connectionpool">connection-pool</a></code></p>
</li>
<li>
<p><code><a href="#CHDDIIFD">connection-pool.read</a></code></p>
</li>
<li>
<p><code><a href="#BABIDAGH">connection-pool.sequence</a></code></p>
</li>
<li>
<p><code><a href="#CIHHJBFB">jdbc.allow-native-sql-queries</a></code></p>
</li>
<li>
<p><code><a href="#CIHIAGAF">jdbc.batch-writing</a></code></p>
</li>
<li>
<p><code><a href="#CIHJADHF">jdbc.batch-writing.size</a></code></p>
</li>
<li>
<p><code><a href="#CHDHAFAA">jdbc.cache-statements</a></code></p>
</li>
<li>
<p><code><a href="#CACBICGG">jdbc.cache-statements.size</a></code></p>
</li>
<li>
<p><code><a href="#CFAJHIJA">jdbc.connector</a></code></p>
</li>
<li>
<p><code><a href="#CHDCJIBF">jdbc.exclusive-connection.is-lazy</a></code></p>
</li>
<li>
<p><code><a href="#CACBICGG2">jdbc.exclusive-connection.mode</a></code></p>
</li>
<li>
<p><code><a href="#CIHBHCIE">jdbc.naming_into_indexed</a></code></p>
</li>
<li>
<p><code><a href="#CIHEACBE">jdbc.native-sql</a></code></p>
</li>
<li>
<p><code><a href="#CIHHJHHD">jdbc.property</a></code></p>
</li>
<li>
<p><code><a href="#CIHBHCID">jdbc.sql-cast</a></code></p>
</li>
<li>
<p><code><a href="#CIHIIAFD">jdbc.uppercase-columns</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="CHDFDDBF1" name="CHDFDDBF1"></a><a id="TLJPA540511" name="TLJPA540511"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h3 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">Concurrency manager</font></h3>
<p>EclipseLink includes the following persistence property extensions for concurrency management:</p>
<ul>
<li>
<p><code><a href="#concurrency.manager.waittime">concurrency.manager.waittime</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxsleeptime">concurrency.manager.maxsleeptime</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxfrequencytodumptinymessage">concurrency.manager.maxfrequencytodumptinymessage</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxfrequencytodumpmassivemessage">concurrency.manager.maxfrequencytodumpmassivemessage</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.interruptedexception">concurrency.manager.allow.interruptedexception</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.concurrencyexception">concurrency.manager.allow.concurrencyexception</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.readlockstacktrace">concurrency.manager.allow.readlockstacktrace</a></code></p>
</li>
</ul>
</div>
<!-- class="sect2" --></div>
<!-- class="sect1" -->
<a id="CACBGBJG2" name="CACBGBJG2"></a><a id="TLJPA1055" name="TLJPA1055"></a>
<div class="sect1">
<h2 class="sect1"><font face="arial, helvetica, sans-serif" color="#330099">Alphabetical Listing of Persistence Property Extensions</font></h2>
<p>The following lists the EclipseLink persistence property (<code>persitence.xml</code> file) extensions, in alphabetical order:</p>
<ul>
<li>
<p><code><a href="#CACHGDEJ">application-location</a></code></p>
</li>
<li>
<p><code><a href="#BABGBAEC">cache.coordination.channel</a></code></p>
</li>
<li>
<p><code><a href="#BABJGCIF">cache.coordination.jms.factory</a></code></p>
</li>
<li>
<p><code><a href="#BABJGJGI">cache.coordination.jms.host</a></code></p>
</li>
<li>
<p><code><a href="#CHDHJECA">cache.coordination.jms.reuse-topic-publisher</a></code></p>
</li>
<li>
<p><code><a href="#BABHEFCJ">cache.coordination.jms.topic</a></code></p>
</li>
<li>
<p><code><a href="#BABFBHGI">cache.coordination.jndi.initial-context-factory</a></code></p>
</li>
<li>
<p><code><a href="#BABJBCCF">cache.coordination.jndi.password</a></code></p>
</li>
<li>
<p><code><a href="#BABGAEHE">cache.coordination.jndi.user</a></code></p>
</li>
<li>
<p><code><a href="#BABIEEBH">cache.coordination.naming-service</a></code></p>
</li>
<li>
<p><code><a href="#BABDFGGD">cache.coordination.propagate-asynchronously</a></code></p>
</li>
<li>
<p><code><a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code></p>
</li>
<li>
<p><code><a href="#BABIEJED">cache.coordination.remove-connection-on-error</a></code></p>
</li>
<li>
<p><code><a href="#BABDGCDE">cache.coordination.rmi.announcement-delay</a></code></p>
</li>
<li>
<p><code><a href="#BABDGFEI">cache.coordination.rmi.multicast-group</a></code></p>
</li>
<li>
<p><code><a href="#BABDGFEI">cache.coordination.rmi.multicast-group</a></code></p>
</li>
<li>
<p><code><a href="#BABFBDBJ">cache.coordination.rmi.packet-time-to-live</a></code></p>
</li>
<li>
<p><code><a href="#BABCJIFC">cache.coordination.rmi.url</a></code></p>
</li>
<li>
<p><code><a href="#BABFJGIF">cache.coordination.thread.pool.size</a></code></p>
</li>
<li>
<p><code><a href="#CCHEEFGA">cache.database-event-listener</a></code></p>
</li>
<li>
<p><code><a href="#CHDEJCJJ">cache.shared</a></code></p>
</li>
<li>
<p><code><a href="#CHDIGIEC">cache.size</a></code></p>
</li>
<li>
<p><code><a href="#CHDGDIEI">cache.type</a></code></p>
</li>
<li>
<p><code><a href="#classloader">classloader</a></code></p>
</li>
<li>
<p><code><a href="#BIICFIDB">composite-unit</a></code></p>
</li>
<li>
<p><code><a href="#CHDHCIDH">composite-unit.member</a></code></p>
</li>
<li>
<p><code><a href="#CIHGHJGA">composite-unit.properties</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.waittime">concurrency.manager.waittime</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxsleeptime">concurrency.manager.maxsleeptime</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxfrequencytodumptinymessage">concurrency.manager.maxfrequencytodumptinymessage</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.maxfrequencytodumpmassivemessage">concurrency.manager.maxfrequencytodumpmassivemessage</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.interruptedexception">concurrency.manager.allow.interruptedexception</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.concurrencyexception">concurrency.manager.allow.concurrencyexception</a></code></p>
</li>
<li>
<p><code><a href="#concurrency.manager.allow.readlockstacktrace">concurrency.manager.allow.readlockstacktrace</a></code></p>
</li>
<li>
<p><code><a href="#connectionpool">connection-pool</a></code></p>
</li>
<li>
<p><code><a href="#CHDDIIFD">connection-pool.read</a></code></p>
</li>
<li>
<p><code><a href="#BABIDAGH">connection-pool.sequence</a></code></p>
</li>
<li>
<p><code><a href="#createddljdbcfilename">create-ddl-jdbc-file-name</a></code></p>
</li>
<li>
<p><code><a href="#BEHBIEJG">ddl.table-creation-suffix</a></code></p>
</li>
<li>
<p><code><a href="#BABHEJJI">ddl-generation</a></code></p>
</li>
<li>
<p><code><a href="#BABCDHBB">ddl-generation.output-mode</a></code></p>
</li>
<li>
<p><code><a href="#BEHBIEJG">ddl.table-creation-suffix</a></code></p>
</li>
<li>
<p><code><a href="#delayonstartup">deploy-on-startup</a></code></p>
</li>
<li>
<p><code><a href="#CCHIEAIA">descriptor.customizer</a></code></p>
</li>
<li>
<p><code><a href="#BABFEBCG">drop-ddl-jdbc-file-name</a></code></p>
</li>
<li>
<p><code><a href="#CCHCJCDJ">exception-handler</a></code></p>
</li>
<li>
<p><code><a href="#CHDBIAAC">exclude-eclipselink-orm</a></code></p>
</li>
<li>
<p><code><a href="#CDEJGBEI">flush-clear.cache</a></code></p>
</li>
<li>
<p><code><a href="#CACEEGCC">id-validation</a></code></p>
</li>
<li>
<p><code><a href="#CIHHJBFB">jdbc.allow-native-sql-queries</a></code></p>
</li>
<li>
<p><code><a href="#CIHIAGAF">jdbc.batch-writing</a></code></p>
</li>
<li>
<p><code><a href="#CIHJADHF">jdbc.batch-writing.size</a></code></p>
</li>
<li>
<p><code><a href="#CHDHAFAA">jdbc.cache-statements</a></code></p>
</li>
<li>
<p><code><a href="#CACBICGG">jdbc.cache-statements.size</a></code></p>
</li>
<li>
<p><code><a href="#CFAJHIJA">jdbc.connector</a></code></p>
</li>
<li>
<p><code><a href="#CHDCJIBF">jdbc.exclusive-connection.is-lazy</a></code></p>
</li>
<li>
<p><code><a href="#CACBICGG2">jdbc.exclusive-connection.mode</a></code></p>
</li>
<li>
<p><code><a href="#CIHBHCIE">jdbc.naming_into_indexed</a></code></p>
</li>
<li>
<p><code><a href="#CIHEACBE">jdbc.native-sql</a></code></p>
</li>
<li>
<p><code><a href="#CIHHJHHD">jdbc.property</a></code></p>
</li>
<li>
<p><code><a href="#CIHBHCID">jdbc.sql-cast</a></code></p>
</li>
<li>
<p><code><a href="#CIHIIAFD">jdbc.uppercase-columns</a></code></p>
</li>
<li>
<p><code><a href="#CHDJGCBD">jpa.uppercase-column-names</a></code></p>
</li>
<li>
<p><code><a href="#CHDFJAAC">jpql.parser</a></code></p>
</li>
<li>
<p><code><a href="#BCFGFEFB3">jpql.validation</a></code></p>
</li>
<li>
<p><code><a href="#CHDJCBIF">logging.connection</a></code></p>
</li>
<li>
<p><code><a href="#BEIFJBIE">logging.exceptions</a></code></p>
</li>
<li>
<p><code><a href="#BEIHGBBC">logging.file</a></code></p>
</li>
<li>
<p><code><a href="#CHDGFDDH">logging.level</a></code></p>
</li>
<li>
<p><code><a href="#BEIHGGHH">logging.session</a></code></p>
</li>
<li>
<p><code><a href="#BEIFFGGB">logging.thread</a></code></p>
</li>
<li>
<p><code><a href="#BEIJCEBJ">logging.timestamp</a></code></p>
</li>
<li>
<p><code><a href="#CHDJDEDE">metadata-source</a></code></p>
</li>
<li>
<p><code><a href="#CHDEFFGG2">metadata-source.properties.file</a></code></p>
</li>
<li>
<p><code><a href="#CHDICFHG">metadata-source.send-refresh-command</a></code></p>
</li>
<li>
<p><code><a href="#CHDBFJEB">metadata-source.xml.url</a></code></p>
</li>
<li>
<p><code><a href="#BGBEDEJC">nosql.connection-factory</a></code></p>
</li>
<li>
<p><code><a href="#BCGEBECD">nosql.connection-spec</a></code></p>
</li>
<li>
<p><code><a href="#BABJAJAI">nosql.property</a></code></p>
</li>
<li>
<p><code><a href="#CDEFJEGI">oracle.proxy-type</a></code></p>
</li>
<li>
<p><code><a href="#orm.throw.exceptions">orm.throw.exceptions</a></code></p>
</li>
<li>
<p><code><a href="#CHDIFJDB">orm.validate.schema</a></code></p>
</li>
<li>
<p><code><a href="#partitioning">partitioning</a></code></p>
</li>
<li>
<p><code><a href="#BJFEFCFC">partitioning.callback</a></code></p>
</li>
<li>
<p><code><a href="#BABDGGHE">persistence-context.close-on-commit</a></code></p>
</li>
<li>
<p><code><a href="#BABCHJJA">persistence-context.commit-without-persist-rules</a></code></p>
</li>
<li>
<p><code><a href="#BABDHEEB">persistence-context.flush-mode</a></code></p>
</li>
<li>
<p><code><a href="#BABGCAGC">persistence-context.persist-on-commit</a></code></p>
</li>
<li>
<p><code><a href="#BABIAJAI">persistence-context.reference-mode</a></code></p>
</li>
<li>
<p><code><a href="#persistenceunits">persistenceunits</a></code></p>
</li>
<li>
<p><code><a href="#persistencexml">persistencexml</a></code></p>
</li>
<li>
<p><code><a href="#CHDEGCBC">persisencexml.default</a></code></p>
</li>
<li>
<p><code><a href="#profiler">profiler</a></code></p>
</li>
<li>
<p><code><a href="#session.customizer">session.customizer</a></code></p>
</li>
<li>
<p><code><a href="#CHDFDJJD">session.include.descriptor.queries</a></code></p>
</li>
<li>
<p><code><a href="#session-event-listener">session-event-listener</a></code></p>
</li>
<li>
<p><code><a href="#CHDFHEAC">session-name</a></code></p>
</li>
<li>
<p><code><a href="#sessions-xml">sessions-xml</a></code></p>
</li>
<li>
<p><code><a href="#target-database">target-database</a></code></p>
</li>
<li>
<p><code><a href="#target-server">target-server</a></code></p>
</li>
<li>
<p><code><a href="#CHDHJBEE">temporal.mutable</a></code></p>
</li>
<li>
<p><code><a href="#CHDHBGIE">tenant-id</a></code></p>
</li>
<li>
<p><code><a href="#CIHEAICB">transaction.join-existing</a></code></p>
</li>
<li>
<p><code><a href="#CHDGFIGB">tuning</a></code></p>
</li>
<li>
<p><code><a href="#validate-existence">validate-existence</a></code></p>
</li>
<li>
<p><code><a href="#validation-only">validation-only</a></code></p>
</li>
<li>
<p><code><a href="#weaving">weaving</a></code></p>
</li>
<li>
<p><code><a href="#CHDCEEFC">weaving.changetracking</a></code></p>
</li>
<li>
<p><code><a href="#BABGGCGC">weaving.eager</a></code></p>
</li>
<li>
<p><code><a href="#CHDDIFGE">weaving.fetchgroups</a></code></p>
</li>
<li>
<p><code><a href="#BABJICDJ">weaving.internal</a></code></p>
</li>
<li>
<p><code><a href="#BABDBIFE">weaving.lazy</a></code></p>
</li>
</ul>
</div>
<!-- class="sect1" -->
<a id="CACHGDEJ" name="CACHGDEJ"></a><a id="TLJPA1060" name="TLJPA1060"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">application-location</font></h2>
<p>Use the <code>eclipselink.application-location</code> property to specify the file system directory in which EclipseLink writes (outputs) DDL files.</p>
<a id="sthref735" name="sthref735"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CACBIDFB">Table 5-1</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA1061" name="TLJPA1061"></a><a id="sthref736" name="sthref736"></a><a id="CACBIDFB" name="CACBIDFB"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-1 Valid Values for application-location</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for application-location" summary="This table describes the valid values for the application-location persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t2"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t2"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t2" headers="r1c1-t2">
<p>value</p>
</td>
<td align="left" headers="r2c1-t2 r1c2-t2">
<p>Directory location. The path must be fully qualified. For Windows, use a backslash. For UNIX use a slash.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref737" name="sthref737"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>You may set this option only if the value of <code>eclipselink.<a href="#BABCDHBB">ddl-generation.output-mode</a></code> is <code>sql-script</code> or <code>both</code>.</p>
<a id="sthref738" name="sthref738"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#CACGJACG">Example 5-1</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="CACGJACG" name="CACGJACG"></a><a id="TLJPA830" name="TLJPA830"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-1 Using application-location in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.application-location" value="c:/YOURDIRECTORY/"/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDDIGII">Example 5-2</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDDIGII" name="CHDDIGII"></a><a id="TLJPA54155" name="TLJPA54155"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-2 Using application-location in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.APPLICATION_LOCATION,
"c:/YOURDIRECTORY/");
</pre></div>
<!-- class="example" -->
<a id="sthref739" name="sthref739"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#BABCDHBB">"ddl-generation.output-mode"</a></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABGBAEC" name="BABGBAEC"></a><a id="TLJPA1062" name="TLJPA1062"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.channel</font></h2>
<p>Use the <code>eclipselink.cache.coordination.channel</code> property to configure cache coordination for a clustered environment.</p>
<a id="sthref740" name="sthref740"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABDCBBB">Table 5-2</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA1063" name="TLJPA1063"></a><a id="sthref741" name="sthref741"></a><a id="BABDCBBB" name="BABDCBBB"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-2 Valid Values for cache.coordination.channel</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.channel" summary="This table describes the valid values for the cache.coordination.channel persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t3"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t3"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t3" headers="r1c1-t3">
<p>channel name</p>
</td>
<td align="left" headers="r2c1-t3 r1c2-t3">
<p>The channel used for cache coordination. All persistence units using the same channel will be coordinated.</p>
<p>Default: <code>EclipseLinkCommandChannel</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref742" name="sthref742"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>If multiple EclipseLink deployments reside on the same network, they should be in different channels.</p>
<a id="sthref743" name="sthref743"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABBJEBD">Example 5-3</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABBJEBD" name="BABBJEBD"></a><a id="TLJPA831" name="TLJPA831"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-3 Using application-location in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.channel" value="EmployeeChannel" /&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDDBGHI">Example 5-4</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDDBGHI" name="CHDDBGHI"></a><a id="TLJPA54156" name="TLJPA54156"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-4 Using cache.coordination.channel in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.CACHE_COORDINATION_CHANNEL,
"myChannel");
</pre></div>
<!-- class="example" -->
<a id="sthref744" name="sthref744"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="annotations_ref.htm#CHDBBIHE">"@Cache"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABJGCIF" name="BABJGCIF"></a><a id="TLJPA54086" name="TLJPA54086"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jms.factory</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jms.factory</code> property to configure the JMS topic connection factory name, when using JMS coordination for a clustered environment.</p>
<a id="sthref745" name="sthref745"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CACBGAJC">Table 5-3</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA54087" name="TLJPA54087"></a><a id="sthref746" name="sthref746"></a><a id="CACBGAJC" name="CACBGAJC"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-3 Valid Values for cache.coordination.jms.factory</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jms.factory" summary="This table describes the valid values for the cache.coordination.jms.factory persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t4"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t4"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t4" headers="r1c1-t4">
<p>name</p>
</td>
<td align="left" headers="r2c1-t4 r1c2-t4">
<p>The JMS topic connection factory name.</p>
<p>Default: <code>jms/EclipseLinkTopicConnectionFactory</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref747" name="sthref747"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for JMS coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>jms</code>).</p>
<a id="sthref748" name="sthref748"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABHGIFC">Example 5-13</a> for information on how to use this property.</p>
<a id="sthref749" name="sthref749"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABJGJGI" name="BABJGJGI"></a><a id="TLJPA1066" name="TLJPA1066"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jms.host</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jms.host</code> property to configure the URL of the JMS server that hosts the topic, when using JMS coordination for a clustered environment.</p>
<a id="sthref750" name="sthref750"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABHHADG">Table 5-4</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA1067" name="TLJPA1067"></a><a id="sthref751" name="sthref751"></a><a id="BABHHADG" name="BABHHADG"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-4 Valid Values for cache.coordination.jms.host</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jms.host" summary="This table describes the valid values for the cache.coordination.jms.host persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t5"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t5"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t5" headers="r1c1-t5">
<p>url</p>
</td>
<td align="left" headers="r2c1-t5 r1c2-t5">
<p>The fully-qualified URL for the JMS server.</p>
<p>This is not required if the topic is distributed across the cluster (that is, it can be looked up in local JNDI).</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref752" name="sthref752"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for JMS coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>jms</code>). You must use a fully qualified URL.</p>
<a id="sthref753" name="sthref753"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABHGIFC">Example 5-13</a> for information on how to use this property.</p>
<a id="sthref754" name="sthref754"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="CHDHJECA" name="CHDHJECA"></a><a id="TLJPA54088" name="TLJPA54088"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jms.reuse-topic-publisher</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jms.reuse-topic-publisher</code> property to specify if the JSM transport manager should cache a <code>TopicPubliser</code> and reuse it for all cache coordination publishing.</p>
<a id="sthref755" name="sthref755"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CACFGJBJ">Table 5-5</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA54089" name="TLJPA54089"></a><a id="sthref756" name="sthref756"></a><a id="CACFGJBJ" name="CACFGJBJ"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-5 Valid Values for cache.coordination.jms.reuse-topic-publisher</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jms.reuse-topic-publisher" summary="This table describes the valid values for the cache.coordination.jms.reuse-topic-publisher persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t6"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t6"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t6" headers="r1c1-t6">
<p><code>true</code></p>
</td>
<td align="left" headers="r2c1-t6 r1c2-t6">
<p>Caches the topic publisher.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t6" headers="r1c1-t6">
<p><code>false</code></p>
</td>
<td align="left" headers="r3c1-t6 r1c2-t6">
<p>(Default) Does not cache the topic publisher.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref757" name="sthref757"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for JMS coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>jms</code>).</p>
<a id="sthref758" name="sthref758"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABHGIFC">Example 5-13</a> for information on how to use this property.</p>
<a id="sthref759" name="sthref759"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABHEFCJ" name="BABHEFCJ"></a><a id="TLJPA834" name="TLJPA834"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jms.topic</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jms.topic</code> property to set the JMS topic name, when using JMS coordination for a clustered environment.</p>
<a id="sthref760" name="sthref760"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABFEBJD">Table 5-6</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA835" name="TLJPA835"></a><a id="sthref761" name="sthref761"></a><a id="BABFEBJD" name="BABFEBJD"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-6 Valid Values for cache.coordination.jms.topic</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jms.topic" summary="This table describes the valid values for the cache.coordination.jms.topic persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t7"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t7"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t7" headers="r1c1-t7">
<p>name</p>
</td>
<td align="left" headers="r2c1-t7 r1c2-t7">
<p>Set the JMS topic name.</p>
<p>Default: <code>jms/EclipseLinkTopic</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref762" name="sthref762"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for JMS coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>jms</code>).</p>
<a id="sthref763" name="sthref763"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABHGIFC">Example 5-13</a> for information on how to use this property.</p>
<a id="sthref764" name="sthref764"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABFBHGI" name="BABFBHGI"></a><a id="TLJPA54090" name="TLJPA54090"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jndi.initial-context-factory</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jndi.initial-context-factory</code> property to set the JNDI <code>InitialContext</code> factory, when using cache coordination for a clustered environment.</p>
<a id="sthref765" name="sthref765"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CACBDFGG">Table 5-7</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA54091" name="TLJPA54091"></a><a id="sthref766" name="sthref766"></a><a id="CACBDFGG" name="CACBDFGG"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-7 Valid Values for cache.coordination.jndi.initial-context-factory</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jndi.initial-context-factory" summary="This table describes the valid values for the cache.coordination.jndi.initial-context-factory persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t8"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t8"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t8" headers="r1c1-t8">
<p>name</p>
</td>
<td align="left" headers="r2c1-t8 r1c2-t8">
<p>Name of the JNDI <code>InitialContext</code> factory.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref767" name="sthref767"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Normally, you will not need this property when connecting to the local server.</p>
<a id="sthref768" name="sthref768"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#CHDBIAHF">Example 5-5</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="CHDBIAHF" name="CHDBIAHF"></a><a id="TLJPA54138" name="TLJPA54138"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-5 Using cache.coordination.jndi.initial-context-factory in persistence.xml.</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.jndi.initial-context-factory"
value="weblogic.jndi.WLInitialContextFactory/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDGJAGI">Example 5-6</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDGJAGI" name="CHDGJAGI"></a><a id="TLJPA54157" name="TLJPA54157"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-6 Using cache.coordination.jndi.initial-context-factory in a property map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put
(PersistenceUnitProperties.CACEH_COORDINATION_JNDI_INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
</pre></div>
<!-- class="example" -->
<a id="sthref769" name="sthref769"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABJBCCF" name="BABJBCCF"></a><a id="TLJPA838" name="TLJPA838"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jndi.password</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jndi.password</code> property to set the password for the <code><a href="#BABGAEHE">cache.coordination.jndi.user</a></code>, when using cache coordination for a clustered environment.</p>
<a id="sthref770" name="sthref770"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABCDCAB">Table 5-8</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA839" name="TLJPA839"></a><a id="sthref771" name="sthref771"></a><a id="BABCDCAB" name="BABCDCAB"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-8 Valid Values for cache.coordination.jndi.password</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jndi.password" summary="This table describes the valid values for the cache.coordination.jndi.password persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t9"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t9"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t9" headers="r1c1-t9">
<p>value</p>
</td>
<td align="left" headers="r2c1-t9 r1c2-t9">
<p>Password for the <a href="#BABGAEHE">cache.coordination.jndi.user</a>.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref772" name="sthref772"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Normally, you will not need this property when connecting to the local server.</p>
<a id="sthref773" name="sthref773"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABEDFDG">Example 5-7</a> shows how to use this propery in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABEDFDG" name="BABEDFDG"></a><a id="TLJPA840" name="TLJPA840"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-7 Using cache.coordination.jndi.password in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.jndi.user" value="USERNAME"/&gt;
&lt;property name="eclipselink.cache.coordination.jndi.password" value="PASSWORD"/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDDGDHG">Example 5-8</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDDGDHG" name="CHDDGDHG"></a><a id="TLJPA54158" name="TLJPA54158"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-8 Using cache.coordination.jndi.password in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_JNDI_USER,
"USERNAME");
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_JNDI_PASSWORD,
"PASSWORD");
</pre></div>
<!-- class="example" -->
<a id="sthref774" name="sthref774"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#BABGAEHE">"cache.coordination.jndi.user"</a></p>
</li>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABGAEHE" name="BABGAEHE"></a><a id="TLJPA841" name="TLJPA841"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.jndi.user</font></h2>
<p>Use the <code>eclipselink.cache.coordination.jndi.user</code> property to set JNDI naming service user, when using cache coordination for a clustered environment.</p>
<a id="sthref775" name="sthref775"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABJECGE">Table 5-9</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA842" name="TLJPA842"></a><a id="sthref776" name="sthref776"></a><a id="BABJECGE" name="BABJECGE"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-9 Valid Values for cache.coordination.jndi.user</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.jndi.user" summary="This table describes the valid values for the cache.coordination.jndi.user persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t10"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t10"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t10" headers="r1c1-t10">
<p>value</p>
</td>
<td align="left" headers="r2c1-t10 r1c2-t10">
<p>The JNDI user.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref777" name="sthref777"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Normally, you will not need this property when connecting to the local server.</p>
<a id="sthref778" name="sthref778"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABHGIFC">Example 5-13</a> for information on how to use this property.</p>
<a id="sthref779" name="sthref779"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#BABJBCCF">"cache.coordination.jndi.password"</a></p>
</li>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABIEEBH" name="BABIEEBH"></a><a id="TLJPA843" name="TLJPA843"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.naming-service</font></h2>
<p>Use the <code>eclipselink.cache.coordination.naming-service</code> property to specify the naming service to use, when using cache coordination for a clustered environment.</p>
<a id="sthref780" name="sthref780"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABEFFAF">Table 5-10</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA844" name="TLJPA844"></a><a id="sthref781" name="sthref781"></a><a id="BABEFFAF" name="BABEFFAF"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-10 Valid Values for cache.coordination.naming-service</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.naming-service" summary="This table describes the valid values for the cache.coordination.naming-service persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t11"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t11"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t11" headers="r1c1-t11">
<p><code>jndi</code></p>
</td>
<td align="left" headers="r2c1-t11 r1c2-t11">
<p>Uses JNDI.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t11" headers="r1c1-t11">
<p><code>rmi</code></p>
</td>
<td align="left" headers="r3c1-t11 r1c2-t11">
<p>Configures RMI.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref782" name="sthref782"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Cache coordination must be enabled.</p>
<a id="sthref783" name="sthref783"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABGAFBA">Example 5-9</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABGAFBA" name="BABGAFBA"></a><a id="TLJPA845" name="TLJPA845"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-9 Using cache.coordination.naming-service in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination" value="true"/&gt;
&lt;property name="eclipselink.cache.coordination.naming-service" value="jndi"/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDGAICF">Example 5-10</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDGAICF" name="CHDGAICF"></a><a id="TLJPA54159" name="TLJPA54159"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-10 Using cache.coordination.naming-service in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_NAMING_SERVICE,
"jndi");
</pre></div>
<!-- class="example" -->
<a id="sthref784" name="sthref784"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABDFGGD" name="BABDFGGD"></a><a id="TLJPA846" name="TLJPA846"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.propagate-asynchronously</font></h2>
<p>Use the <code>eclipselink.cache.coordination.propagate-asynchronously</code> property to specify if the coordination broadcast should occur asynchronously with the committing thread.</p>
<p>The property configures cache coordination for a clustered environment. Set if the coordination broadcast should occur asynchronously with the committing thread. This means the coordination will be complete before the thread returns from the commit of the transaction.</p>
<a id="sthref785" name="sthref785"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABBGGGD">Table 5-11</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA847" name="TLJPA847"></a><a id="sthref786" name="sthref786"></a><a id="BABBGGGD" name="BABBGGGD"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-11 Valid Values for cache.coordination.propagate-asynchronously</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.propagate-asynchronously" summary="This table describes the valid values for the cache.coordination.propagate-asynchronously persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t12"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t12"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t12" headers="r1c1-t12">
<p><code>true</code></p>
</td>
<td align="left" headers="r2c1-t12 r1c2-t12">
<p>(Default) EclipseLink will broadcast asynchronously. The coordination will be complete before the thread returns from the committing the transaction.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t12" headers="r1c1-t12">
<p><code>false</code></p>
</td>
<td align="left" headers="r3c1-t12 r1c2-t12">
<p>EclipseLink will broadcast synchronously.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref787" name="sthref787"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>JMS cache coordination is always asynchronous, regardless of this setting.</p>
<p>By default, RMI cache coordination is asynchronous. Use synchronous (<code>eclipselink.cache.coordination.propagate-asynchronously</code> = <code>false</code>) to ensure that all servers are updated before the request returns.</p>
<a id="sthref788" name="sthref788"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABCBHJG">Example 5-11</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABCBHJG" name="BABCBHJG"></a><a id="TLJPA848" name="TLJPA848"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-11 Using cache.coordination.propagate-asynchronously in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.propagate-asynchronously"
value="false" /&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDCDGIC">Example 5-12</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDCDGIC" name="CHDCDGIC"></a><a id="TLJPA54160" name="TLJPA54160"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-12 Using cache.coordination.propagate-asynchronously in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put
(PersistenceUnitProperties.CACHE_COORDINATION_PROPAGATE_ASYNCHRONOUSLY,
"false");
</pre></div>
<!-- class="example" -->
<a id="sthref789" name="sthref789"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="cachecoordinationprotocol" name="cachecoordinationprotocol"></a><a id="TLJPA1068" name="TLJPA1068"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.protocol</font></h2>
<p>Use the <code>eclipselink.cache.coordination.protocol</code> property to specify the cache coordination protocol to use. Depending on the cache configuration for each descriptor, this will broadcast cache updates or inserts to the cluster to update or invalidate each session's cache.</p>
<a id="sthref790" name="sthref790"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABCEGFF">Table 5-12</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA849" name="TLJPA849"></a><a id="sthref791" name="sthref791"></a><a id="BABCEGFF" name="BABCEGFF"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-12 Valid Values for cache.coordination.protocol</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.protocol" summary="This table describes the valid values for the cache.coordination.protocol persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t13"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t13"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t13" headers="r1c1-t13">
<p><code>jms</code></p>
</td>
<td align="left" headers="r2c1-t13 r1c2-t13">
<p>Use Java Message Service (JMS) to broadcast changes.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t13" headers="r1c1-t13">
<p><code>jms-publishing</code></p>
</td>
<td align="left" headers="r3c1-t13 r1c2-t13">
<p>Use an EJB MessageDrivenBean to be used to broadcast changes. You must configure the MessageDrivenBean separately.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t13" headers="r1c1-t13">
<p><code>rmi</code></p>
</td>
<td align="left" headers="r4c1-t13 r1c2-t13">
<p>Use Java Remote Method Invocation (RMI) to broadcast changes.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r5c1-t13" headers="r1c1-t13">
<p><code>rmi-iiop</code></p>
</td>
<td align="left" headers="r5c1-t13 r1c2-t13">
<p>Use RMI over the Internet Inter-Orb Protocol (IIOP) to broadcast changes.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r6c1-t13" headers="r1c1-t13">
<p>ClassName</p>
</td>
<td align="left" headers="r6c1-t13 r1c2-t13">
<p>The name of a subclass implementation of the <code>TransportManager</code> abstract class</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref792" name="sthref792"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>You must specify the <code>cache.coordination.protocol</code> for every persistence unit and session in the cluster.</p>
<a id="sthref793" name="sthref793"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABHGIFC">Example 5-13</a> shows how configure JMS cache coordination in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABHGIFC" name="BABHGIFC"></a><a id="TLJPA850" name="TLJPA850"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-13 Configuring JMS Cache Coordination in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.protocol" value="jms" /&gt;
&lt;property name="eclipselink.cache.coordination.jms.topic"
value="jms/EmployeeTopic" /&gt;
&lt;property name="eclipselink.cache.coordination.jms.factory"
value="jms/EmployeeTopicConnectionFactory" /&gt;
</pre>
<p>If your application <em>is not</em> running in a cluster, you must provide the URL:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.jms.host"
value="t3://myserver:7001/" /&gt;
</pre>
<p>You can also include a username and password, if required, to access the server (for example, if on a separate domain):</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.jndi.user" value="weblogic" /&gt;
&lt;property name="eclipselink.cache.coordination.jndi.password" value="welcome1" /&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#BABJDAIB">Example 5-14</a> shows how to configure RMI cache coordination in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABJDAIB" name="BABJDAIB"></a><a id="TLJPA851" name="TLJPA851"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-14 Configuring RMI Cache Coordination in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.protocol" value="rmi" /&gt;
</pre>
<p>If your application <em>is not</em> running in a cluster, you must provide the URL:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.rmi.url"
value="t3://myserver:7001/" /&gt;
</pre>
<p>You can also include a username and password, if required, to access the server (for example, if on a separate domain):</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.jndi.user" value="weblogic" /&gt;
&lt;property name="eclipselink.cache.coordination.jndi.password" value="welcome1" /&gt;
</pre>
<p>By default, RMI cache coordination broadcasts are asynchronous. You can override this, if needed:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.propagate-asynchronously"
value="false" /&gt;
</pre>
<p>If you have multiple applications on the same server or network, you can specify a separate cache coordination channel for each application:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.channel" value="EmployeeChannel" /&gt;
</pre>
<p>RMI cache coordination uses a multicast socket to allow servers to find each other. You can configure the multicast settings, if needed:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.rmi.announcement-delay"
value="1000" /&gt;
&lt;property name="eclipselink.cache.coordination.rmi.multicast-group"
value="239.192.0.0" /&gt;
&lt;property name="eclipselink.cache.coordination.rmi.multicast-group.port"
value="3121" /&gt;
&lt;property name="eclipselink.cache.coordination.packet-time-to-live" value="2" /&gt;
</pre></div>
<!-- class="example" -->
<a id="sthref794" name="sthref794"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#BABGBAEC">"cache.coordination.channel"</a></p>
</li>
<li>
<p><a href="#BABJGCIF">"cache.coordination.jms.factory"</a></p>
</li>
<li>
<p><a href="#BABJGJGI">"cache.coordination.jms.host"</a></p>
</li>
<li>
<p><a href="#CHDHJECA">cache.coordination.jms.reuse-topic-publisher</a><a href="#CHDHJECA">"cache.coordination.jms.reuse-topic-publisher"</a></p>
</li>
<li>
<p><a href="#BABHEFCJ">"cache.coordination.jms.topic"</a></p>
</li>
<li>
<p><a href="#BABFBHGI">"cache.coordination.jndi.initial-context-factory"</a></p>
</li>
<li>
<p><a href="#BABJBCCF">"cache.coordination.jndi.password"</a></p>
</li>
<li>
<p><a href="#BABGAEHE">"cache.coordination.jndi.user"</a></p>
</li>
<li>
<p><a href="#BABIEEBH">"cache.coordination.naming-service"</a></p>
</li>
<li>
<p><a href="#BABDFGGD">"cache.coordination.propagate-asynchronously"</a></p>
</li>
<li>
<p><a href="#BABIEJED">"cache.coordination.remove-connection-on-error"</a></p>
</li>
<li>
<p><a href="#BABDGCDE">"cache.coordination.rmi.announcement-delay"</a></p>
</li>
<li>
<p><a href="#BABDGFEI">"cache.coordination.rmi.multicast-group"</a></p>
</li>
<li>
<p><a href="#BABDGFEI">"cache.coordination.rmi.multicast-group"</a></p>
</li>
<li>
<p><a href="#BABFBDBJ">"cache.coordination.rmi.packet-time-to-live"</a></p>
</li>
<li>
<p><a href="#BABCJIFC">"cache.coordination.rmi.url"</a></p>
</li>
<li>
<p><a href="#BABFJGIF">"cache.coordination.thread.pool.size"</a></p>
</li>
<li>
<p>Cache Coordination Examples <code><a href="http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination">http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination</a></code></p>
</li>
<li>
<p>"Clustering and Cache Coordination" <code><a href="http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination">http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination</a></code></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABIEJED" name="BABIEJED"></a><a id="TLJPA852" name="TLJPA852"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.remove-connection-on-error</font></h2>
<p>Use the <code>eclipselink.cache.coordination.remove-connection-on-error</code> property to specify if the connection should be removed if EclipseLink encounters a communication error when coordinating the cache.</p>
<a id="sthref795" name="sthref795"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CJHBHDJH">Table 5-13</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA853" name="TLJPA853"></a><a id="sthref796" name="sthref796"></a><a id="CJHBHDJH" name="CJHBHDJH"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-13 Valid Values for cache.coordination.remove-connection-on-error</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.remove-connection-on-error" summary="This table describes the valid values for the cache.coordination.remove-connection-on-error persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t14"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t14"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t14" headers="r1c1-t14">
<p><code>true</code></p>
</td>
<td align="left" headers="r2c1-t14 r1c2-t14">
<p>Removes the connection if a communication error occurs. EclipseLink will reconnect when the server becomes available.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t14" headers="r1c1-t14">
<p><code>false</code></p>
</td>
<td align="left" headers="r3c1-t14 r1c2-t14">
<p>(Default) Does not remove the connection if a communication error occurs.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref797" name="sthref797"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Normally, this is used for RMI connections in the event that a server goes down.</p>
<a id="sthref798" name="sthref798"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BABGBHBE">Example 5-15</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BABGBHBE" name="BABGBHBE"></a><a id="TLJPA854" name="TLJPA854"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-15 Using cache.coordination.remove-connection-on-error in peristence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.remove-connection-on-error"
value="true"/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDDAIAI">Example 5-16</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDDAIAI" name="CHDDAIAI"></a><a id="TLJPA54161" name="TLJPA54161"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-16 Using cache.coordination.remove-connection-on_error in a property map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put
(PersistenceUnitProperties.CACHE_COORDINATION_REMOVE_CONNECTION_ON_ERROR,"true");
</pre></div>
<!-- class="example" -->
<a id="sthref799" name="sthref799"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABDGCDE" name="BABDGCDE"></a><a id="TLJPA855" name="TLJPA855"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.rmi.announcement-delay</font></h2>
<p>Use the <code>eclipselink.cache.coordination.rmi.announcement-delay</code> property to set the time (in milliseconds) to wait for announcements from other cluster members on startup.</p>
<a id="sthref800" name="sthref800"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABCEDJF">Table 5-14</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA856" name="TLJPA856"></a><a id="sthref801" name="sthref801"></a><a id="BABCEDJF" name="BABCEDJF"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-14 Valid Values for cache.coordination.rmi.announcement-delay</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.rmi.announcement-delay" summary="This table describes the valid values for the cache.coordination.rmi.annoucement-delay query hint." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t15"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t15"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t15" headers="r1c1-t15">
<p>Numeric</p>
</td>
<td align="left" headers="r2c1-t15 r1c2-t15">
<p>Time (in milliseconds) to wait for announcements, on startup.</p>
<p>Default: <strong>1000</strong></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref802" name="sthref802"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for RMI coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>rmi</code>).</p>
<a id="sthref803" name="sthref803"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABJDAIB">Example 5-14</a> for information on how to use this property.</p>
<a id="sthref804" name="sthref804"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABDGFEI" name="BABDGFEI"></a><a id="TLJPA857" name="TLJPA857"></a>
<hr />
<div class="refsect1"><!-- infolabel="BABDGFEI" -->
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.rmi.multicast-group</font></h2>
<p>Use the <code>eclipselink.cache.coordination.rmi.multicast-group</code> property to set the multicast socket group address (used to find other members of the cluster), when using cache coordination for a clustered environment.</p>
<a id="sthref805" name="sthref805"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABDIBJH">Table 5-15</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA858" name="TLJPA858"></a><a id="sthref806" name="sthref806"></a><a id="BABDIBJH" name="BABDIBJH"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-15 Valid Values for cache.coordination.rmi.multicast-group</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.rmi.multicast-group" summary="This table describes the valid values for the cache.coordination.rmi.multicast-group persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t16"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t16"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t16" headers="r1c1-t16">
<p>Numeric</p>
</td>
<td align="left" headers="r2c1-t16 r1c2-t16">
<p>Set the multicast socket group address</p>
<p>Default: <code>239.192.0.0</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref807" name="sthref807"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for RMI coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>rmi</code>).</p>
<a id="sthref808" name="sthref808"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABJDAIB">Example 5-14</a> for information on how to use this property.</p>
<a id="sthref809" name="sthref809"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="TLJPA54092" name="TLJPA54092"></a>
<hr />
<div class="refsect1"><a id="sthref810" name="sthref810"></a>
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.rmi.multicast-group.port</font></h2>
<p>Use the <code>eclipselink.cache.coordination.rmi.multicast-group.port</code> property to set the multicast socket group port (used to find other members of the cluster), when using cache coordination for a clustered environment.</p>
<a id="sthref811" name="sthref811"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CACFAGIE">Table 5-16</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA54093" name="TLJPA54093"></a><a id="sthref812" name="sthref812"></a><a id="CACFAGIE" name="CACFAGIE"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-16 Valid Values for cache.coordination.rmi.multicast-group.port</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.rmi.multicast-group.port" summary="This table describes the valid values for the cache.coordination.rmi.multicast-group.port persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t17"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t17"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t17" headers="r1c1-t17">
<p>Numeric</p>
</td>
<td align="left" headers="r2c1-t17 r1c2-t17">
<p>Set the multicast socket group port.</p>
<p>Default: <code>3121</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref813" name="sthref813"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for RMI coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>rmi</code>).</p>
<a id="sthref814" name="sthref814"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABJDAIB">Example 5-14</a> for information on how to use this property.</p>
<a id="sthref815" name="sthref815"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABFBDBJ" name="BABFBDBJ"></a><a id="TLJPA861" name="TLJPA861"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.rmi.packet-time-to-live</font></h2>
<p>Use the <code>eclipselink.cache.coordination.rmi.packet-time-to-live</code> property to set the number of hops the session announcement data packets will take before expiring. The multicast group is used to find other members of the cluster.</p>
<a id="sthref816" name="sthref816"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABHDDBG">Table 5-17</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA862" name="TLJPA862"></a><a id="sthref817" name="sthref817"></a><a id="BABHDDBG" name="BABHDDBG"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-17 Valid Values for cache.coordination.rmi.packet-time-to-live</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.rmi.packet-time-to-live" summary="This table describes the valid values for the cache.coordination.rmi.packet-time-to-live persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="17%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t18"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t18"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t18" headers="r1c1-t18">
<p>Numeric</p>
</td>
<td align="left" headers="r2c1-t18 r1c2-t18">
<p>Number of hops the session announcement data packets will take before expiring.</p>
<p>Default: <code>2</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref818" name="sthref818"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>If sessions are hosted on different LANs that are part of WAN, the announcement sent by one session may not reach other sessions. In this case, consult your network administrator for the correct time-to-live value or test your network by increasing the value until each session receives announcement sent by others.</p>
<p>Use this property for RMI coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>rmi</code>).</p>
<a id="sthref819" name="sthref819"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABJDAIB">Example 5-14</a> for information on how to use this property.</p>
<a id="sthref820" name="sthref820"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABCJIFC" name="BABCJIFC"></a><a id="TLJPA863" name="TLJPA863"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.rmi.url</font></h2>
<p>Use the <code>eclipselink.cache.coordination.rmi.url</code> property to set the URL of the host server. This is the URL that other cluster member use to connect to this host.</p>
<a id="sthref821" name="sthref821"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABHIFGF">Table 5-18</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA864" name="TLJPA864"></a><a id="sthref822" name="sthref822"></a><a id="BABHIFGF" name="BABHIFGF"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-18 Valid Values for cache.coordination.rmi.url</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.rmi.url" summary="This table describes the valid values for the cache.coordination.rmi.url persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t19"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t19"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t19" headers="r1c1-t19">
<p>url</p>
</td>
<td align="left" headers="r2c1-t19 r1c2-t19">
<p>URL of the host server</p>
<p>Default: <code>local</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref823" name="sthref823"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Use this property for RMI coordination (when <code>eclipselink.<a href="#cachecoordinationprotocol">cache.coordination.protocol</a></code> = <code>rmi</code>).</p>
<p>This may not be required in a clustered environment where JNDI is replicated. You can also set the location as a System property or using a <code>SessionCustomizer</code> to avoid requiring a separate <code>persistence.xml</code> file per server.</p>
<a id="sthref824" name="sthref824"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="#BABJDAIB">Example 5-14</a> for information on how to use this property.</p>
<a id="sthref825" name="sthref825"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="BABFJGIF" name="BABFJGIF"></a><a id="TLJPA865" name="TLJPA865"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.coordination.thread.pool.size</font></h2>
<p>Use the <code>eclipselink.cache.coordination.thread.pool.size</code> property to configure the size of the thread pool, for cache coordination threads.</p>
<a id="sthref826" name="sthref826"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BABIHIHC">Table 5-19</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA866" name="TLJPA866"></a><a id="sthref827" name="sthref827"></a><a id="BABIHIHC" name="BABIHIHC"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-19 Valid Values for cache.coordination.thread.pool.size</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.coordination.thread.pool.size" summary="This table describes the valid values for the cache.coordination.thread.pool.size persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t20"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t20"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t20" headers="r1c1-t20">
<p>Numeric</p>
</td>
<td align="left" headers="r2c1-t20 r1c2-t20">
<p>Size of the thread pool. If <code>0</code>, EclipseLink does not use a thread pool; instead threads are spawned when required.</p>
<p>Default: <code>32</code></p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref828" name="sthref828"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>For RMI cache coordination, EclipseLink spawns one thread per node to send change notifications and one thread to listen for new node notifications.</p>
<p>For JMS cache coordination, EclipseLink spawns one thread to <em>receive</em> JMS change notification messages (unless MDB is used) and one thread to <em>process</em> the change notification (unless MDB is used).</p>
<a id="sthref829" name="sthref829"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#CHDEFIEH">Example 5-17</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="CHDEFIEH" name="CHDEFIEH"></a><a id="TLJPA54139" name="TLJPA54139"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-17 Using cache.coordination.thread.pool.size in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.cache.coordination.thread.pool.size"
value="48"/&gt;
</pre></div>
<!-- class="example" -->
<p><a href="#CHDHEAHC">Example 5-18</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDHEAHC" name="CHDHEAHC"></a><a id="TLJPA54162" name="TLJPA54162"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-18 Using cache.coordination.thread.pool.size in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_THREAD_POOL_SIZE,
"48");
</pre></div>
<!-- class="example" -->
<a id="sthref830" name="sthref830"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#cachecoordinationprotocol">"cache.coordination.protocol"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="CCHEEFGA" name="CCHEEFGA"></a><a id="TLJPA867" name="TLJPA867"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.database-event-listener</font></h2>
<p>Use the <code>eclipselink.cache.database-event-listener</code> property to integrate EclipseLink with a database event notification service, such as Oracle QCN/DCN (Query Change Notification/Database Change Notification).</p>
<a id="sthref831" name="sthref831"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CCHGIFIF">Table 5-20</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA868" name="TLJPA868"></a><a id="sthref832" name="sthref832"></a><a id="CCHGIFIF" name="CCHGIFIF"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-20 Valid Values for cache.database-event-listener</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for cache.database-event-listener" summary="This table describes the valid values for the cache.databse-event-listener persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t21"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t21"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t21" headers="r1c1-t21">
<p>Class</p>
</td>
<td align="left" headers="r2c1-t21 r1c2-t21">
<p>The name of a class that implements <code>DatabaseEventListener</code>, such as the <code>OracleChangeNotificationListener</code> (<code>org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationListener</code>).</p>
<p>You can also use <strong>DCN</strong> and <strong>QCN</strong> for Oracle.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref833" name="sthref833"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>You can use this property to allow the EclipseLink cache to be invalidated by database change events, triggers, or other services.</p>
<a id="sthref834" name="sthref834"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#CCHGJFCG">Example 5-19</a> shows how to use this property with Oracle DCN.</p>
<div class="example"><a id="CCHGJFCG" name="CCHGJFCG"></a><a id="TLJPA869" name="TLJPA869"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-19 Using cache.database-event-listener in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
persistence_2_0.xsd"
version="2.0"&gt;
&lt;persistence-unit name="acme" transaction-type="RESOURCE_LOCAL"&gt;
&lt;provider&gt;org.eclipse.persistence.jpa.PersistenceProvider&lt;/provider&gt;
&lt;exclude-unlisted-classes&gt;false&lt;/exclude-unlisted-classes&gt;
&lt;properties&gt;
&lt;property name="<strong>eclipselink.cache.database-event-listener</strong>" value=
"org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationList
ener"/&gt;
&lt;/properties&gt;
&lt;/persistence-unit&gt;
&lt;/persistence&gt;
</pre></div>
<!-- class="example" -->
<a id="sthref835" name="sthref835"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="annotations_ref.htm#CHDBBIHE">"@Cache"</a></p>
</li>
<li>
<p>"Cache Coordination" in <em>Understanding EclipseLink</em></p>
</li>
<li>
<p>"Scaling EclipseLink Applications in Clusters" in <em>Solutions Guide for EclispeLink</em></p>
</li>
<li>
<p>"Database Change Notification" in <em>Oracle Fusion Middleware Configuring and Managing JDBC Data Sources for Oracle WebLogic Server</em></p>
</li>
<li>
<p>"Clustering and Cache Coordination" <code><a href="http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination">http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination</a></code></p>
</li>
<li>
<p>Cache Coordination Example <code><a href="http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination">http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination</a></code></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="CHDEJCJJ" name="CHDEJCJJ"></a><a id="TLJPA54116" name="TLJPA54116"></a>
<hr />
<div class="refsect1"><!-- infolevel="all" infotype="General" -->
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.shared</font></h2>
<p>Use the <code>eclipselink.cache.shared</code> property prefix to indicate whether an entity's cache is shared (non-isolated).</p>
<a id="sthref836" name="sthref836"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CHDGGEJH">Table 5-21</a> describes this persistence property prefix's values.</p>
<div class="tblformalwide"><a id="TLJPA54117" name="TLJPA54117"></a><a id="sthref837" name="sthref837"></a><a id="CHDGGEJH" name="CHDGGEJH"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-21 Valid Values for cache.shared</font></em></strong></p>
<table class="FormalWide" title="Valid Values for cache.shared" summary="This table describes the valid values for the cache.shared persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<col width="23%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t22"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t22"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t22" headers="r1c1-t22">
<p><code>true</code></p>
</td>
<td align="left" headers="r2c1-t22 r1c2-t22">
<p>(Default) Shares an entity's cache. The value is case insensitive.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t22" headers="r1c1-t22">
<p><code>false</code></p>
</td>
<td align="left" headers="r3c1-t22 r1c2-t22">
<p>Prevents sharing of an entity's cache. The value is case insensitive.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblformalwide" -->
<a id="sthref838" name="sthref838"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Form a property name by appending either a valid entity name or class name to <code>class.shared</code>, indicating that the property values apply only to a particular entity. As an alternative, you can append the <code>default</code> suffix to the <code>cache.shared</code> property prefix to form a property name that sets the default for all entities.</p>
<a id="sthref839" name="sthref839"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="annotations_ref.htm#CACHFEFD">Example 2-12</a> for information on how to use this property.</p>
</div>
<!-- class="refsect1" -->
<a id="CHDIGIEC" name="CHDIGIEC"></a><a id="TLJPA54118" name="TLJPA54118"></a>
<hr />
<div class="refsect1"><!-- infolevel="all" infotype="General" -->
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.size</font></h2>
<p>Use the <code>eclipselink.cache.size</code> property prefix to specify the cache size for a specific entity type.</p>
<a id="sthref840" name="sthref840"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CHDFBBJC">Table 5-22</a> describes this persistence property prefix's values.</p>
<div class="tblformalwide"><a id="TLJPA54119" name="TLJPA54119"></a><a id="sthref841" name="sthref841"></a><a id="CHDFBBJC" name="CHDFBBJC"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-22 Valid Values for cache.size</font></em></strong></p>
<table class="FormalWide" title="Valid Values for cache.size" summary="This table describes the valid values for the cache.size property." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<col width="25%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t23"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t23"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t23" headers="r1c1-t23">
<p>integer</p>
</td>
<td align="left" headers="r2c1-t23 r1c2-t23">
<p>The size of the cache. Default: 100 Bytes.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblformalwide" -->
<a id="sthref842" name="sthref842"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Form a property name by appending either a valid entity name or class name to <code>cache.size</code>, indicating that the property values apply only to a particular entity. As an alternative, you can append the <code>default</code> suffix to the <code>cache.size</code> property prefix, indicating that the property value applies to all entities.</p>
<p>For most cache types, the size is only the initial size, not a fixed or maximum size. For <code>CacheType.SoftCache</code> and <code>CacheType.HardCache</code> types, the size is the sub-cache size. The default cache size is 100 Bytes.</p>
<a id="sthref843" name="sthref843"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="annotations_ref.htm#CACHFEFD">Example 2-12</a> for information on how to use this property.</p>
</div>
<!-- class="refsect1" -->
<a id="CHDGDIEI" name="CHDGDIEI"></a><a id="TLJPA54120" name="TLJPA54120"></a>
<hr />
<div class="refsect1"><!-- infolevel="all" infotype="General" -->
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">cache.type</font></h2>
<p>Use the <code>eclipselink.cache.type</code> property prefix to set the type of cache.</p>
<a id="sthref844" name="sthref844"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CHDDDIGB">Table 5-23</a> describes this persistence property prefix's values</p>
<div class="tblformalwide"><a id="TLJPA54121" name="TLJPA54121"></a><a id="sthref845" name="sthref845"></a><a id="CHDDDIGB" name="CHDDDIGB"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-23 Valid values for cache.type</font></em></strong></p>
<table class="FormalWide" title="Valid values for cache.type" summary="This table describes the valid values for the cache.type persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<col width="25%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t24"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t24"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t24" headers="r1c1-t24">
<p><code>Weak</code></p>
</td>
<td align="left" headers="r2c1-t24 r1c2-t24">
<p>Holds all objects in use by the application, and allows any unreferenced objects to be free for garbage collection. This cache type guarantees object identity and allows optimal garbage collection, but provides little caching benefit.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t24" headers="r1c1-t24">
<p><code>Soft</code></p>
</td>
<td align="left" headers="r3c1-t24 r1c2-t24">
<p>Holds all objects read by the application, and allows any unreferenced objects to be free for garbage collection only when the JVM decides that memory is low. This cache type guarantees object identity, allows for garbage collection when memory is low, and provides optimal caching benefit.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t24" headers="r1c1-t24">
<p><code>SoftWeak</code></p>
</td>
<td align="left" headers="r4c1-t24 r1c2-t24">
<p>(Default)Holds all objects read by the application, and a fixed-size subcache of MRU objects using <code>Soft</code> references.The <code>SoftWeak</code> cache allows any unreferenced objects not in the sub-cache to be free for garbage collection. The objects in the sub-cache are free to garbage collect only when the JVM decides that memory is low. This cache type guarantees object identity, allows configurable garbage collection, and provides configurable caching benefit.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r5c1-t24" headers="r1c1-t24">
<p><code>HardWeak</code></p>
</td>
<td align="left" headers="r5c1-t24 r1c2-t24">
<p>Holds all objects in use by the application, and a fixed-size subcache of MRU objects using normal <code>Hard</code> references. This type allows any unreferenced objects not in the subcache to be free for garbage collection, but not objects in the subcache. This cache type guarantees object identity, allows configurable garbage collection, and provides configurable caching benefit.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r6c1-t24" headers="r1c1-t24">
<p><code>Full</code></p>
</td>
<td align="left" headers="r6c1-t24 r1c2-t24">
<p>Holds all objects read by the application. This cache type does not allow garbage collection. This guarantees object identity, allows no garbage collection, and provides complete caching benefit.</p>
<p>WARNING: Use this cache type only for a fixed number of objects; otherwise, memory leakage will occur eventually.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r7c1-t24" headers="r1c1-t24">
<p><code>NONE</code></p>
</td>
<td align="left" headers="r7c1-t24 r1c2-t24">
<p>Does not cache any objects, and frees any unreferenced objects for garbage collection. This provides no object identity, allows complete garbage collection, and provides no caching benefit.</p>
<p>WARNING: This cache type should normally not be used. Instead, disable the shared cache through <code>PersistenceUnitProperties.CACHE_SHARED</code>. Lack of object identity can lead to infinite loops for objects that have circular references and no indirection.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblformalwide" -->
<a id="sthref846" name="sthref846"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>Form a property name by appending a valid entity name or class name to <code>cache.type</code>, indicating that the property values apply only to a particular entity. As an alternative, you can append the <code>default</code> suffix to the <code>cache.type</code> prefix to form a property name that sets the default for all entities.</p>
<p>Valid values for <code>cache.type</code> properties are declared in the <code>CacheType</code> class. The default is <code>SoftWeak</code>.</p>
<p>If you do not want to cache entities, set the <code>cache.shared</code> property.</p>
<a id="sthref847" name="sthref847"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p>See <a href="annotations_ref.htm#CACHFEFD">Example 2-12</a> for information about how to use this property.</p>
<a id="sthref848" name="sthref848"></a>
<p><strong><br /><span class="refsubsect">See Also</span></strong></p>
<p>For more information, see:</p>
<ul>
<li>
<p><a href="#CHDEJCJJ">cache.shared</a></p>
</li>
</ul>
</div>
<!-- class="refsect1" -->
<a id="classloader" name="classloader"></a><a id="TLJPA1069" name="TLJPA1069"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">classloader</font></h2>
<p>Use the <code>eclipselink.classloader</code> property to create an <code>EntityMangerFactory</code> in the property map to be passed to <code>Persistence.createEntityManagerFactory</code>.</p>
<a id="sthref849" name="sthref849"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#CHDEBCGE">Table 5-24</a> describes this persistence property's values.</p>
<div class="tblformalwide"><a id="TLJPA54140" name="TLJPA54140"></a><a id="sthref850" name="sthref850"></a><a id="CHDEBCGE" name="CHDEBCGE"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-24 Valid Values for classloader</font></em></strong></p>
<table class="FormalWide" title="Valid Values for classloader" summary="This table describes the valid values for the classloader persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<col width="25%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t25"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t25"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t25" headers="r1c1-t25">
<p>value</p>
</td>
<td align="left" headers="r2c1-t25 r1c2-t25">
<p>Classloader to use.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblformalwide" -->
<a id="sthref851" name="sthref851"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>This is a dynamic property that must be set at runtime, in the property map. You cannot configure this property in the <code>persistence.xml</code> file.</p>
<a id="sthref852" name="sthref852"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#CHDFCFFI">Example 5-20</a> shows how to use this property in a property map.</p>
<div class="example"><a id="CHDFCFFI" name="CHDFCFFI"></a><a id="TLJPA54141" name="TLJPA54141"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-20 Using classloader in a Property Map</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
properties.put("eclipselink.classloader", this.getClass().getClassLoader());
</pre></div>
<!-- class="example" --></div>
<!-- class="refsect1" -->
<a id="BIICFIDB" name="BIICFIDB"></a><a id="TLJPA872" name="TLJPA872"></a>
<hr />
<div class="refsect1">
<h2 class="refsect1"><font face="arial, helvetica, sans-serif" color="#330099">composite-unit</font></h2>
<p>Use the <code>eclipselink.composite-unit</code> property to specify if the persistence unit is a composite persistence unit.</p>
<a id="sthref853" name="sthref853"></a>
<p><strong><br /><span class="refsubsect">Values</span></strong></p>
<p><a href="#BIIGDCGE">Table 5-25</a> describes this persistence property's values.</p>
<div class="tblhruleformalwide"><a id="TLJPA873" name="TLJPA873"></a><a id="sthref854" name="sthref854"></a><a id="BIIGDCGE" name="BIIGDCGE"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Table 5-25 Valid Values for composite-unit</font></em></strong></p>
<table class="HRuleFormalWide" title="Valid Values for composite-unit" summary="This table describes the valid values for the composite-unit persistence property." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
<col width="29%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t26"><font face="Arial, Helvetica, sans-serif"><strong>Value</strong></font></th>
<th align="left" valign="bottom" id="r1c2-t26"><font face="Arial, Helvetica, sans-serif"><strong>Description</strong></font></th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t26" headers="r1c1-t26">
<p><code>true</code></p>
</td>
<td align="left" headers="r2c1-t26 r1c2-t26">
<p>Persistence unit <em>is</em> a composite persistence unit.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t26" headers="r1c1-t26">
<p><code>false</code></p>
</td>
<td align="left" headers="r3c1-t26 r1c2-t26">
<p>(Default) Persistence unit <em>is not</em> a composite persistence unit.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="tblhruleformalwide" -->
<a id="sthref855" name="sthref855"></a>
<p><strong><br /><span class="refsubsect">Usage</span></strong></p>
<p>The property must be specified in <code>persistence.xml</code> of a composite persistence unit. The composite persistence unit must contain all persistence units found in JAR files specified by the <code>persistence.xml</code> file.</p>
<div align="center">
<div class="inftblnote"><br />
<table class="Note oac_no_warn" summary="" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<tbody>
<tr>
<td align="left">
<p class="note"><img src="../../../dcommon/images/note_icon.png" width="16" height="16" alt="Note" style="vertical-align:middle;padding-right:5px;" />Note:</p>
<p>If this property is passed to the <code>createEntityManagerFactory</code> method or if it is set in system properties, it is ignored.)</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="inftblnote" --></div>
<a id="sthref856" name="sthref856"></a>
<p><strong><br /><span class="refsubsect">Examples</span></strong></p>
<p><a href="#BIIECICI">Example 5-21</a> shows how to use this property in the <code>persistence.xml</code> file.</p>
<div class="example"><a id="BIIECICI" name="BIIECICI"></a><a id="TLJPA874" name="TLJPA874"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Example 5-21 Using composite-unit in persistence.xml</font></em></strong></p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0"&gt;
&lt;persistence-unit name="compositePu" transaction-type="JTA"&gt;
&lt;provider&gt;
org.eclipse.persistence.jpa.PersistenceProvider
&lt;/provider&gt;
&lt;jar-file&gt;member1.jar&lt;/jar-file&gt;
&lt;jar-file&gt;member2.jar&lt;/jar-file&gt;
&lt;properties&gt;
&lt;property name="<strong>eclipselink.composite-unit</strong>" value="true"/&gt;
&lt;property name="eclipselink.target-server" value="WebLogic_10"/&gt;
&lt;/properties&gt;
&lt;/persistence-unit&gt;
&lt;/persistence&gt;
</pre></div>
<!-- class="example" -->