com.continuent.tungsten.replicator.management
Class ReplicationServiceManager

java.lang.Object
  extended by com.continuent.tungsten.replicator.management.ReplicationServiceManager
All Implemented Interfaces:
ReplicationServiceManagerMBean

public class ReplicationServiceManager
extends java.lang.Object
implements ReplicationServiceManagerMBean

This class implements the main() method for launching replicator process and starting all services.

Version:
1.0
Author:
Robert Hodges

Field Summary
static java.lang.String CONFIG_FILE_PREFIX
           
static java.lang.String CONFIG_FILE_SUFFIX
           
static java.lang.String CONFIG_SERVICES
           
 
Constructor Summary
ReplicationServiceManager()
          Creates a new ReplicatorManager object
 
Method Summary
 DynamicMBeanHelper createHelper()
          Returns a helper that supplies MBean metadata.
static java.lang.String getHostName(TungstenProperties properties)
          Returns the hostname to be used to bind ports for RMI use.
 int getMaxPort()
          Returns the maxPort value.
 java.util.Map<java.lang.String,java.lang.String> getStatus()
          Returns a map of status properties for all current replicators
 void go(boolean forceOffline)
          Start replicator services.
 boolean isAlive()
          Returns true so that clients can confirm connection liveness.
 void kill()
          Terminates the replicator process immediately.
 boolean loadService(java.lang.String name)
          Starts a service if it is defined.
static void main(java.lang.String[] argv)
          Main method for ReplicatorManager.
 java.util.Map<java.lang.String,java.lang.String> replicatorStatus(java.lang.String name)
          Returns a list of properties that have the status for each of the current services.
 java.util.Map<java.lang.String,java.lang.String> resetService(java.lang.String name)
          Resets a replication service.
 java.util.Map<java.lang.String,java.lang.String> resetService(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> controlParams)
          Resets a replication service.
 java.util.List<java.util.Map<java.lang.String,java.lang.String>> services()
          Returns a list of replicators, started or not.
 void setMaxPort(int maxPort)
          Sets the maximum listen port value for the master.
 java.util.Map<java.lang.String,java.lang.String> status()
          Convenience method that can be visible in manager.
 void stop()
          Stops all services and terminates the replicator process.
 boolean unloadService(java.lang.String name)
          Stops a service if it is started and defined.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIG_SERVICES

public static final java.lang.String CONFIG_SERVICES
See Also:
Constant Field Values

CONFIG_FILE_PREFIX

public static final java.lang.String CONFIG_FILE_PREFIX
See Also:
Constant Field Values

CONFIG_FILE_SUFFIX

public static final java.lang.String CONFIG_FILE_SUFFIX
See Also:
Constant Field Values
Constructor Detail

ReplicationServiceManager

public ReplicationServiceManager()
                          throws java.lang.Exception
Creates a new ReplicatorManager object

Throws:
java.lang.Exception
Method Detail

go

public void go(boolean forceOffline)
        throws ReplicatorException
Start replicator services.

Parameters:
forceOffline - Forces the replicator to start every services offline
Throws:
ReplicatorException

main

public static void main(java.lang.String[] argv)
Main method for ReplicatorManager.

Parameters:
argv -

isAlive

public boolean isAlive()
Returns true so that clients can confirm connection liveness.

Specified by:
isAlive in interface ReplicationServiceManagerMBean

services

public java.util.List<java.util.Map<java.lang.String,java.lang.String>> services()
                                                                          throws java.lang.Exception
Returns a list of replicators, started or not. Lists currently defined replicators and whether they are running or not.

Specified by:
services in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception
See Also:
ReplicationServiceManagerMBean.services()

loadService

public boolean loadService(java.lang.String name)
                    throws java.lang.Exception
Starts a service if it is defined. Starts a replication service.

Specified by:
loadService in interface ReplicationServiceManagerMBean
Parameters:
name - Name of the replicator service
Returns:
True if replicator service exists and was started
Throws:
java.lang.Exception - Thrown if service start-up fails
See Also:
com.continuent.tungsten.replicator.management.ReplicationServiceManagerMBean#startService(java.lang.String)

unloadService

public boolean unloadService(java.lang.String name)
                      throws java.lang.Exception
Stops a service if it is started and defined. Stops a replication service.

Specified by:
unloadService in interface ReplicationServiceManagerMBean
Parameters:
name - Name of the replicator service
Returns:
True if replicator service exists and was stopped
Throws:
java.lang.Exception - Thrown if service stop fails
See Also:
com.continuent.tungsten.replicator.management.ReplicationServiceManagerMBean#stopService(java.lang.String)

resetService

public java.util.Map<java.lang.String,java.lang.String> resetService(java.lang.String name)
                                                              throws java.lang.Exception
Resets a replication service. Resets a replication service.

Specified by:
resetService in interface ReplicationServiceManagerMBean
Parameters:
name - Name of the replicator service
Returns:
Map of strings that indicate actions taken.
Throws:
java.lang.Exception - Thrown if service stop fails
See Also:
ReplicationServiceManagerMBean.resetService(java.lang.String)

resetService

public java.util.Map<java.lang.String,java.lang.String> resetService(java.lang.String name,
                                                                     java.util.Map<java.lang.String,java.lang.String> controlParams)
                                                              throws java.lang.Exception
Resets a replication service. Resets a replication service or some of its components (thl, relay, database).

Specified by:
resetService in interface ReplicationServiceManagerMBean
Parameters:
name - Name of the replicator service
controlParams - 0 or more control parameters expressed as name-value pairs (option={-all|-thl|-relay|-db})
Returns:
Map of strings that indicate actions taken.
Throws:
java.lang.Exception - Thrown if service stop fails
See Also:
ReplicationServiceManagerMBean.resetService(java.lang.String)

stop

public void stop()
          throws java.lang.Exception
Stops all services and terminates the replicator process. Stops all replication services and exits the process cleanly.

Specified by:
stop in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception - Thrown if service stop fails
See Also:
ReplicationServiceManagerMBean.stop()

replicatorStatus

public java.util.Map<java.lang.String,java.lang.String> replicatorStatus(java.lang.String name)
                                                                  throws java.lang.Exception
Returns a list of properties that have the status for each of the current services.

Specified by:
replicatorStatus in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception
See Also:
OpenReplicatorManagerMBean.status()

getStatus

public java.util.Map<java.lang.String,java.lang.String> getStatus()
                                                           throws java.lang.Exception
Returns a map of status properties for all current replicators

Specified by:
getStatus in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception

status

public java.util.Map<java.lang.String,java.lang.String> status()
                                                        throws java.lang.Exception
Convenience method that can be visible in manager.

Specified by:
status in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception

kill

public void kill()
          throws java.lang.Exception
Terminates the replicator process immediately. Only the PID file is cleaned up.

Specified by:
kill in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception

createHelper

public DynamicMBeanHelper createHelper()
                                throws java.lang.Exception
Returns a helper that supplies MBean metadata.

Specified by:
createHelper in interface ReplicationServiceManagerMBean
Throws:
java.lang.Exception
See Also:
OpenReplicatorManager.createHelper()

getHostName

public static java.lang.String getHostName(TungstenProperties properties)
Returns the hostname to be used to bind ports for RMI use.


getMaxPort

public int getMaxPort()
Returns the maxPort value.

Returns:
Returns the maxPort.

setMaxPort

public void setMaxPort(int maxPort)
Sets the maximum listen port value for the master.

Parameters:
maxPort - maximum port allowed