xdocs/RemoteCacheProperties.xml (127 lines of code) (raw):

<?xml version="1.0"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <document> <properties> <title>Remote Cache Configuration</title> <author email="ASmuts@apache.org">Aaron Smuts</author> </properties> <body> <section name="Remote Auxiliary Cache Configuration"> <p> The following properties apply to the Remote Cache plugin. </p> <subsection name="Remote Client Configuration Properties"> <table> <tr> <th>Property</th> <th>Description</th> <th>Required</th> <th>Default Value</th> </tr> <tr> <td>FailoverServers</td> <td> This is a comma separated list of remote servers to use. They should be specified in the host:port format. The first server in the list will be used as the primary server. If the connection is lost with the primary, the cache will try to connect to the next server in the list. If a connection is successfully established with a failover server, then the cache will attempt to restore the connection with the primary server. </td> <td>Y</td> <td>n/a</td> </tr> <tr> <td>LocalPort</td> <td> This is the port on which the client will receive callbacks from the remote server. If it is not specified, then some port in the default range used by RMI will be the callback port. </td> <td>N</td> <td>default RMI port range</td> </tr> <tr> <td>RemoveUponRemotePut</td> <td> If you configure the cache to remove upon a remote put, this means that the client will translate updates into removes. The client will remove any local copy it has of the object rather than storing the new version. If you have sticky load balancing across your client servers, then it would make sense to set RemoveUponRemotePut to true if the data is mostly client specific. If the data is re-usable, the you should most likely set this option to false, which is the default. </td> <td>N</td> <td>true</td> </tr> <tr> <td>RmiSocketFactoryTimeoutMillis</td> <td> If this is greater than 0, then a custom socket factory will be installed in the VM. It will then use this timeout for all RMI communication. </td> <td>N</td> <td>5000</td> </tr> <tr> <td>GetOnly</td> <td> GetOnly is somewhat misnamed. If it is set to true, then the client will not send updates or removes to the remote server. It can still receive updates and removes. </td> <td>N</td> <td>false</td> </tr> <tr> <td>Receive</td> <td> By default Receive is set to true. This means that the remote client will receive updates and removes from the remote server. If you set Receive to false, the remote client will not register a listener with the remote server. This means that the client can send update and remove requests to the server, and it can get from the server, but it will never receive notifications from the server. You might configure Receive to false if you just want to use the remote server as a data store. For instance, you may back the Remote Cache Server with the JDBC disk cache and set Receive=false when you have a high put and low read region. </td> <td>N</td> <td>true</td> </tr> <tr> <td>ZombieQueueMaxSize</td> <td> The number of elements the zombie queue will hold. This queue is used to store events if we lose our connection with the server. </td> <td>N</td> <td>1000</td> </tr> </table> </subsection> <subsection name="Example Configuration"> <source> <![CDATA[ # This remote client does not receive jcs.auxiliary.RC=org.apache.commons.jcs3.auxiliary.remote.RemoteCacheFactory jcs.auxiliary.RC.attributes=org.apache.commons.jcs3.auxiliary.remote.RemoteCacheAttributes jcs.auxiliary.RC.attributes.FailoverServers=localhost:1101,localhost:1102 jcs.auxiliary.RC.attributes.LocalPort=1201 jcs.auxiliary.RC.attributes.RemoveUponRemotePut=false jcs.auxiliary.RC.attributes.RmiSocketFactoryTimeoutMillis=5000 jcs.auxiliary.RC.attributes.GetOnly=false jcs.auxiliary.RC.attributes.Receive=false ]]> </source> </subsection> </section> </body> </document>