INT-3359: Add GemfireLockRegistry
JIRA: https://jira.spring.io/browse/INT-3359
This commit is contained in:
committed by
Gary Russell
parent
89a7743640
commit
93ad65e7ce
@@ -178,4 +178,26 @@ In the above examle, the cache and region are configured using the spring-gemfir
|
||||
Note the <emphasis>pool</emphasis> element is configured with the address of a cache server (a locator may be substituted here). The region is configured as a 'PROXY' so that no data will be stored locally. The region's id corresponds to a region with the same name configured in the cache server.
|
||||
</para>
|
||||
</section>
|
||||
<section id="gemfire-lock-registry">
|
||||
<title>Gemfire Lock Registry</title>
|
||||
|
||||
<para>
|
||||
Starting with <emphasis>version 4.0</emphasis>, the <classname>GemfireLockRegistry</classname> is
|
||||
available. Certain components (for example aggregator and resequencer) use a lock obtained from
|
||||
a <interfacename>LockRegistry</interfacename> instance to ensure
|
||||
that only one thread is manipulating a group at a time. The <classname>DefaultLockRegistry</classname>
|
||||
performs this function within a single component; you can now configure an external lock registry
|
||||
on these components. When used with a shared <interfacename>MessageGroupStore</interfacename>,
|
||||
the <classname>GemfireLockRegistry</classname> can be use to provide this functionality across
|
||||
multiple application instances, such that only one instance can manipulate the group at a time.
|
||||
<note>
|
||||
One of the <classname>GemfireLockRegistry</classname> constructors requires a <interfacename>Region</interfacename>
|
||||
as an argument; it is used to obtain a <interfacename>Lock</interfacename> via the
|
||||
<code>getDistributedLock()</code> method. This operation requires <code>GLOBAL</code>
|
||||
scope for the <interfacename>Region</interfacename>.
|
||||
Another constructor requires <interfacename>Cache</interfacename> and the <interfacename>Region</interfacename>
|
||||
will be created with <code>GLOBAL</code> scope and with the name <code>LockRegistry</code>.
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
@@ -133,13 +133,15 @@
|
||||
For more information, see <xref linkend="redis-outbound-gateway"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="4.0-redis-lock-registry">
|
||||
<title>RedisLockRegistry</title>
|
||||
<section id="4.0-redis-gemfire-lock-registry">
|
||||
<title>RedisLockRegistry and GemfireLockRegistry</title>
|
||||
<para>
|
||||
The <classname>RedisLockRegistry</classname> is now available supporting global locks visible
|
||||
to multiple application instances/servers. This can be used with aggregating message handlers
|
||||
across multiple application instances such that group release will occur on only one instance.
|
||||
For more information, see <xref linkend="redis-lock-registry"/> and <xref linkend="aggregator"/>.
|
||||
The <classname>RedisLockRegistry</classname> and <classname>GemfireLockRegistry</classname> are now
|
||||
available supporting global locks visible to multiple application instances/servers.
|
||||
These can be used with aggregating message handlers across multiple application instances such
|
||||
that group release will occur on only one instance.
|
||||
For more information, see <xref linkend="redis-lock-registry"/>, <xref linkend="gemfire-lock-registry"/>
|
||||
and <xref linkend="aggregator"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="4.0-poller-annotation">
|
||||
|
||||
Reference in New Issue
Block a user