org.apache.slide.cluster
Class ClusterCacheRefresher

java.lang.Object
  extended byorg.apache.slide.cluster.ClusterCacheRefresher
All Implemented Interfaces:
Configurable, java.util.EventListener

public class ClusterCacheRefresher
extends java.lang.Object
implements java.util.EventListener, Configurable

Description

When configured properly this class will register with one or more external Slide instances and listen for changes. Upon notification of a change this class will cause the cache of the local Slide instance to be refreshed for the changed object.

Usage

Add the following to your Domain.xml inside the <events> node.

 
  
  	<listener classname="org.apache.slide.cluster.ClusterCacheRefresher">
  		<configuration>
  			<node local-host="local.host.domain"
  			      local-port="4444"
  				  repository-host="remote.host.domain"
  				  repository-port="8080"
  				  repository-protocol="http"
  				  username="root"
  				  password="root"
  			/>
  		</configuration>
  	</listener>
    
  
 

There should be one <node> element for each node in the cluster, except for the current node. ClusterCacheRefresher should not be configured to listen to itself except for testing purposes.

<node> attributes

Attribute Name Required? Default Value Description
local-host yes none A network-accessible name or ip-address where the remote Slide instance can reach this server.
local-port yes none A port number ClusterCacheRefresher can use to listen for notifications. Must be unique.
repository-host yes none A network-accessible name or ip-address of the remote Slide instance to monitor.
repository-port yes none The port the remote Slide instance is running on.
repository-protocol no http The protocol the remote Slide instance is using. Must be one of "http" or "https".
username no none The username to use to connect to the remote Slide instance.
password no none The password that goes with the username.
repository-domain no /slide The context path of the remote Slide instance.
poll-interval no 60000 The number of milliseconds to wait between polling the remote Slide instance for any changes. Polling for changes is a backup only, so this value can be set fairly high.
udp no true Must be "true" or "false". Indicates whether to use udp or tcp to listen for notifications.
base-uri no / The base path to monitor for changes. Will be appended to the repository-domain.
subscription-lifetime no 3600 The number of seconds a subscription should last. Subscriptions are automatically refreshed. Do not set this value too high.
notification-delay no 0 Number of seconds the remote Slide instance should wait before sending a notification of a change.


Field Summary
protected  org.apache.webdav.lib.NotificationListener listener
           
protected static java.lang.String LOG_CHANNEL
           
 
Constructor Summary
ClusterCacheRefresher()
           
 
Method Summary
 void configure(Configuration configuration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG_CHANNEL

protected static final java.lang.String LOG_CHANNEL

listener

protected org.apache.webdav.lib.NotificationListener listener
Constructor Detail

ClusterCacheRefresher

public ClusterCacheRefresher()
Method Detail

configure

public void configure(Configuration configuration)
               throws ConfigurationException
Specified by:
configure in interface Configurable
Throws:
ConfigurationException