Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Configuring a Coordinated Cache (ELUG)"

m (New page: <div style="float:right;border:1px solid #000000;padding:5px">__TOC__ Related Topics</div> This section describes how to ...)
 
m
 
(66 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[Image:Elug draft icon.png]] '''For the latest EclipseLink documentation, please see http://www.eclipse.org/eclipselink/documentation/ '''
 +
 +
----
 
<div style="float:right;border:1px solid #000000;padding:5px">__TOC__
 
<div style="float:right;border:1px solid #000000;padding:5px">__TOC__
 
[[Special:Whatlinkshere/Configuring a Coordinated Cache (ELUG)|Related Topics]]</div>
 
[[Special:Whatlinkshere/Configuring a Coordinated Cache (ELUG)|Related Topics]]</div>
  
  
This section describes how to configure a EclipseLink coordinated cache.
+
<span id="Table 99-1"></span>
 
+
'''''Configuring EclipseLink Coordinated Caches'''''
[[#Table 99-1] lists the configurable options shared by two or more EclipseLink coordinated cache types.
+
 
+
 
+
 
+
'''''Table 99-1 Configuring EclipseLink Coordinated Caches'''''
+
 
+
 
{| class="HRuleFormal" dir="ltr" title="Configuring EclipseLink Coordinated Caches" summary="This table provides a cross-reference to additional coordinated cache configuration options for each type of coordinated cache." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
 
{| class="HRuleFormal" dir="ltr" title="Configuring EclipseLink Coordinated Caches" summary="This table provides a cross-reference to additional coordinated cache configuration options for each type of coordinated cache." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
Line 17: Line 14:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t2" headers="r1c1-t2" align="left" |
 
| id="r2c1-t2" headers="r1c1-t2" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t2 r1c2-t2" align="left" |
 
| headers="r2c1-t2 r1c2-t2" align="left" |
 
[[Configuring%20a%20JMS%20Coordinated%20Cache%20(ELUG)#BABCBDFD|Configuring a JMS Coordinated Cache]]<br>
 
[[Configuring%20a%20JMS%20Coordinated%20Cache%20(ELUG)#BABCBDFD|Configuring a JMS Coordinated Cache]]<br>
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t2" headers="r1c1-t2" align="left" |
 
| id="r3c1-t2" headers="r1c1-t2" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t2 r1c2-t2" align="left" |
 
| headers="r3c1-t2 r1c2-t2" align="left" |
 
[[Configuring%20an%20RMI%20Coordinated%20Cache%20(ELUG)#BABHEJHG|Configuring an RMI Coordinated Cache]]<br>
 
[[Configuring%20an%20RMI%20Coordinated%20Cache%20(ELUG)#BABHEJHG|Configuring an RMI Coordinated Cache]]<br>
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t2" headers="r1c1-t2" align="left" |
 
| id="r4c1-t2" headers="r1c1-t2" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t2 r1c2-t2" align="left" |
 
| headers="r4c1-t2 r1c2-t2" align="left" |
 
[[Configuring%20a%20CORBA%20Coordinated%20Cache%20(ELUG)#BABFACCH|Configuring a CORBA Coordinated Cache]]<br>
 
[[Configuring%20a%20CORBA%20Coordinated%20Cache%20(ELUG)#BABFACCH|Configuring a CORBA Coordinated Cache]]<br>
|- align="left" valign="top"
 
| id="r5c1-t2" headers="r1c1-t2" align="left" |
 
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t2 r1c2-t2" align="left" | <br>
 
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t2" headers="r1c1-t2" align="left" |
 
| id="r6c1-t2" headers="r1c1-t2" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t2 r1c2-t2" align="left" |
 
| headers="r6c1-t2 r1c2-t2" align="left" |
[[Configuring%20a%20Custom%20Coordinated%20Cache%20(ELUG)#BABFAAIH|Configuring a Custom Coordinated Cache"]]<br>
+
[[Configuring%20a%20Custom%20Coordinated%20Cache%20(ELUG)#BABFAAIH|Configuring a Custom Coordinated Cache]]<br>
 
|}
 
|}
  
<br>
 
  
For more information, see [[Introduction%20to%20Cache%20(ELUG)#CHEDFBFB|Cache Coordination]].
+
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination|Cache Coordination]].
  
  
Line 49: Line 41:
 
==Configuring Common Coordinated Cache Options==
 
==Configuring Common Coordinated Cache Options==
  
[[#Table 99-1] lists the configurable options shared by two or more EclipseLink coordinated cache types. In addition to the configurable options described here, you must also configure the options described for the specific [Introduction%20to%20Cache%20(ELUG)#CHEDGDDI Coordinated Cache Types], as shown in [[#Table 99-2].
+
This table lists the configurable options shared by two or more EclipseLink coordinated cache types. In addition, you must configure the options described for specific [[Introduction%20to%20Cache%20(ELUG)#Coordinated Cache Types|Coordinated Cache Types]], as shown in the [[#Table 99-1|Configuring EclipseLink Coordinated Caches]] table.
 
+
  
  
'''''Table 99-2 Common Coordinated Cache Options'''''
+
<span id="Table 99-2"></span>
 +
''''' Common Coordinated Cache Options'''''
  
{| class="RuleFormalMax" dir="ltr" title="Common Coordinated Cache Options" summary="This table lists the configurable options for cache coordination and categorizes them as Basic and Advanced and indicates if the option can be configured with the OracleAS TopLink Mapping Workbench, Java, or both." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
+
{| class="RuleFormalMax" dir="ltr" title="Common Coordinated Cache Options" summary="This table lists the configurable options for cache coordination and categorizes them as Basic and Advanced and indicates if the option can be configured with the Workbench, Java, or both." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t3" align="left" valign="bottom" | '''Option to Configure'''
 
! id="r1c1-t3" align="left" valign="bottom" | '''Option to Configure'''
Line 62: Line 54:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t3" headers="r1c1-t3" align="left" |
 
| id="r2c1-t3" headers="r1c1-t3" align="left" |
Cache coordination change propagation at the descriptor level (see [Configuring%20a%20Descriptor%20(ELUG)#BCGGEDDG Configuring Cache Coordination Change Propagation at the Descriptor Level])
+
[[Configuring%20a%20Descriptor%20(ELUG)#Configuring Cache Coordination Change Propagation at the Descriptor Level|Cache coordination change propagation at the descriptor level ]]
 
| headers="r2c1-t3 r1c2-t3" align="left" |
 
| headers="r2c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 69: Line 61:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t3" headers="r1c1-t3" align="left" |
 
| id="r3c1-t3" headers="r1c1-t3" align="left" |
Synchronous change propagation mode (see [[#Configuring the Synchronous Change Propagation Mode])
+
[[#Configuring the Synchronous Change Propagation Mode|Synchronous change propagation mode ]]
 
| headers="r3c1-t3 r1c2-t3" align="left" |
 
| headers="r3c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 76: Line 68:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t3" headers="r1c1-t3" align="left" |
 
| id="r4c1-t3" headers="r1c1-t3" align="left" |
Service channel (see [[#Configuring a Service Channel])
+
[[#Configuring a Service Channel|Service channel ]]
 
| headers="r4c1-t3 r1c2-t3" align="left" |
 
| headers="r4c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 83: Line 75:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t3" headers="r1c1-t3" align="left" |
 
| id="r5c1-t3" headers="r1c1-t3" align="left" |
Multicast group address (see [[#Configuring a Multicast Group Address])
+
[[#Configuring a Multicast Group Address|Multicast group address ]]
 
| headers="r5c1-t3 r1c2-t3" align="left" |
 
| headers="r5c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 90: Line 82:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t3" headers="r1c1-t3" align="left" |
 
| id="r6c1-t3" headers="r1c1-t3" align="left" |
Multicast port (see [[#Configuring a Multicast Port])
+
[[#Configuring a Multicast Port|Multicast port ]]
 
| headers="r6c1-t3 r1c2-t3" align="left" |
 
| headers="r6c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 97: Line 89:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r7c1-t3" headers="r1c1-t3" align="left" |
 
| id="r7c1-t3" headers="r1c1-t3" align="left" |
Naming service type (see [[#Configuring a Naming Service Type])
+
[[#Configuring a Naming Service Type|Naming service type ]]
 
| headers="r7c1-t3 r1c2-t3" align="left" |
 
| headers="r7c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 104: Line 96:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r8c1-t3" headers="r1c1-t3" align="left" |
 
| id="r8c1-t3" headers="r1c1-t3" align="left" |
Announcement delay (see [[#Configuring an Announcement Delay])
+
[[#Configuring an Announcement Delay|Announcement delay ]]
 
| headers="r8c1-t3 r1c2-t3" align="left" |
 
| headers="r8c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 111: Line 103:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r9c1-t3" headers="r1c1-t3" align="left" |
 
| id="r9c1-t3" headers="r1c1-t3" align="left" |
Connection handling (see [[#Configuring Connection Handling])
+
[[#Configuring Connection Handling|Connection handling ]]
 
| headers="r9c1-t3 r1c2-t3" align="left" |
 
| headers="r9c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 118: Line 110:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r10c1-t3" headers="r1c1-t3" align="left" |
 
| id="r10c1-t3" headers="r1c1-t3" align="left" |
Context properties (see [[#Configuring Context Properties]])
+
[[#Configuring Context Properties|Context properties ]]
 
| headers="r10c1-t3 r1c2-t3" align="left" |
 
| headers="r10c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 125: Line 117:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r11c1-t3" headers="r1c1-t3" align="left" |
 
| id="r11c1-t3" headers="r1c1-t3" align="left" |
Packet time-to-live (see [[#Configuring a Packet Time-to-Live])
+
[[#Configuring a Packet Time-to-Live|Packet time-to-live ]]
 
| headers="r11c1-t3 r1c2-t3" align="left" |
 
| headers="r11c1-t3 r1c2-t3" align="left" |
 
[[Image:support.gif|Supported]]<br>
 
[[Image:support.gif|Supported]]<br>
Line 132: Line 124:
 
|}
 
|}
  
<br>
+
 
  
 
==Configuring the Synchronous Change Propagation Mode==
 
==Configuring the Synchronous Change Propagation Mode==
Line 138: Line 130:
 
You can configure whether the coordinated cache should propagate object changes asynchronously or synchronously.
 
You can configure whether the coordinated cache should propagate object changes asynchronously or synchronously.
  
[#BCGCCEII33 Table 99-3] summarizes which coordinated caches support propagation mode configuration.
+
The following table summarizes which coordinated caches support propagation mode configuration.
  
  
 
+
<span id="Table 99-3"></span>
'''''Table 99-3 Coordinated Cache Support for Propagation Mode Configuration'''''
+
'''''Coordinated Cache Support for Propagation Mode Configuration'''''
 
+
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Propagation Mode Configuration" summary="This table summarizes which coordinated caches support propagation mode configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Propagation Mode Configuration" summary="This table summarizes which coordinated caches support propagation mode configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t4" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t4" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t4" align="left" valign="bottom" | '''[[#How to Configure the Synchronous Change Propagation Mode Using Workbench]<br>'''
+
! id="r1c2-t4" align="left" valign="bottom" | '''[[#How to Configure the Synchronous Change Propagation Mode Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t4" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t4" align="left" valign="bottom" | '''[[#How to Configure the Synchronous Change Propagation Mode Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t4" headers="r1c1-t4" align="left" |
 
| id="r2c1-t4" headers="r1c1-t4" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]] (asynchronous only)
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]] (asynchronous only)
 
| headers="r2c1-t4 r1c2-t4" align="left" |
 
| headers="r2c1-t4 r1c2-t4" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 158: Line 149:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t4" headers="r1c1-t4" align="left" |
 
| id="r3c1-t4" headers="r1c1-t4" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t4 r1c2-t4" align="left" |
 
| headers="r3c1-t4 r1c2-t4" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 165: Line 156:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t4" headers="r1c1-t4" align="left" |
 
| id="r4c1-t4" headers="r1c1-t4" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t4 r1c2-t4" align="left" |
 
| headers="r4c1-t4 r1c2-t4" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 172: Line 163:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t4" headers="r1c1-t4" align="left" |
 
| id="r5c1-t4" headers="r1c1-t4" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t4 r1c2-t4" align="left" |
 
| headers="r5c1-t4 r1c2-t4" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 179: Line 170:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t4" headers="r1c1-t4" align="left" |
 
| id="r6c1-t4" headers="r1c1-t4" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t4 r1c2-t4" align="left" |
 
| headers="r6c1-t4 r1c2-t4" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 192: Line 183:
 
Asynchronous propagation mode allows the session to create separate threads to propagate changes to remote servers. EclipseLink returns control to the client immediately after the local commit operation, whether or not the changes merge successfully on the remote servers. This offers superior performance for applications that are somewhat tolerant of stale data.
 
Asynchronous propagation mode allows the session to create separate threads to propagate changes to remote servers. EclipseLink returns control to the client immediately after the local commit operation, whether or not the changes merge successfully on the remote servers. This offers superior performance for applications that are somewhat tolerant of stale data.
  
For more information, [Introduction%20to%20Cache%20(ELUG)#CHEEACDJ Handling Stale Data].
+
For more information, [[Introduction%20to%20Cache%20(ELUG)#Handling Stale Data|Handling Stale Data]].
 
+
  
  
Line 199: Line 189:
  
 
To specify the change propagation mode, use this procedure:
 
To specify the change propagation mode, use this procedure:
 
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [#BCGCCEII33 Table 99-3]). The cache coordination options appear on the tab.<br>'''''Figure 99-1 Cache Coordination Tab, Synchronous Field'''''[[Image:sesrmisy.gif|Description of Figure 99-1 follows]]<br>[img_text/sesrmisy Description of "Figure 99-1 Cache Coordination Tab, Synchronous Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-4|Coordinated Cache Support for Propagation Mode Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Synchronous Field'''''<br> [[Image:sesrmisy.gif|Cache Coordination Tab, Synchronous Field]] <br><br>
 
# Select the '''Synchronous''' option to use synchronous change propagation. Do not select this option to use asynchronous change propagation.
 
# Select the '''Synchronous''' option to use synchronous change propagation. Do not select this option to use asynchronous change propagation.
  
'''See Also'''
 
 
: [[#Configuring the Synchronous Change Propagation Mode]
 
  
 +
===How to Configure the Synchronous Change Propagation Mode Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.RemoteCommandManager</tt> method <tt>setShouldPropagateAsynchronously</tt> to define whether changes should be propagated synchronously or asynchronously for this coordinated cache.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring a Service Channel==
 
==Configuring a Service Channel==
Line 215: Line 204:
 
The '''service channel''' is the name of the EclipseLink coordinated cache channel to which sessions subscribe in order to participate in the same coordinated cache. Such sessions use the service channel to exchange messages with each other. Messages sent on other service channels will not be exchanged with this coordinated cache.
 
The '''service channel''' is the name of the EclipseLink coordinated cache channel to which sessions subscribe in order to participate in the same coordinated cache. Such sessions use the service channel to exchange messages with each other. Messages sent on other service channels will not be exchanged with this coordinated cache.
  
[[#Table 99-4] summarizes which coordinated caches support service channel configuration.
+
This table summarizes which coordinated caches support service channel configuration.
 
+
  
  
'''''Table 99-4 Coordinated Cache Support for Service Channel Configuration'''''
+
<span id="Table 99-4"></span>
 +
''''' Coordinated Cache Support for Service Channel Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Service Channel Configuration" summary="This table summarizes which coordinated caches support for Service Channel Config" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Service Channel Configuration" summary="This table summarizes which coordinated caches support for Service Channel Config" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t5" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t5" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t5" align="left" valign="bottom" | '''[[#How to Configure a Service Channel Using Workbench]<br>'''
+
! id="r1c2-t5" align="left" valign="bottom" | '''[[#How to Configure a Service Channel Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t5" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t5" align="left" valign="bottom" | '''[[#How to Configure a Service Channel Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t5" headers="r1c1-t5" align="left" |
 
| id="r2c1-t5" headers="r1c1-t5" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t5 r1c2-t5" align="left" |
 
| headers="r2c1-t5 r1c2-t5" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 235: Line 224:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t5" headers="r1c1-t5" align="left" |
 
| id="r3c1-t5" headers="r1c1-t5" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t5 r1c2-t5" align="left" |
 
| headers="r3c1-t5 r1c2-t5" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 242: Line 231:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t5" headers="r1c1-t5" align="left" |
 
| id="r4c1-t5" headers="r1c1-t5" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t5 r1c2-t5" align="left" |
 
| headers="r4c1-t5 r1c2-t5" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 249: Line 238:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t5" headers="r1c1-t5" align="left" |
 
| id="r5c1-t5" headers="r1c1-t5" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t5 r1c2-t5" align="left" |
 
| headers="r5c1-t5 r1c2-t5" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 256: Line 245:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t5" headers="r1c1-t5" align="left" |
 
| id="r6c1-t5" headers="r1c1-t5" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t5 r1c2-t5" align="left" |
 
| headers="r6c1-t5 r1c2-t5" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 263: Line 252:
 
|}
 
|}
  
<br>
 
  
 
===How to Configure a Service Channel Using Workbench===
 
===How to Configure a Service Channel Using Workbench===
  
 
To specify the service channel, use this procedure:
 
To specify the service channel, use this procedure:
 
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-4]). The cache coordination options appear on the tab.<br>'''''Figure 99-2 Cache Coordination Tab, Channel Field'''''[[Image:cachchannel.gif|Description of Figure 99-2 follows]]<br>[img_text/cachchannel Description of "Figure 99-2 Cache Coordination Tab, Channel Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-4|Coordinated Cache Support for Service Channel Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Channel Field'''''<br>[[Image:cachchannel.gif|Cache Coordination Tab, Channel Field]]<br><br>
 
# In the '''Channel''' field, enter the name of the service channel for this coordinated cache.
 
# In the '''Channel''' field, enter the name of the service channel for this coordinated cache.
  
'''See Also'''
 
 
: [[#Configuring a Service Channel]
 
  
 +
===How to Configure a Service Channel Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.RemoteCommandManager</tt> method <tt>setChannel</tt> to set the name of the service channel for this coordinated cache.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring a Multicast Group Address==
 
==Configuring a Multicast Group Address==
 
 
A multicast group address is an Internet Protocol (IP) address in the range 224.0.0.0 to 239.255.255.255 that identifies the members of an IP multicast group. To efficiently broadcast the same message to all members of an IP multicast group, you configure each recipient with the same multicast group address and send the message to that address.
 
A multicast group address is an Internet Protocol (IP) address in the range 224.0.0.0 to 239.255.255.255 that identifies the members of an IP multicast group. To efficiently broadcast the same message to all members of an IP multicast group, you configure each recipient with the same multicast group address and send the message to that address.
  
[[#Table 99-5] summarizes which coordinated caches support multicast group address configuration.
+
This table summarizes which coordinated caches support multicast group address configuration.
 
+
  
  
'''''Table 99-5 Coordinated Cache Support for Multicast Group Address Configuration'''''
+
<span id="Table 99-5"></span>
 +
''''' Coordinated Cache Support for Multicast Group Address Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Multicast Group Address Configuration" summary="This table summarizes which coordinated caches support Multicast Group Address Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Multicast Group Address Configuration" summary="This table summarizes which coordinated caches support Multicast Group Address Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t6" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t6" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t6" align="left" valign="bottom" | '''[[#How to Configure a Multicast Group Address Using Workbench]<br>'''
+
! id="r1c2-t6" align="left" valign="bottom" | '''[[#How to Configure a Multicast Group Address Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t6" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t6" align="left" valign="bottom" | '''[[#How to Configure a Multicast Group Address Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t6" headers="r1c1-t6" align="left" |
 
| id="r2c1-t6" headers="r1c1-t6" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t6 r1c2-t6" align="left" |
 
| headers="r2c1-t6 r1c2-t6" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 304: Line 290:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t6" headers="r1c1-t6" align="left" |
 
| id="r3c1-t6" headers="r1c1-t6" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t6 r1c2-t6" align="left" |
 
| headers="r3c1-t6 r1c2-t6" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 311: Line 297:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t6" headers="r1c1-t6" align="left" |
 
| id="r4c1-t6" headers="r1c1-t6" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t6 r1c2-t6" align="left" |
 
| headers="r4c1-t6 r1c2-t6" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 318: Line 304:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t6" headers="r1c1-t6" align="left" |
 
| id="r5c1-t6" headers="r1c1-t6" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t6 r1c2-t6" align="left" |
 
| headers="r5c1-t6 r1c2-t6" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 325: Line 311:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t6" headers="r1c1-t6" align="left" |
 
| id="r6c1-t6" headers="r1c1-t6" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t6 r1c2-t6" align="left" |
 
| headers="r6c1-t6 r1c2-t6" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 341: Line 327:
 
<br>
 
<br>
  
In addition to configuring the multicast group address, you must also configure the multicast port (see [[#Configuring a Multicast Port]) for the coordinated cache types shown in [[#Table 99-5].
+
In addition to configuring the multicast group address, you must also configure the multicast port (see [[#Configuring a Multicast Port|Configuring a Multicast Port]]) for the coordinated cache types shown in the [[#Table 99-5| Coordinated Cache Support for Multicast Group Address Configuration]] table.
 
+
  
  
 
===How to Configure a Multicast Group Address Using Workbench===
 
===How to Configure a Multicast Group Address Using Workbench===
 
 
To specify the multicast group address, use this procedure:
 
To specify the multicast group address, use this procedure:
 
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-5]). The cache coordination options appear on the tab.<br>'''''Figure 99-3 Cache Coordination Tab, Multicast Group Address Field'''''[[Image:rmiclumg.gif|Description of Figure 99-3 follows]]<br>[img_text/rmiclumg Description of "Figure 99-3 Cache Coordination Tab, Multicast Group Address Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-5|Coordinated Cache Support for Multicast Group Address Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Multicast Group Address Field'''''<br>[[Image:rmiclumg.gif|Cache Coordination Tab, Multicast Group Address Field]]<br><br>
 
# Enter the multicast group address in the range 224.0.0.0 to 239.255.255.255 to subscribe this session to a given coordinated cache.
 
# Enter the multicast group address in the range 224.0.0.0 to 239.255.255.255 to subscribe this session to a given coordinated cache.
  
'''See Also'''
 
 
: [[#Configuring a Multicast Group Address]
 
  
 +
===How to Configure a Multicast Group Address Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.DiscoveryManager</tt> method <tt>setMulticastGroupAddress</tt> to subscribe this session to a given coordinated cache. Ensure that the address falls in the range 224.0.0.0 to 239.255.255.255.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring a Multicast Port==
 
==Configuring a Multicast Port==
 +
The multicast port is the port on which multicast messages are received. Members of a multicast group (see [[#Configuring a Multicast Group Address|Configuring a Multicast Group Address]]) rely on messages broadcast to their multicast group address to communicate with one another.
  
The multicast port is the port on which multicast messages are received. Members of a multicast group (see [[#Configuring a Multicast Group Address]) rely on messages broadcast to their multicast group address to communicate with one another.
+
This table summarizes which coordinated caches support multicast port configuration.
 
+
[[#Table 99-6] summarizes which coordinated caches support multicast port configuration.
+
 
+
  
  
'''''Table 99-6 Coordinated Cache Support for Multicast Port Configuration'''''
+
<span id="Table 99-6"></span>
 +
''''' Coordinated Cache Support for Multicast Port Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Multicast Port Configuration" summary="This table summarizes which coordinated caches support Multicast Port Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Multicast Port Configuration" summary="This table summarizes which coordinated caches support Multicast Port Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t8" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t8" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t8" align="left" valign="bottom" | '''[[#How to Configure a Multicast Port Using Workbench]<br>'''
+
! id="r1c2-t8" align="left" valign="bottom" | '''[[#How to Configure a Multicast Port Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t8" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t8" align="left" valign="bottom" | '''[[#How to Configure a Multicast Port Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t8" headers="r1c1-t8" align="left" |
 
| id="r2c1-t8" headers="r1c1-t8" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t8 r1c2-t8" align="left" |
 
| headers="r2c1-t8 r1c2-t8" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 384: Line 366:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t8" headers="r1c1-t8" align="left" |
 
| id="r3c1-t8" headers="r1c1-t8" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t8 r1c2-t8" align="left" |
 
| headers="r3c1-t8 r1c2-t8" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 391: Line 373:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t8" headers="r1c1-t8" align="left" |
 
| id="r4c1-t8" headers="r1c1-t8" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t8 r1c2-t8" align="left" |
 
| headers="r4c1-t8 r1c2-t8" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 398: Line 380:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t8" headers="r1c1-t8" align="left" |
 
| id="r5c1-t8" headers="r1c1-t8" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t8 r1c2-t8" align="left" |
 
| headers="r5c1-t8 r1c2-t8" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 405: Line 387:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t8" headers="r1c1-t8" align="left" |
 
| id="r6c1-t8" headers="r1c1-t8" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t8 r1c2-t8" align="left" |
 
| headers="r6c1-t8 r1c2-t8" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 419: Line 401:
 
|}
 
|}
  
<br>
 
  
 
===How to Configure a Multicast Port Using Workbench===
 
===How to Configure a Multicast Port Using Workbench===
Line 427: Line 408:
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-6]). The cache coordination options appear on the tab.<br>'''''Figure 99-4 Cache Coordination Tab, Multicast Port Field'''''[[Image:rmiclump.gif|Description of Figure 99-4 follows]]<br>[img_text/rmiclump Description of "Figure 99-4 Cache Coordination Tab, Multicast Port Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-6|Coordinated Cache Support for Multicast Port Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Multicast Port Field'''''<br>[[Image:rmiclump.gif|Cache Coordination Tab, Multicast Port Field]]<br><br>
 
# Enter the multicast port on which messages broadcast to the multicast group address are received.
 
# Enter the multicast port on which messages broadcast to the multicast group address are received.
  
'''See Also'''
 
 
: [[#Configuring a Multicast Port]
 
  
 +
===How to Configure a Multicast Port Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.DiscoveryManager</tt> method <tt>setMulticastPort</tt> to define the multicast port on which messages broadcast to the multicast group address are to be received.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring a Naming Service Type==
 
==Configuring a Naming Service Type==
Line 440: Line 421:
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. You can configure the message transport service to look up remote objects using an RMI registry or Java Naming and Directory Interface (JNDI). By default, JNDI is used.
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. You can configure the message transport service to look up remote objects using an RMI registry or Java Naming and Directory Interface (JNDI). By default, JNDI is used.
  
[[#Table 99-7] summarizes which coordinated caches support naming service configuration.
+
This table summarizes which coordinated caches support naming service configuration.
  
  
 
+
<span id="Table 99-7"></span>
'''''Table 99-7 Coordinated Cache Support for Naming Service Configuration'''''
+
''''' Coordinated Cache Support for Naming Service Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Naming Service Configuration" summary="This table summarizes which coordinated caches support Naming Service Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Naming Service Configuration" summary="This table summarizes which coordinated caches support Naming Service Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
Line 453: Line 434:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t10" headers="r1c1-t10" align="left" |
 
| id="r2c1-t10" headers="r1c1-t10" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t10 r1c2-t10" align="left" |
 
| headers="r2c1-t10 r1c2-t10" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 460: Line 441:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t10" headers="r1c1-t10" align="left" |
 
| id="r3c1-t10" headers="r1c1-t10" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t10 r1c2-t10" align="left" |
 
| headers="r3c1-t10 r1c2-t10" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 467: Line 448:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t10" headers="r1c1-t10" align="left" |
 
| id="r4c1-t10" headers="r1c1-t10" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t10 r1c2-t10" align="left" |
 
| headers="r4c1-t10 r1c2-t10" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 474: Line 455:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t10" headers="r1c1-t10" align="left" |
 
| id="r5c1-t10" headers="r1c1-t10" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t10 r1c2-t10" align="left" |
 
| headers="r5c1-t10 r1c2-t10" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 481: Line 462:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t10" headers="r1c1-t10" align="left" |
 
| id="r6c1-t10" headers="r1c1-t10" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t10 r1c2-t10" align="left" |
 
| headers="r6c1-t10 r1c2-t10" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 487: Line 468:
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
|}
 
|}
 
<br>
 
 
For information, see the following:
 
 
* [#BABEJHFE22 Configuring RMI Registry Naming Service Information]
 
* [[#Configuring JNDI Naming Service Information]
 
  
  
Line 501: Line 475:
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use a JNDI naming service, you must configure JNDI naming service information.
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use a JNDI naming service, you must configure JNDI naming service information.
  
[[#Table 99-8] summarizes which coordinated caches support JNDI naming service configuration.
+
This table summarizes which coordinated caches support JNDI naming service configuration.
 
+
  
  
'''''Table 99-8 Coordinated Cache Support for JNDI Naming Service Configuration'''''
+
<span id="Table 99-8"></span>
 +
''''' Coordinated Cache Support for JNDI Naming Service Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for JNDI Naming Service Configuration" summary="This table summarizes which coordinated caches support JNDI naming service configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for JNDI Naming Service Configuration" summary="This table summarizes which coordinated caches support JNDI naming service configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t11" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t11" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t11" align="left" valign="bottom" | '''[[#How to Configure JNDI Naming Service Information Using Workbench]<br>'''
+
! id="r1c2-t11" align="left" valign="bottom" | '''[[#How to Configure JNDI Naming Service Information Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t11" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t11" align="left" valign="bottom" | '''[[#How to Configure JNDI Naming Service Information Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t11" headers="r1c1-t11" align="left" |
 
| id="r2c1-t11" headers="r1c1-t11" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t11 r1c2-t11" align="left" |
 
| headers="r2c1-t11 r1c2-t11" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 521: Line 495:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t11" headers="r1c1-t11" align="left" |
 
| id="r3c1-t11" headers="r1c1-t11" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t11 r1c2-t11" align="left" |
 
| headers="r3c1-t11 r1c2-t11" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 528: Line 502:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t11" headers="r1c1-t11" align="left" |
 
| id="r4c1-t11" headers="r1c1-t11" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t11 r1c2-t11" align="left" |
 
| headers="r4c1-t11 r1c2-t11" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 535: Line 509:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t11" headers="r1c1-t11" align="left" |
 
| id="r5c1-t11" headers="r1c1-t11" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t11 r1c2-t11" align="left" |
 
| headers="r5c1-t11 r1c2-t11" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 542: Line 516:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t11" headers="r1c1-t11" align="left" |
 
| id="r6c1-t11" headers="r1c1-t11" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t11 r1c2-t11" align="left" |
 
| headers="r6c1-t11 r1c2-t11" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 555: Line 529:
 
For a JMS coordinated cache, when a particular session's coordinated cache starts up, it uses its JNDI naming service information to locate and create a connection to the JMS server. The coordinated cache is ready when all participating sessions are connected to the JMS server. At this point, sessions can start sending and receiving object change messages. You can then configure all sessions that are participating in the same coordinated cache with the same JNDI naming service information.
 
For a JMS coordinated cache, when a particular session's coordinated cache starts up, it uses its JNDI naming service information to locate and create a connection to the JMS server. The coordinated cache is ready when all participating sessions are connected to the JMS server. At this point, sessions can start sending and receiving object change messages. You can then configure all sessions that are participating in the same coordinated cache with the same JNDI naming service information.
  
For an RMI or CORBA coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in JNDI, creates an announcement message (that includes its own JNDI naming service information), and broadcasts the announcement to its multicast group (see [[#Configuring a Multicast Group Address] and [[#Configuring a Multicast Port]). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with JNDI naming information that identifies the host on which the session is deployed.
+
For an RMI or CORBA coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in JNDI, creates an announcement message (that includes its own JNDI naming service information), and broadcasts the announcement to its multicast group (see [[#Configuring a Multicast Group Address|Configuring a Multicast Group Address]] and [[#Configuring a Multicast Port|Configuring a Multicast Port]]). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with JNDI naming information that identifies the host on which the session is deployed.
  
  
Line 565: Line 539:
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-8]). The cache coordination options appear on the tab.<br>'''''Figure 99-5 Cache Coordination Tab, JNDI Naming Service Options'''''[[Image:jndisrvc.gif|Description of Figure 99-5 follows]]<br>[img_text/jndisrvc Description of "Figure 99-5 Cache Coordination Tab, JNDI Naming Service Options"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-8|Coordinated Cache Support for JNDI Naming Service Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, JNDI Naming Service Options'''''<br>[[Image:jndisrvc.gif|Cache Coordination Tab, JNDI Naming Service Options]]<br><br>
# Complete the [topicid:session.clustering.jndiNamingService Naming Service options].
+
# Complete the Naming Service options.
  
Use the following information to enter data in the fields of the Cache Coordination tab to configure the naming service options:
 
  
 +
Use the following information to enter data in the fields of the Cache Coordination tab to configure the naming service options:
  
  
Line 579: Line 553:
 
| id="r2c1-t12" headers="r1c1-t12" align="left" | '''URL'''
 
| id="r2c1-t12" headers="r1c1-t12" align="left" | '''URL'''
 
| headers="r2c1-t12 r1c2-t12" align="left" |
 
| headers="r2c1-t12 r1c2-t12" align="left" |
The location of the JNDI naming service. '''For a JMS coordinated cache:''' If you are using the Oracle Containers for J2EE (OC4J) JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI, use a URL similar to the following:  
+
The location of the JNDI naming service.
 +
* '''For a JMS coordinated cache:''' If you are using the Oracle Containers for J2EE (OC4J) JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI, use a URL similar to the following:  
 
  ormi://<JMS-host-IP>:<JMS-host-port>
 
  ormi://<JMS-host-IP>:<JMS-host-port>
 
   
 
   
where <tt>JMS-host-IP</tt> is the IP address of the host on which the JMS service provider is running and <tt>JMS-host-port</tt> is the port on which the JMS service provider is listening for JMS requests.'''For an RMI or CORBA coordinated cache'''<nowiki>: If you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:</nowiki>  
+
where <tt>JMS-host-IP</tt> is the IP address of the host on which the JMS service provider is running and <tt>JMS-host-port</tt> is the port on which the JMS service provider is listening for JMS requests.
 +
 
 +
*'''For an RMI or CORBA coordinated cache'''<nowiki>: If you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:</nowiki>  
 
  ormi://<session-host-IP>:23791
 
  ormi://<session-host-IP>:23791
 
where <tt>session-host-IP</tt> is the IP address of the host on which this session is deployed.
 
where <tt>session-host-IP</tt> is the IP address of the host on which this session is deployed.
Line 588: Line 565:
 
| id="r3c1-t12" headers="r1c1-t12" align="left" | '''Username'''
 
| id="r3c1-t12" headers="r1c1-t12" align="left" | '''Username'''
 
| headers="r3c1-t12 r1c2-t12" align="left" |
 
| headers="r3c1-t12 r1c2-t12" align="left" |
The user name required to log in to the JNDI naming service. The value you enter defines the <tt>Context.SECURITY_PRINCIPAL</tt> environment property.
+
The user name required to log in to the JNDI naming service.  
 +
 
 +
The value you enter defines the <tt>Context.SECURITY_PRINCIPAL</tt> environment property.
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t12" headers="r1c1-t12" align="left" | '''Password'''
 
| id="r4c1-t12" headers="r1c1-t12" align="left" | '''Password'''
 
| headers="r4c1-t12 r1c2-t12" align="left" |
 
| headers="r4c1-t12 r1c2-t12" align="left" |
The plain text (unencrypted) password required to log in to the JNDI naming service. The password appears in plain text in Workbench, but it is encrypted when written to the <tt>sessions.xml</tt> file The value you enter defines the <tt>Context.SECURITY_CREDENTIALS</tt> environment property.
+
The plain text (unencrypted) password required to log in to the JNDI naming service.  
 +
 
 +
The password appears in plain text in Workbench, but it is encrypted when written to the <tt>sessions.xml</tt> file.
 +
 
 +
The value you enter defines the <tt>Context.SECURITY_CREDENTIALS</tt> environment property.
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t12" headers="r1c1-t12" align="left" | '''Initial Context Factory'''
 
| id="r5c1-t12" headers="r1c1-t12" align="left" | '''Initial Context Factory'''
 
| headers="r5c1-t12 r1c2-t12" align="left" |
 
| headers="r5c1-t12 r1c2-t12" align="left" |
The name of the factory class, provided by your JNDI naming service provider, that implements the <tt>javax.naming.spi.InitialContextFactory</tt> interface. This factory class is used to create a <tt>javax.naming.Context</tt> instance that can access the JNDI naming service provider's context implementation. The value you enter defines the <tt>Context.INITIAL_CONTEXT_FACTORY</tt> environment property.
+
The name of the factory class, provided by your JNDI naming service provider, that implements the <tt>javax.naming.spi.InitialContextFactory</tt> interface. This factory class is used to create a <tt>javax.naming.Context</tt> instance that can access the JNDI naming service provider's context implementation.  
 +
 
 +
The value you enter defines the <tt>Context.INITIAL_CONTEXT_FACTORY</tt> environment property.
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t12" headers="r1c1-t12" align="left" | '''Properties'''
 
| id="r6c1-t12" headers="r1c1-t12" align="left" | '''Properties'''
 
| headers="r6c1-t12 r1c2-t12" align="left" |
 
| headers="r6c1-t12 r1c2-t12" align="left" |
The JNDI context properties. Click '''Properties''' to configure custom JNDI context properties (see [[#Configuring Context Properties]]).
+
The JNDI context properties.  
 +
 
 +
Click '''Properties''' to configure custom JNDI context properties (see [[#Configuring Context Properties|Configuring Context Properties]]).
 
|}
 
|}
  
<br>
 
  
'''See Also'''
+
===How to Configure JNDI Naming Service Information Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.TransportManager</tt> method <tt>setNamingServiceType</tt> as follows:
  
: [[#Configuring JNDI Naming Service Information]
+
setNamingServiceType(TransportManager.JNDI_NAMING_SERVICE)
  
 +
Then use the following TransportManager methods to configure the JNDI naming service options:
 +
* <tt>setUserName</tt>–Set the user name required to log in to the JNDI naming service. The value you enter defines the <tt>Context.SECURITY_PRINCIPAL</tt> environment property.
 +
* <tt>setPassword</tt>–Set the unencrypted password required to log in to the JNDI naming service. The value you enter defines the <tt>Context.SECURITY_CREDENTIALS</tt> in the cached context properties.
 +
* <tt>setEncriptedPassword</tt>–Set the encrypted password required to log in to the JNDI naming service. The value you enter defines the <tt>Context.SECURITY_CREDENTIALS</tt> in the cached context properties.
 +
* <tt>setInitialContextFactoryName</tt>–The name of the factory class, provided by your JNDI naming service provider, that implements the <tt>javax.naming.spi.InitialContextFactory</tt> interface. This factory class is used to create a <tt>javax.naming.Context</tt> instance that can access the JNDI naming service provider’s context implementation. The value you enter defines the <tt>Context.INITIAL_CONTEXT_FACTORY</tt> in the cached context properties.
 +
* <tt>setLocalContextProperties</tt>–Set the properties that will be used to create the initial context for local JNDI access. For more information, see ...
  
 +
Do not forget to specify the location of the JNDI naming service by providing its URL. Consider the following:
 +
* For a JMS coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI, use a URL similar to the following:
 +
ormi://<JMS-host-IP>:<JMS-host-port>
 +
where <tt>JMS-host-IP</tt> is the IP address of the host on which the JMS service provider is running, and <tt>JMS-host-port</tt> is the port on which the JMS service provider is listening for JMS requests.
 +
*For an RMI or CORBA coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:
 +
ormi://<session-host-IP>:23791
 +
where <tt>session-host-IP</tt> is the IP address of the host on which this session is deployed.
 +
 +
Note that the default protocol value is "ormi", and the default port value is "23791". You can also use the <tt>TransportManager.DEFAULT_URL_PROTOCOL</tt> and <tt>DEFAULT_URL_PORT</tt>.
 +
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring RMI Registry Naming Service Information==
 
==Configuring RMI Registry Naming Service Information==
Line 615: Line 619:
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use an RMI registry naming service, you can configure RMI registry naming service options.
 
The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use an RMI registry naming service, you can configure RMI registry naming service options.
  
[[#Table 99-8] summarizes which coordinated caches support RMI registry naming service configuration.
+
This table summarizes which coordinated caches support RMI registry naming service configuration.
 
+
  
  
'''''Table 99-9 Coordinated Cache Support for RMI Registry Naming Service Configuration'''''
+
<span id="Table 99-9"></span>
 +
''''' Coordinated Cache Support for RMI Registry Naming Service Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for RMI Registry Naming Service Configuration" summary="This table summarizes which coordinated caches support RMI naming service configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for RMI Registry Naming Service Configuration" summary="This table summarizes which coordinated caches support RMI naming service configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t13" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t13" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t13" align="left" valign="bottom" | '''[[#How to Configure RMI Registry Naming Service Information Using Workbench]<br>'''
+
! id="r1c2-t13" align="left" valign="bottom" | '''[[#How to Configure RMI Registry Naming Service Information Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t13" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t13" align="left" valign="bottom" | '''[[#How to Configure RMI Registry Naming Service Information Using Java|Using Java]]<'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t13" headers="r1c1-t13" align="left" |
 
| id="r2c1-t13" headers="r1c1-t13" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t13 r1c2-t13" align="left" |
 
| headers="r2c1-t13 r1c2-t13" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 635: Line 639:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t13" headers="r1c1-t13" align="left" |
 
| id="r3c1-t13" headers="r1c1-t13" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t13 r1c2-t13" align="left" |
 
| headers="r3c1-t13 r1c2-t13" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 642: Line 646:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t13" headers="r1c1-t13" align="left" |
 
| id="r4c1-t13" headers="r1c1-t13" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t13 r1c2-t13" align="left" |
 
| headers="r4c1-t13 r1c2-t13" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 649: Line 653:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t13" headers="r1c1-t13" align="left" |
 
| id="r5c1-t13" headers="r1c1-t13" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server Cluster 10g Coordinated Cache]]<br>
 
| headers="r5c1-t13 r1c2-t13" align="left" |
 
| headers="r5c1-t13 r1c2-t13" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 656: Line 660:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t13" headers="r1c1-t13" align="left" |
 
| id="r6c1-t13" headers="r1c1-t13" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t13 r1c2-t13" align="left" |
 
| headers="r6c1-t13 r1c2-t13" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 665: Line 669:
 
<br>
 
<br>
  
For an RMI coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in its RMI registry, creates an announcement message (that includes its own naming service information), and broadcasts the announcement to its multicast group (see [[#Configuring a Multicast Group Address] and [[#Configuring a Multicast Port]). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with RMI registry naming information that identifies the host on which the session is deployed.
+
For an RMI coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in its RMI registry, creates an announcement message (that includes its own naming service information), and broadcasts the announcement to its multicast group (see [[#Configuring a Multicast Group Address|Configuring a Multicast Group Address]] and [[#Configuring a Multicast Port|Configuring a Multicast Port]]). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with RMI registry naming information that identifies the host on which the session is deployed.
 
+
  
  
 
===How to Configure RMI Registry Naming Service Information Using Workbench===
 
===How to Configure RMI Registry Naming Service Information Using Workbench===
 
 
To specify the sessions's registry naming service, use this procedure:
 
To specify the sessions's registry naming service, use this procedure:
 
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor window.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor window.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-9]). The cache coordination options appear on the tab.<br>'''''Figure 99-6 Cache Coordination Tab, Naming Service Options'''''[[Image:rmisrvc.gif|Description of Figure 99-6 follows]]<br>[img_text/rmisrvc Description of "Figure 99-6 Cache Coordination Tab, Naming Service Options"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-9|Coordinated Cache Support for RMI Registry Naming Service Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Naming Service Options'''''<br>[[Image:rmisrvc.gif|Cache Coordination Tab, Naming Service Options]]<br><br>
# Complete the [topicid:session.clustering.rcm.rmi.rmiURL Registry Naming Service options].
+
# Complete the Registry Naming Service options.
 +
 
  
 
Use the following information to configure the naming service options:
 
Use the following information to configure the naming service options:
 
 
  
 
{| class="HRuleInformal" dir="ltr" title="This table identifies Registry Naming Service options on the Cache Coordination tab" summary="This table identifies Registry Naming Service options on the Cache Coordination tab" width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
 
{| class="HRuleInformal" dir="ltr" title="This table identifies Registry Naming Service options on the Cache Coordination tab" summary="This table identifies Registry Naming Service options on the Cache Coordination tab" width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
Line 694: Line 694:
 
|}
 
|}
  
<br>
 
  
'''See Also'''
+
===How to Configure RMI Registry Naming Service Information Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.TransportManager</tt> method <tt>setNamingServiceType</tt> as follows:
 +
setNamingServiceType(TransportManager.REGISTRY_NAMING_SERVICE)
 +
Then specify the location of the JNDI naming service by providing its URL. Consider the following:
  
: [#BABEJHFE22 Configuring RMI Registry Naming Service Information]
+
For an RMI or CORBA coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:
 +
ormi://<session-host-IP>:23791
 +
where <tt>session-host-IP</tt> is the IP address of the host on which this session is deployed.
  
 +
Note that the default protocol value is "ormi", and the default port value is "23791". You can also use the <tt>TransportManager.DEFAULT_URL_PROTOCOL</tt> and <tt>DEFAULT_URL_PORT</tt> contstants.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring an Announcement Delay==
 
==Configuring an Announcement Delay==
 +
Use the announcement delay option to set the amount of time (in milliseconds) that a session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache. This additional delay may be necessary to give some systems more time to post their connections into the naming service (see [[#Configuring a Naming Service Type|Configuring a Naming Service Type]]).
  
Use the announcement delay option to set the amount of time (in milliseconds) that a session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache. This additional delay may be necessary to give some systems more time to post their connections into the naming service (see [[#Configuring a Naming Service Type]).
+
This table  summarizes which coordinated caches support announcement delay configuration.
 
+
[[#Table 99-10] summarizes which coordinated caches support announcement delay configuration.
+
 
+
  
  
'''''Table 99-10 Coordinated Cache Support for Announcement Delay Configuration'''''
+
<span id="Table 99-10"></span>
 +
''''' Coordinated Cache Support for Announcement Delay Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Announcement Delay Configuration" summary="This table summarizes which coordinated caches support Announcement Delay Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Announcement Delay Configuration" summary="This table summarizes which coordinated caches support Announcement Delay Configuration" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t15" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t15" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t15" align="left" valign="bottom" | '''[[#How to Configure an Announcement Delay Using Workbench]<br>'''
+
! id="r1c2-t15" align="left" valign="bottom" | '''[[#How to Configure an Announcement Delay Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t15" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t15" align="left" valign="bottom" | '''[[#How to Configure an Announcement Delay Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t15" headers="r1c1-t15" align="left" |
 
| id="r2c1-t15" headers="r1c1-t15" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t15 r1c2-t15" align="left" |
 
| headers="r2c1-t15 r1c2-t15" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 726: Line 731:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t15" headers="r1c1-t15" align="left" |
 
| id="r3c1-t15" headers="r1c1-t15" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t15 r1c2-t15" align="left" |
 
| headers="r3c1-t15 r1c2-t15" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 733: Line 738:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t15" headers="r1c1-t15" align="left" |
 
| id="r4c1-t15" headers="r1c1-t15" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t15 r1c2-t15" align="left" |
 
| headers="r4c1-t15 r1c2-t15" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 740: Line 745:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t15" headers="r1c1-t15" align="left" |
 
| id="r5c1-t15" headers="r1c1-t15" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t15 r1c2-t15" align="left" |
 
| headers="r5c1-t15 r1c2-t15" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 747: Line 752:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t15" headers="r1c1-t15" align="left" |
 
| id="r6c1-t15" headers="r1c1-t15" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t15 r1c2-t15" align="left" |
 
| headers="r6c1-t15 r1c2-t15" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 756: Line 761:
 
<br>
 
<br>
  
In addition to announcement delay, you may also need to consider packet time-to-live configuration (see [[#Configuring a Packet Time-to-Live]).
+
In addition to announcement delay, you may also need to consider packet time-to-live configuration (see [[#Configuring a Packet Time-to-Live|Configuring a Packet Time-to-Live]]).
 
+
  
  
Line 766: Line 770:
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-10]). The cache coordination options appear on the tab.<br>'''''Figure 99-7 Cache Coordination Tab, Announcement Delay Field'''''[[Image:rmicluad.gif|Description of Figure 99-7 follows]]<br>[img_text/rmicluad Description of "Figure 99-7 Cache Coordination Tab, Announcement Delay Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-10|Coordinated Cache Support for Announcement Delay Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Announcement Delay Field'''''<br>[[Image:rmicluad.gif| Cache Coordination Tab, Announcement Delay Field]]<br><br>
 
# Select the amount of time (in milliseconds) that this session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache.
 
# Select the amount of time (in milliseconds) that this session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache.
  
'''See Also'''
+
See Also:
 +
: [[#Configuring a Packet Time-to-Live|Configuring a Packet Time-to-Live]]
  
: [[#Configuring an Announcement Delay]]
 
: [[#Configuring a Packet Time-to-Live]]
 
  
 +
===How to Configure an Announcement Delay Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.DiscoveryManager</tt>
 +
method <tt>setAnnouncementDelay</tt> to select the amount of time (in milliseconds) that this session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring Connection Handling==
 
==Configuring Connection Handling==
Line 780: Line 787:
 
The session's transport manager creates connections to the various members of the coordinated cache. If a communication error occurs on one of these connections, you can configure the session to either ignore the error or remove the connection.
 
The session's transport manager creates connections to the various members of the coordinated cache. If a communication error occurs on one of these connections, you can configure the session to either ignore the error or remove the connection.
  
[[#Table 99-11] summarizes which coordinated caches support connection handling configuration.
+
This table summarizes which coordinated caches support connection handling configuration.
  
  
 
+
<span id="Table 99-11"></span>
'''''Table 99-11 Coordinated Cache Support for Connection Handling Configuration'''''
+
''''' Coordinated Cache Support for Connection Handling Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Connection Handling Configuration" summary="This table summarizes which coordinated caches support connection handling configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Connection Handling Configuration" summary="This table summarizes which coordinated caches support connection handling configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t16" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t16" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t16" align="left" valign="bottom" | '''[[#How to Configure Connection Handling Using Workbench]]<br>'''
+
! id="r1c2-t16" align="left" valign="bottom" | '''[[#How to Configure Connection Handling Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t16" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t16" align="left" valign="bottom" | '''[[#How to Configure Connection Handling Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t16" headers="r1c1-t16" align="left" |
 
| id="r2c1-t16" headers="r1c1-t16" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t16 r1c2-t16" align="left" |
 
| headers="r2c1-t16 r1c2-t16" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 800: Line 807:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t16" headers="r1c1-t16" align="left" |
 
| id="r3c1-t16" headers="r1c1-t16" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t16 r1c2-t16" align="left" |
 
| headers="r3c1-t16 r1c2-t16" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 807: Line 814:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t16" headers="r1c1-t16" align="left" |
 
| id="r4c1-t16" headers="r1c1-t16" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t16 r1c2-t16" align="left" |
 
| headers="r4c1-t16 r1c2-t16" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 814: Line 821:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t16" headers="r1c1-t16" align="left" |
 
| id="r5c1-t16" headers="r1c1-t16" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t16 r1c2-t16" align="left" |
 
| headers="r5c1-t16 r1c2-t16" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 821: Line 828:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t16" headers="r1c1-t16" align="left" |
 
| id="r6c1-t16" headers="r1c1-t16" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t16 r1c2-t16" align="left" |
 
| headers="r6c1-t16 r1c2-t16" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 833: Line 840:
  
 
If you configure the session to ignore the error, the next time the session tries to communicate with that coordinated cache member, it will continue to use the same connection.
 
If you configure the session to ignore the error, the next time the session tries to communicate with that coordinated cache member, it will continue to use the same connection.
 
  
  
 
===How to Configure Connection Handling Using Workbench===
 
===How to Configure Connection Handling Using Workbench===
 
 
To specify how EclipseLink handles session connections in the event of an error, use this procedure:
 
To specify how EclipseLink handles session connections in the event of an error, use this procedure:
 
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
 
# Click the '''Cache Coordination''' tab. The Cache Coordination tab appears.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-11]). The cache coordination options appear on the tab.<br>'''''Figure 99-8 Cache Coordination Tab, Remove Connection on Error Option'''''[[Image:clonerr.gif|Description of Figure 99-8 follows]]<br>[img_text/clonerr Description of "Figure 99-8 Cache Coordination Tab, Remove Connection on Error Option"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-11|Coordinated Cache Support for Connection Handling Configuration]] table). The cache coordination options appear on the tab.<br>''''' Cache Coordination Tab, Remove Connection on Error Option'''''<br>[[Image:clonerr.gif|Cache Coordination Tab, Remove Connection on Error Option]]<br><br>
 
# Select the '''Remove Connection on Error''' option to configure the session to remove the data source connection in the event of an error.
 
# Select the '''Remove Connection on Error''' option to configure the session to remove the data source connection in the event of an error.
  
'''See Also'''
 
 
: [[#Configuring Connection Handling]
 
  
 +
===How to Configure Connection Handling Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.TransportManager</tt> method <tt>setShouldRemoveConnectionOnError</tt> to configure the session to remove the data source connection if an error occurs.
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring Context Properties==
 
==Configuring Context Properties==
 +
When you configure a coordinated cache to use a JNDI naming service (see [[#Configuring a Naming Service Type|Configuring a Naming Service Type]]), you can add new environment properties to the environment of the initial JNDI context.
  
When you configure a coordinated cache to use a JNDI naming service (see [[#Configuring a Naming Service Type]), you can add new environment properties to the environment of the initial JNDI context.
+
This table summarizes which coordinated caches support context properties.
 
+
[[#Table 99-12] summarizes which coordinated caches support context properties.
+
 
+
  
  
'''''Table 99-12 Coordinated Cache Support for Context Properties'''''
+
<span id="Table 99-12"></span>
 +
''''' Coordinated Cache Support for Context Properties'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Context Properties" summary="This table summarizes which coordinated caches support context properties." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Context Properties" summary="This table summarizes which coordinated caches support context properties." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t17" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t17" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t17" align="left" valign="bottom" | '''[[#How to Configure Context Properties Using Workbench]]<br>'''
+
! id="r1c2-t17" align="left" valign="bottom" | '''[[#How to Configure Context Properties Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t17" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t17" align="left" valign="bottom" | '''[[#How to Configure Context Properties Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t17" headers="r1c1-t17" align="left" |
 
| id="r2c1-t17" headers="r1c1-t17" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t17 r1c2-t17" align="left" |
 
| headers="r2c1-t17 r1c2-t17" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 875: Line 878:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t17" headers="r1c1-t17" align="left" |
 
| id="r3c1-t17" headers="r1c1-t17" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]][#sthref3406 <sup>Foot 1 </sup>]
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]] <sup> 1 </sup>
 
| headers="r3c1-t17 r1c2-t17" align="left" |
 
| headers="r3c1-t17 r1c2-t17" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 882: Line 885:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t17" headers="r1c1-t17" align="left" |
 
| id="r4c1-t17" headers="r1c1-t17" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t17 r1c2-t17" align="left" |
 
| headers="r4c1-t17 r1c2-t17" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 889: Line 892:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t17" headers="r1c1-t17" align="left" |
 
| id="r5c1-t17" headers="r1c1-t17" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t17 r1c2-t17" align="left" |
 
| headers="r5c1-t17 r1c2-t17" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 896: Line 899:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t17" headers="r1c1-t17" align="left" |
 
| id="r6c1-t17" headers="r1c1-t17" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t17 r1c2-t17" align="left" |
 
| headers="r6c1-t17 r1c2-t17" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 903: Line 906:
 
|}
 
|}
  
<br><sup>Footnote 1 </sup>When JNDI naming service is selected (see [[#Configuring a Naming Service Type]).<br>
+
<br><sup>1 </sup>When JNDI naming service is selected (see [[#Configuring a Naming Service Type|Configuring a Naming Service Type]]).<br>
  
 
Using Workbench, EclipseLink uses the new environment properties you add to create the initial context for both local and remote JNDI access.
 
Using Workbench, EclipseLink uses the new environment properties you add to create the initial context for both local and remote JNDI access.
  
Using Java, you can configure different properties for local and remote JNDI access using a session customizer class to call <tt>TransportManager</tt> methods <tt>setLocalContextProperties</tt> and <tt>setRemoteContectProperties</tt> (for more information, see [[Configuring%20a%20Session%20(ELUG)#CEGBFEFE|Configuring a Session Customizer Class]]).
+
Using Java, you can configure different properties for local and remote JNDI access using a session customizer class to call <tt>TransportManager</tt> methods <tt>setLocalContextProperties</tt> and <tt>setRemoteContectProperties</tt> (for more information, see [[Configuring%20a%20Session%20(ELUG)#Configuring a Session Customizer Class|Configuring a Session Customizer Class]]).
 
+
  
  
Line 916: Line 918:
  
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-12]). The cache coordination options appear on the tab.
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-12|Coordinated Cache Support for Context Properties]] table). The cache coordination options appear on the tab.
# Ensure the '''JNDI Naming Service''' option is selected. See [[#Configuring a Naming Service Type].
+
# Ensure the '''JNDI Naming Service''' option is selected. See [[#Configuring a Naming Service Type|Configuring a Naming Service Type]].
# In the JNDI Naming Service area, click '''Properties'''. The Edit Properties dialog box appears.<br>'''''Figure 99-9 Edit Properties Dialog Box'''''[[Image:cachepropdialog.gif|Description of Figure 99-9 follows]]<br>[img_text/cachepropdialog Description of "Figure 99-9 Edit Properties Dialog Box"]<br><br>
+
# In the JNDI Naming Service area, click '''Properties'''. The Edit Properties dialog box appears.<br>'''''Edit Properties Dialog Box'''''<br>[[Image:cachepropdialog.gif|Edit Properties Dialog Box]]<br><br>
# Click '''Add''' to create a new property. The [topicid:dialog.jndiNamingService.properties Add New Property dialog box] appears.
+
# Click '''Add''' to create a new property. The Add New Property dialog box appears.
  
 
Use this table to enter data in the following fields on the dialog box.
 
Use this table to enter data in the following fields on the dialog box.
 
  
  
Line 941: Line 942:
 
To change (or delete) an existing property, select the property and click '''Edit''' (or '''Remove''').
 
To change (or delete) an existing property, select the property and click '''Edit''' (or '''Remove''').
  
'''See Also'''
 
 
: [[#Configuring Context Properties]]
 
  
 +
===How to Configure Context Properties Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.TransportManager</tt> method <tt>setLocalContextProperties</tt> to define a <tt>Hashtable</tt> of the JNDI context properties that will be used to create the initial context for the local JNDI access. Note that the "dedicated.connection" is the default key with the default value of "true".
  
 +
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
 
==Configuring a Packet Time-to-Live==
 
==Configuring a Packet Time-to-Live==
Line 951: Line 952:
 
The '''packet time-to-live''' is the number of hops that session data '''packets''' can take before expiring. The default is 2. This allows for a '''hub''' and an interface card, and prevents the data packets from leaving the local network. If sessions are hosted on different local area networks (LANs) that are part of wide area network (WAN), or if a firewall configuration prevents it, the announcement sent by one session may not reach the other sessions in the coordinated cache. In this case, consult your network administrator for the correct time-to-live value.
 
The '''packet time-to-live''' is the number of hops that session data '''packets''' can take before expiring. The default is 2. This allows for a '''hub''' and an interface card, and prevents the data packets from leaving the local network. If sessions are hosted on different local area networks (LANs) that are part of wide area network (WAN), or if a firewall configuration prevents it, the announcement sent by one session may not reach the other sessions in the coordinated cache. In this case, consult your network administrator for the correct time-to-live value.
  
[[#Table 99-13] summarizes which coordinated caches support packet time-to-live configuration.
+
This table summarizes which coordinated caches support packet time-to-live configuration.
  
  
 
+
<span id="Table 99-13"></span>
'''''Table 99-13 Coordinated Cache Support for Packet Time-to-Live Configuration'''''
+
''''' Coordinated Cache Support for Packet Time-to-Live Configuration'''''
  
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Packet Time-to-Live Configuration" summary="This table summarizes which coordinated caches support packet time to live configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormal" dir="ltr" title="Coordinated Cache Support for Packet Time-to-Live Configuration" summary="This table summarizes which coordinated caches support packet time to live configuration." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
! id="r1c1-t19" align="left" valign="bottom" | '''Coordinated Cache'''
 
! id="r1c1-t19" align="left" valign="bottom" | '''Coordinated Cache'''
! id="r1c2-t19" align="left" valign="bottom" | '''[[#How to Configure a Packet Time-to-Live Using Workbench]]<br>'''
+
! id="r1c2-t19" align="left" valign="bottom" | '''[[#How to Configure a Packet Time-to-Live Using Workbench|Using Workbench]]<br>'''
! id="r1c3-t19" align="left" valign="bottom" | '''How to Use Java'''
+
! id="r1c3-t19" align="left" valign="bottom" | '''[[#How to Configure a Packet Time-to-Live Using Java|Using Java]]'''
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t19" headers="r1c1-t19" align="left" |
 
| id="r2c1-t19" headers="r1c1-t19" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEBACGD|JMS Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#JMS Coordinated Cache|JMS Coordinated Cache]]<br>
 
| headers="r2c1-t19 r1c2-t19" align="left" |
 
| headers="r2c1-t19 r1c2-t19" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 971: Line 972:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t19" headers="r1c1-t19" align="left" |
 
| id="r3c1-t19" headers="r1c1-t19" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHECIADE|RMI Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#RMI Coordinated Cache|RMI Coordinated Cache]]<br>
 
| headers="r3c1-t19 r1c2-t19" align="left" |
 
| headers="r3c1-t19 r1c2-t19" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 978: Line 979:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t19" headers="r1c1-t19" align="left" |
 
| id="r4c1-t19" headers="r1c1-t19" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEGBGAB|CORBA Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#CORBA Coordinated Cache|CORBA Coordinated Cache]]<br>
 
| headers="r4c1-t19 r1c2-t19" align="left" |
 
| headers="r4c1-t19 r1c2-t19" align="left" |
 
[[Image:support.gif|Supported.]]<br>
 
[[Image:support.gif|Supported.]]<br>
Line 985: Line 986:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t19" headers="r1c1-t19" align="left" |
 
| id="r5c1-t19" headers="r1c1-t19" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CACBABJJ|Oracle Application Server Cluster Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Oracle Application Server Cluster Coordinated Cache|Oracle Application Server 10g Cluster Coordinated Cache]]<br>
 
| headers="r5c1-t19 r1c2-t19" align="left" |
 
| headers="r5c1-t19 r1c2-t19" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 992: Line 993:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t19" headers="r1c1-t19" align="left" |
 
| id="r6c1-t19" headers="r1c1-t19" align="left" |
[[Introduction%20to%20Cache%20(ELUG)#CHEFCDFA|Custom Coordinated Cache]]<br>
+
[[Introduction%20to%20Cache%20(ELUG)#Custom Coordinated Cache|Custom Coordinated Cache]]<br>
 
| headers="r6c1-t19 r1c2-t19" align="left" |
 
| headers="r6c1-t19 r1c2-t19" align="left" |
 
[[Image:unsupport.gif|Unsupported.]]<br>
 
[[Image:unsupport.gif|Unsupported.]]<br>
Line 1,001: Line 1,002:
 
<br>
 
<br>
  
In addition to configuring packet time-to-live, you may also need to configure announcement delay (see [[#Configuring an Announcement Delay]).
+
In addition to configuring packet time-to-live, you may also need to configure announcement delay (see [[#Configuring an Announcement Delay|Configuring an Announcement Delay]]).
 
+
  
  
 
===How to Configure a Packet Time-to-Live Using Workbench===
 
===How to Configure a Packet Time-to-Live Using Workbench===
 
 
To specify the number of hops that session data packets can take before expiring, use this procedure:
 
To specify the number of hops that session data packets can take before expiring, use this procedure:
  
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
 
# Select a session or session broker in the '''Navigator'''. Its properties appear in the Editor.
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see [[#Table 99-12]). The cache coordination options appear on the tab.<br>'''''Figure 99-10 Cache Coordination Tab, Packet Time to Live Field'''''[[Image:rmipacket.gif|Description of Figure 99-10 follows]]<br>[img_text/rmipacket Description of "Figure 99-10 Cache Coordination Tab, Packet Time to Live Field"]<br><br>
+
# Ensure the '''Enable Cache Coordination''' option is selected, then select the appropriate coordinated cache '''Type''' (see the [[#Table 99-12|Coordinated Cache Support for Packet Time-to-Live Configuration]] table). The cache coordination options appear on the tab.<br>'''''Cache Coordination Tab, Packet Time to Live Field'''''<br>[[Image:rmipacket.gif|DCache Coordination Tab, Packet Time to Live Field]]<br><br>
 +
#In the '''Packet Time to Live''' field, specify the number of hops (default = <tt>2</tt>) that session data packets can take before expiring.
  
In the '''Packet Time to Live''' field, specify the number of hops (default = <tt>2</tt>) that session data packets can take before expiring.
 
  
'''See Also'''
+
===How to Configure a Packet Time-to-Live Using Java===
 +
Use the <tt>org.eclipse.persistence.sessions.coordination.DiscoveryManager</tt> method <tt>setPacketTimeToLive</tt> to specify the number of hops (default = 2) that session data packets can take before expiring.
  
: [[#Configuring a Packet Time-to-Live]
+
For more information, see [[Introduction%20to%20Cache%20(ELUG)#Cache Coordination API|Cache Coordination API]].
  
  
Line 1,024: Line 1,024:
  
 
[[Category: EclipseLink User's Guide]]
 
[[Category: EclipseLink User's Guide]]
[[Category: Draft]]
+
[[Category: Release 1]]
 
[[Category: Task]]
 
[[Category: Task]]

Latest revision as of 11:15, 23 July 2012

Elug draft icon.png For the latest EclipseLink documentation, please see http://www.eclipse.org/eclipselink/documentation/


Contents

Related Topics


Configuring EclipseLink Coordinated Caches

If you are configuring a... See...

JMS Coordinated Cache

Configuring a JMS Coordinated Cache

RMI Coordinated Cache

Configuring an RMI Coordinated Cache

CORBA Coordinated Cache

Configuring a CORBA Coordinated Cache

Custom Coordinated Cache

Configuring a Custom Coordinated Cache


For more information, see Cache Coordination.


Configuring Common Coordinated Cache Options

This table lists the configurable options shared by two or more EclipseLink coordinated cache types. In addition, you must configure the options described for specific Coordinated Cache Types, as shown in the Configuring EclipseLink Coordinated Caches table.


Common Coordinated Cache Options

Option to Configure Workbench
Java

Cache coordination change propagation at the descriptor level

Supported

Supported

Synchronous change propagation mode

Supported

Supported

Service channel

Supported

Supported

Multicast group address

Supported

Supported

Multicast port

Supported

Supported

Naming service type

Supported

Supported

Announcement delay

Supported

Supported

Connection handling

Supported

Supported

Context properties

Supported

Supported

Packet time-to-live

Supported

Supported


Configuring the Synchronous Change Propagation Mode

You can configure whether the coordinated cache should propagate object changes asynchronously or synchronously.

The following table summarizes which coordinated caches support propagation mode configuration.


Coordinated Cache Support for Propagation Mode Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache (asynchronous only)

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


Synchronous propagation mode forces the session to wait for an acknowledgement before sending the next object change notification: this reduces the likelihood of stale data at the expense of performance.

Asynchronous propagation mode allows the session to create separate threads to propagate changes to remote servers. EclipseLink returns control to the client immediately after the local commit operation, whether or not the changes merge successfully on the remote servers. This offers superior performance for applications that are somewhat tolerant of stale data.

For more information, Handling Stale Data.


How to Configure the Synchronous Change Propagation Mode Using Workbench

To specify the change propagation mode, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Propagation Mode Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Synchronous Field
    Cache Coordination Tab, Synchronous Field

  4. Select the Synchronous option to use synchronous change propagation. Do not select this option to use asynchronous change propagation.


How to Configure the Synchronous Change Propagation Mode Using Java

Use the org.eclipse.persistence.sessions.coordination.RemoteCommandManager method setShouldPropagateAsynchronously to define whether changes should be propagated synchronously or asynchronously for this coordinated cache.

For more information, see Cache Coordination API.

Configuring a Service Channel

The service channel is the name of the EclipseLink coordinated cache channel to which sessions subscribe in order to participate in the same coordinated cache. Such sessions use the service channel to exchange messages with each other. Messages sent on other service channels will not be exchanged with this coordinated cache.

This table summarizes which coordinated caches support service channel configuration.


Coordinated Cache Support for Service Channel Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Supported.

Supported.


How to Configure a Service Channel Using Workbench

To specify the service channel, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Service Channel Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Channel Field
    Cache Coordination Tab, Channel Field

  4. In the Channel field, enter the name of the service channel for this coordinated cache.


How to Configure a Service Channel Using Java

Use the org.eclipse.persistence.sessions.coordination.RemoteCommandManager method setChannel to set the name of the service channel for this coordinated cache.

For more information, see Cache Coordination API.

Configuring a Multicast Group Address

A multicast group address is an Internet Protocol (IP) address in the range 224.0.0.0 to 239.255.255.255 that identifies the members of an IP multicast group. To efficiently broadcast the same message to all members of an IP multicast group, you configure each recipient with the same multicast group address and send the message to that address.

This table summarizes which coordinated caches support multicast group address configuration.


Coordinated Cache Support for Multicast Group Address Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.



Note: Ensure your host and network are configured to support multicast operation before configuring this option.


In addition to configuring the multicast group address, you must also configure the multicast port (see Configuring a Multicast Port) for the coordinated cache types shown in the Coordinated Cache Support for Multicast Group Address Configuration table.


How to Configure a Multicast Group Address Using Workbench

To specify the multicast group address, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Multicast Group Address Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Multicast Group Address Field
    Cache Coordination Tab, Multicast Group Address Field

  4. Enter the multicast group address in the range 224.0.0.0 to 239.255.255.255 to subscribe this session to a given coordinated cache.


How to Configure a Multicast Group Address Using Java

Use the org.eclipse.persistence.sessions.coordination.DiscoveryManager method setMulticastGroupAddress to subscribe this session to a given coordinated cache. Ensure that the address falls in the range 224.0.0.0 to 239.255.255.255.

For more information, see Cache Coordination API.

Configuring a Multicast Port

The multicast port is the port on which multicast messages are received. Members of a multicast group (see Configuring a Multicast Group Address) rely on messages broadcast to their multicast group address to communicate with one another.

This table summarizes which coordinated caches support multicast port configuration.


Coordinated Cache Support for Multicast Port Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.



Note: Ensure your host and network are configured to support multicast operation before configuring this option


How to Configure a Multicast Port Using Workbench

To specify the multicast port, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Multicast Port Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Multicast Port Field
    Cache Coordination Tab, Multicast Port Field

  4. Enter the multicast port on which messages broadcast to the multicast group address are received.


How to Configure a Multicast Port Using Java

Use the org.eclipse.persistence.sessions.coordination.DiscoveryManager method setMulticastPort to define the multicast port on which messages broadcast to the multicast group address are to be received.

For more information, see Cache Coordination API.

Configuring a Naming Service Type

The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. You can configure the message transport service to look up remote objects using an RMI registry or Java Naming and Directory Interface (JNDI). By default, JNDI is used.

This table summarizes which coordinated caches support naming service configuration.


Coordinated Cache Support for Naming Service Configuration

Coordinated Cache JNDI Naming Service RMI Registry Naming Service

JMS Coordinated Cache

Supported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Unsupported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


Configuring JNDI Naming Service Information

The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use a JNDI naming service, you must configure JNDI naming service information.

This table summarizes which coordinated caches support JNDI naming service configuration.


Coordinated Cache Support for JNDI Naming Service Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Supported.

Supported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


EclipseLink uses JNDI naming service information differently, depending on the type of coordinated cache.

For a JMS coordinated cache, when a particular session's coordinated cache starts up, it uses its JNDI naming service information to locate and create a connection to the JMS server. The coordinated cache is ready when all participating sessions are connected to the JMS server. At this point, sessions can start sending and receiving object change messages. You can then configure all sessions that are participating in the same coordinated cache with the same JNDI naming service information.

For an RMI or CORBA coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in JNDI, creates an announcement message (that includes its own JNDI naming service information), and broadcasts the announcement to its multicast group (see Configuring a Multicast Group Address and Configuring a Multicast Port). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with JNDI naming information that identifies the host on which the session is deployed.


How to Configure JNDI Naming Service Information Using Workbench

To specify the sessions's JNDI naming service, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for JNDI Naming Service Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, JNDI Naming Service Options
    Cache Coordination Tab, JNDI Naming Service Options

  4. Complete the Naming Service options.


Use the following information to enter data in the fields of the Cache Coordination tab to configure the naming service options:


Field Description
URL

The location of the JNDI naming service.

  • For a JMS coordinated cache: If you are using the Oracle Containers for J2EE (OC4J) JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI, use a URL similar to the following:
ormi://<JMS-host-IP>:<JMS-host-port>

where JMS-host-IP is the IP address of the host on which the JMS service provider is running and JMS-host-port is the port on which the JMS service provider is listening for JMS requests.

  • For an RMI or CORBA coordinated cache: If you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:
ormi://<session-host-IP>:23791

where session-host-IP is the IP address of the host on which this session is deployed.

Username

The user name required to log in to the JNDI naming service.

The value you enter defines the Context.SECURITY_PRINCIPAL environment property.

Password

The plain text (unencrypted) password required to log in to the JNDI naming service.

The password appears in plain text in Workbench, but it is encrypted when written to the sessions.xml file.

The value you enter defines the Context.SECURITY_CREDENTIALS environment property.

Initial Context Factory

The name of the factory class, provided by your JNDI naming service provider, that implements the javax.naming.spi.InitialContextFactory interface. This factory class is used to create a javax.naming.Context instance that can access the JNDI naming service provider's context implementation.

The value you enter defines the Context.INITIAL_CONTEXT_FACTORY environment property.

Properties

The JNDI context properties.

Click Properties to configure custom JNDI context properties (see Configuring Context Properties).


How to Configure JNDI Naming Service Information Using Java

Use the org.eclipse.persistence.sessions.coordination.TransportManager method setNamingServiceType as follows:

setNamingServiceType(TransportManager.JNDI_NAMING_SERVICE)

Then use the following TransportManager methods to configure the JNDI naming service options:

  • setUserName–Set the user name required to log in to the JNDI naming service. The value you enter defines the Context.SECURITY_PRINCIPAL environment property.
  • setPassword–Set the unencrypted password required to log in to the JNDI naming service. The value you enter defines the Context.SECURITY_CREDENTIALS in the cached context properties.
  • setEncriptedPassword–Set the encrypted password required to log in to the JNDI naming service. The value you enter defines the Context.SECURITY_CREDENTIALS in the cached context properties.
  • setInitialContextFactoryName–The name of the factory class, provided by your JNDI naming service provider, that implements the javax.naming.spi.InitialContextFactory interface. This factory class is used to create a javax.naming.Context instance that can access the JNDI naming service provider’s context implementation. The value you enter defines the Context.INITIAL_CONTEXT_FACTORY in the cached context properties.
  • setLocalContextProperties–Set the properties that will be used to create the initial context for local JNDI access. For more information, see ...

Do not forget to specify the location of the JNDI naming service by providing its URL. Consider the following:

  • For a JMS coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI, use a URL similar to the following:
ormi://<JMS-host-IP>:<JMS-host-port>

where JMS-host-IP is the IP address of the host on which the JMS service provider is running, and JMS-host-port is the port on which the JMS service provider is listening for JMS requests.

  • For an RMI or CORBA coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:
ormi://<session-host-IP>:23791

where session-host-IP is the IP address of the host on which this session is deployed.

Note that the default protocol value is "ormi", and the default port value is "23791". You can also use the TransportManager.DEFAULT_URL_PROTOCOL and DEFAULT_URL_PORT.

For more information, see Cache Coordination API.

Configuring RMI Registry Naming Service Information

The session's message transport service uses a naming service when it looks up connections to other sessions in the coordinated cache. If you choose to use an RMI registry naming service, you can configure RMI registry naming service options.

This table summarizes which coordinated caches support RMI registry naming service configuration.


Coordinated Cache Support for RMI Registry Naming Service Configuration

Coordinated Cache Using Workbench
Using Java<

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Unsupported.

Unsupported.

Oracle Application Server Cluster 10g Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


For an RMI coordinated cache, when a particular session's coordinated cache starts up, the session binds its connection in its RMI registry, creates an announcement message (that includes its own naming service information), and broadcasts the announcement to its multicast group (see Configuring a Multicast Group Address and Configuring a Multicast Port). When a session that belongs to the same multicast group receives this announcement, it uses the JNDI naming service information in the announcement message to establish bidirectional connections with the newly announced session's coordinated cache. The coordinated cache is ready when all participating sessions are interconnected in this way, at which point, sessions can start sending and receiving object change messages. You can then configure each session with RMI registry naming information that identifies the host on which the session is deployed.


How to Configure RMI Registry Naming Service Information Using Workbench

To specify the sessions's registry naming service, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor window.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for RMI Registry Naming Service Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Naming Service Options
    Cache Coordination Tab, Naming Service Options

  4. Complete the Registry Naming Service options.


Use the following information to configure the naming service options:

Field Description
URL

Assuming that you are using the OC4J JNDI naming service and that all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:

ormi://<session-host-IP>:23791

where session-host-IP is the IP address of the host on which this session is deployed.


How to Configure RMI Registry Naming Service Information Using Java

Use the org.eclipse.persistence.sessions.coordination.TransportManager method setNamingServiceType as follows:

setNamingServiceType(TransportManager.REGISTRY_NAMING_SERVICE)

Then specify the location of the JNDI naming service by providing its URL. Consider the following:

For an RMI or CORBA coordinated cache, if you are using the OC4J JNDI naming service and all the hosts in your coordinated cache can communicate using the OC4J proprietary RMI protocol ORMI on OC4J default port 23791, use a URL similar to the following:

ormi://<session-host-IP>:23791

where session-host-IP is the IP address of the host on which this session is deployed.

Note that the default protocol value is "ormi", and the default port value is "23791". You can also use the TransportManager.DEFAULT_URL_PROTOCOL and DEFAULT_URL_PORT contstants.

For more information, see Cache Coordination API.

Configuring an Announcement Delay

Use the announcement delay option to set the amount of time (in milliseconds) that a session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache. This additional delay may be necessary to give some systems more time to post their connections into the naming service (see Configuring a Naming Service Type).

This table summarizes which coordinated caches support announcement delay configuration.


Coordinated Cache Support for Announcement Delay Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


In addition to announcement delay, you may also need to consider packet time-to-live configuration (see Configuring a Packet Time-to-Live).


How to Configure an Announcement Delay Using Workbench

To specify the announcement delay (in milliseconds) for an RMI coordinated cache, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Announcement Delay Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Announcement Delay Field
    Cache Coordination Tab, Announcement Delay Field

  4. Select the amount of time (in milliseconds) that this session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache.

See Also:

Configuring a Packet Time-to-Live


How to Configure an Announcement Delay Using Java

Use the org.eclipse.persistence.sessions.coordination.DiscoveryManager method setAnnouncementDelay to select the amount of time (in milliseconds) that this session should wait between the time that it is available and the time that it broadcasts its announcement message to the members of the coordinated cache.

For more information, see Cache Coordination API.

Configuring Connection Handling

The session's transport manager creates connections to the various members of the coordinated cache. If a communication error occurs on one of these connections, you can configure the session to either ignore the error or remove the connection.

This table summarizes which coordinated caches support connection handling configuration.


Coordinated Cache Support for Connection Handling Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Supported.

Supported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Supported.

Supported.


If you configure the session to remove the connection on error, the next time the session tries to communicate with that coordinated cache member, it will construct a new connection.

If you configure the session to ignore the error, the next time the session tries to communicate with that coordinated cache member, it will continue to use the same connection.


How to Configure Connection Handling Using Workbench

To specify how EclipseLink handles session connections in the event of an error, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Click the Cache Coordination tab. The Cache Coordination tab appears.
  3. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Connection Handling Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Remove Connection on Error Option
    Cache Coordination Tab, Remove Connection on Error Option

  4. Select the Remove Connection on Error option to configure the session to remove the data source connection in the event of an error.


How to Configure Connection Handling Using Java

Use the org.eclipse.persistence.sessions.coordination.TransportManager method setShouldRemoveConnectionOnError to configure the session to remove the data source connection if an error occurs.

For more information, see Cache Coordination API.

Configuring Context Properties

When you configure a coordinated cache to use a JNDI naming service (see Configuring a Naming Service Type), you can add new environment properties to the environment of the initial JNDI context.

This table summarizes which coordinated caches support context properties.


Coordinated Cache Support for Context Properties

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Supported.

Supported.

RMI Coordinated Cache 1

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


1 When JNDI naming service is selected (see Configuring a Naming Service Type).

Using Workbench, EclipseLink uses the new environment properties you add to create the initial context for both local and remote JNDI access.

Using Java, you can configure different properties for local and remote JNDI access using a session customizer class to call TransportManager methods setLocalContextProperties and setRemoteContectProperties (for more information, see Configuring a Session Customizer Class).


How to Configure Context Properties Using Workbench

To define JNDI context properties, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Context Properties table). The cache coordination options appear on the tab.
  3. Ensure the JNDI Naming Service option is selected. See Configuring a Naming Service Type.
  4. In the JNDI Naming Service area, click Properties. The Edit Properties dialog box appears.
    Edit Properties Dialog Box
    Edit Properties Dialog Box

  5. Click Add to create a new property. The Add New Property dialog box appears.

Use this table to enter data in the following fields on the dialog box.


Field Description
Name The name of the property.
Value The value of the property.


To change (or delete) an existing property, select the property and click Edit (or Remove).


How to Configure Context Properties Using Java

Use the org.eclipse.persistence.sessions.coordination.TransportManager method setLocalContextProperties to define a Hashtable of the JNDI context properties that will be used to create the initial context for the local JNDI access. Note that the "dedicated.connection" is the default key with the default value of "true".

For more information, see Cache Coordination API.

Configuring a Packet Time-to-Live

The packet time-to-live is the number of hops that session data packets can take before expiring. The default is 2. This allows for a hub and an interface card, and prevents the data packets from leaving the local network. If sessions are hosted on different local area networks (LANs) that are part of wide area network (WAN), or if a firewall configuration prevents it, the announcement sent by one session may not reach the other sessions in the coordinated cache. In this case, consult your network administrator for the correct time-to-live value.

This table summarizes which coordinated caches support packet time-to-live configuration.


Coordinated Cache Support for Packet Time-to-Live Configuration

Coordinated Cache Using Workbench
Using Java

JMS Coordinated Cache

Unsupported.

Unsupported.

RMI Coordinated Cache

Supported.

Supported.

CORBA Coordinated Cache

Supported.

Supported.

Oracle Application Server 10g Cluster Coordinated Cache

Unsupported.

Unsupported.

Custom Coordinated Cache

Unsupported.

Unsupported.


In addition to configuring packet time-to-live, you may also need to configure announcement delay (see Configuring an Announcement Delay).


How to Configure a Packet Time-to-Live Using Workbench

To specify the number of hops that session data packets can take before expiring, use this procedure:

  1. Select a session or session broker in the Navigator. Its properties appear in the Editor.
  2. Ensure the Enable Cache Coordination option is selected, then select the appropriate coordinated cache Type (see the Coordinated Cache Support for Packet Time-to-Live Configuration table). The cache coordination options appear on the tab.
    Cache Coordination Tab, Packet Time to Live Field
    DCache Coordination Tab, Packet Time to Live Field

  3. In the Packet Time to Live field, specify the number of hops (default = 2) that session data packets can take before expiring.


How to Configure a Packet Time-to-Live Using Java

Use the org.eclipse.persistence.sessions.coordination.DiscoveryManager method setPacketTimeToLive to specify the number of hops (default = 2) that session data packets can take before expiring.

For more information, see Cache Coordination API.



Copyright Statement

Back to the top