org.apache.slide.cluster
Class ClusterCacheRefresher
java.lang.Object
org.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
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG_CHANNEL
protected static final java.lang.String LOG_CHANNEL
listener
protected org.apache.webdav.lib.NotificationListener listener
ClusterCacheRefresher
public ClusterCacheRefresher()
configure
public void configure(Configuration configuration)
throws ConfigurationException
- Specified by:
configure
in interface Configurable
- Throws:
ConfigurationException