com.continuent.tungsten.common.config.cluster
Class RouterConfiguration

java.lang.Object
  extended by com.continuent.tungsten.common.config.cluster.ClusterConfiguration
      extended by com.continuent.tungsten.common.config.cluster.RouterConfiguration
All Implemented Interfaces:
java.lang.Cloneable

public class RouterConfiguration
extends ClusterConfiguration
implements java.lang.Cloneable

The SQL-SQLRouter can be configured either by properties stored in a set of properties files, appropriately organized in a directory tree, or by a single XML-based configuration file of the type managed by the Tungsten Manager. In any case, either set of configuration information reduces to a set of properties. Routers manage connections to a and a is composed of a set of which, in turn, have a set of properties of their own. The directory structure is: resourceHome .properties .properties


Field Summary
 
Fields inherited from class com.continuent.tungsten.common.config.cluster.ClusterConfiguration
clusterHomeName, props
 
Constructor Summary
RouterConfiguration(java.lang.String clusterName)
           
 
Method Summary
 java.lang.Object clone()
           
 java.lang.String getC3p0JmxUrl()
           
 java.lang.String getClusterMemberName()
           
 java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> getDataServicesMap()
           
 TungstenProperties getDataSource(java.lang.String clusterName, java.lang.String dsName)
          Returns an existing datasource configuration, if there is one, for the named dataService.
 java.lang.String getDataSourceLoadBalancer_RO_RELAXED()
           
 java.util.Map<java.lang.String,TungstenProperties> getDataSourceMap(java.lang.String clusterName)
          Returns all of the datasource configurations for a given cluster.
 int getDelayBeforeOfflineIfNoManager()
           
 int getDelayBeforeOfflineInMaintenanceModeIfNoManager()
           
 int getGatewayConnectTimeoutMs()
           
 int getGatewayLocalBindStartingPort()
           
 java.lang.String getHost()
           
 int getKeepAliveTimeout()
           
 java.util.List<java.lang.String> getManagerList()
           
 java.lang.String getNotifierMonitorClass()
           
 int getNotifyPort()
           
 int getPort()
           
 long getReadCommandRetryTimeoutMs()
           
 int getRouterClientThreadsPerService()
          Returns the routerClientThreadsPerService value.
 int getRouterGatewayPort()
           
 java.lang.String getServiceName()
           
 boolean getShowRelativeLatency()
           
 int getWaitForDisconnectTimeout()
           
 int getWaitIfDisabledTimeout()
           
 boolean getWaitIfUnavailable()
          Returns the waitIfUnavailable value.
 int getWaitIfUnavailableTimeout()
          Returns the waitIfUnavailableTimeout value.
 boolean isAutoEnable()
           
 boolean isRrIncludeMaster()
           
 boolean isWaitForDisconnect()
           
 boolean isWaitIfDisabled()
           
 RouterConfiguration load()
          Loads a router configuration from disk.
 java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> loadClusterDataSourceMap()
          Loads data cluster configurations from disk.
 void setAutoEnable(boolean autoEnable)
           
 void setC3p0JMXUrl(java.lang.String url)
           
 void setClusterMemberName(java.lang.String clusterMemberName)
           
 void setDataSourceLoadBalancer_RO_RELAXED(java.lang.String dataSourceLoadBalancer_RO_RELAXED)
           
 void setDelayBeforeOfflineIfNoManager(int delayBeforeOfflineIfNoManager)
           
 void setDelayBeforeOfflineInMaintenanceModeIfNoManager(int delayInS)
           
 void setGatewayConnectTimeoutMs(int timeoutMs)
           
 void setGatewayLocalBindStartingPort(int port)
           
 void setHost(java.lang.String host)
           
 void setKeepAliveTimeout(int timeoutInMs)
           
 void setManagerList(java.util.List<java.lang.String> list)
           
 void setNotifierMonitorClass(java.lang.String notifierMonitorClass)
           
 void setNotifyPort(int notifyPort)
           
 void setPort(int port)
           
 void setReadCommandRetryTimeoutMs(long timeout)
           
 void setRouterClientThreadsPerService(int routerClientThreadsPerService)
          Sets the routerClientThreadsPerService value.
 void setRouterGatewayPort(int port)
           
 void setRrIncludeMaster(boolean rrIncludeMaster)
           
 void setServiceName(java.lang.String serviceName)
           
 void setShowRelativeLatency(boolean showRelativeLatency)
           
 void setWaitForDisconnect(boolean waitForDisconnect)
           
 void setWaitForDisconnectTimeout(int waitForDisconnectTimeout)
           
 void setWaitIfDisabled(boolean waitIfDisabled)
           
 void setWaitIfDisabledTimeout(int waitIfDisabledTimeout)
           
 void setWaitIfUnavailable(boolean waitIfUnavailable)
          Sets the waitIfUnavailable value.
 void setWaitIfUnavailableTimeout(int waitIfUnavailableTimeout)
          Sets the waitIfUnavailableTimeout value.
 void storeDataSourceConfig(java.lang.String clusterName, java.util.Map<java.lang.String,TungstenProperties> dataSourceMap)
          Writes out the configuration for all datasources in the map.
 void storeDataSourceConfig(java.lang.String clusterName, TungstenProperties ds)
          Writes out a single datasource configuration
 void validateConfigurationValues()
          Checks critical configuration values and throws and exception if invalid settings are found.
 
Methods inherited from class com.continuent.tungsten.common.config.cluster.ClusterConfiguration
applyProperties, createClusterConfigRootDirs, createConfigDirs, createDataServicesConfiguration, createDefaultConfiguration, createPolicyManagerConfiguration, createRouterConfiguration, delete, deleteResourceConfig, delFile, getClusterConfigDirName, getClusterConfigRootDirName, getClusterHome, getClusterName, getConfigFileNameInUse, getDir, getGlobalConfigDirName, getModulePropertiesFileName, getProps, getResourceConfigDirName, load, loadClusterConfiguration, loadConfiguration, setClusterHome, setClusterName, store, store, storeResourceConfig, storeResourcesConfig
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RouterConfiguration

public RouterConfiguration(java.lang.String clusterName)
                    throws ConfigurationException
Throws:
ConfigurationException
Method Detail

load

public RouterConfiguration load()
                         throws ConfigurationException
Loads a router configuration from disk.

Returns:
a fully initialized router configuration
Throws:
ConfigurationException

loadClusterDataSourceMap

public java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> loadClusterDataSourceMap()
                                                                                                            throws ConfigurationException
Loads data cluster configurations from disk.

Throws:
ConfigurationException

getDataSourceMap

public java.util.Map<java.lang.String,TungstenProperties> getDataSourceMap(java.lang.String clusterName)
Returns all of the datasource configurations for a given cluster.

Parameters:
clusterName -
Returns:
a map of TungstenProperties representing data sources for the cluster

getDataSource

public TungstenProperties getDataSource(java.lang.String clusterName,
                                        java.lang.String dsName)
                                 throws ConfigurationException
Returns an existing datasource configuration, if there is one, for the named dataService.

Parameters:
clusterName -
dsName -
Returns:
a TungstenProperties instances representing a data source
Throws:
ConfigurationException

storeDataSourceConfig

public void storeDataSourceConfig(java.lang.String clusterName,
                                  java.util.Map<java.lang.String,TungstenProperties> dataSourceMap)
                           throws ConfigurationException
Writes out the configuration for all datasources in the map.

Parameters:
clusterName -
dataSourceMap -
Throws:
ConfigurationException

storeDataSourceConfig

public void storeDataSourceConfig(java.lang.String clusterName,
                                  TungstenProperties ds)
                           throws ConfigurationException
Writes out a single datasource configuration

Parameters:
clusterName -
ds -
Throws:
ConfigurationException

isAutoEnable

public boolean isAutoEnable()
Returns:
the autoEnable

setAutoEnable

public void setAutoEnable(boolean autoEnable)
Parameters:
autoEnable - the autoEnable to set

isWaitForDisconnect

public boolean isWaitForDisconnect()
Returns:
the waitForDisconnect

setWaitForDisconnect

public void setWaitForDisconnect(boolean waitForDisconnect)
Parameters:
waitForDisconnect - the waitForDisconnect to set

getWaitForDisconnectTimeout

public int getWaitForDisconnectTimeout()
Returns:
the waitForDisconnectTimeout

setWaitForDisconnectTimeout

public void setWaitForDisconnectTimeout(int waitForDisconnectTimeout)
Parameters:
waitForDisconnectTimeout - the waitForDisconnectTimeout to set

getDataServicesMap

public java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> getDataServicesMap()
                                                                                                      throws ConfigurationException
Returns:
the dataSourceMap
Throws:
ConfigurationException

getWaitIfUnavailable

public boolean getWaitIfUnavailable()
Returns the waitIfUnavailable value.

Returns:
Returns the waitIfUnavailable.

setWaitIfUnavailable

public void setWaitIfUnavailable(boolean waitIfUnavailable)
Sets the waitIfUnavailable value.

Parameters:
waitIfUnavailable - The waitIfUnavailable to set.

getWaitIfUnavailableTimeout

public int getWaitIfUnavailableTimeout()
Returns the waitIfUnavailableTimeout value.

Returns:
Returns the waitIfUnavailableTimeout.

getShowRelativeLatency

public boolean getShowRelativeLatency()

setWaitIfUnavailableTimeout

public void setWaitIfUnavailableTimeout(int waitIfUnavailableTimeout)
Sets the waitIfUnavailableTimeout value.

Parameters:
waitIfUnavailableTimeout - The waitIfUnavailableTimeout to set.

isWaitIfDisabled

public boolean isWaitIfDisabled()

setWaitIfDisabled

public void setWaitIfDisabled(boolean waitIfDisabled)

getWaitIfDisabledTimeout

public int getWaitIfDisabledTimeout()

setWaitIfDisabledTimeout

public void setWaitIfDisabledTimeout(int waitIfDisabledTimeout)

setShowRelativeLatency

public void setShowRelativeLatency(boolean showRelativeLatency)

getServiceName

public java.lang.String getServiceName()

setServiceName

public void setServiceName(java.lang.String serviceName)

getPort

public int getPort()

setPort

public void setPort(int port)

getHost

public java.lang.String getHost()

setHost

public void setHost(java.lang.String host)

getNotifyPort

public int getNotifyPort()

setNotifyPort

public void setNotifyPort(int notifyPort)

getNotifierMonitorClass

public java.lang.String getNotifierMonitorClass()

setNotifierMonitorClass

public void setNotifierMonitorClass(java.lang.String notifierMonitorClass)

getDataSourceLoadBalancer_RO_RELAXED

public java.lang.String getDataSourceLoadBalancer_RO_RELAXED()

setDataSourceLoadBalancer_RO_RELAXED

public void setDataSourceLoadBalancer_RO_RELAXED(java.lang.String dataSourceLoadBalancer_RO_RELAXED)

getClusterMemberName

public java.lang.String getClusterMemberName()

setClusterMemberName

public void setClusterMemberName(java.lang.String clusterMemberName)

isRrIncludeMaster

public boolean isRrIncludeMaster()

setRrIncludeMaster

public void setRrIncludeMaster(boolean rrIncludeMaster)

setManagerList

public void setManagerList(java.util.List<java.lang.String> list)

getManagerList

public java.util.List<java.lang.String> getManagerList()

getRouterGatewayPort

public int getRouterGatewayPort()

setRouterGatewayPort

public void setRouterGatewayPort(int port)

getC3p0JmxUrl

public java.lang.String getC3p0JmxUrl()

setC3p0JMXUrl

public void setC3p0JMXUrl(java.lang.String url)

getDelayBeforeOfflineIfNoManager

public int getDelayBeforeOfflineIfNoManager()

setDelayBeforeOfflineIfNoManager

public void setDelayBeforeOfflineIfNoManager(int delayBeforeOfflineIfNoManager)

getDelayBeforeOfflineInMaintenanceModeIfNoManager

public int getDelayBeforeOfflineInMaintenanceModeIfNoManager()

setDelayBeforeOfflineInMaintenanceModeIfNoManager

public void setDelayBeforeOfflineInMaintenanceModeIfNoManager(int delayInS)

getKeepAliveTimeout

public int getKeepAliveTimeout()

setKeepAliveTimeout

public void setKeepAliveTimeout(int timeoutInMs)

setGatewayConnectTimeoutMs

public void setGatewayConnectTimeoutMs(int timeoutMs)

getGatewayConnectTimeoutMs

public int getGatewayConnectTimeoutMs()

setGatewayLocalBindStartingPort

public void setGatewayLocalBindStartingPort(int port)

getGatewayLocalBindStartingPort

public int getGatewayLocalBindStartingPort()

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

getRouterClientThreadsPerService

public int getRouterClientThreadsPerService()
Returns the routerClientThreadsPerService value.

Returns:
Returns the routerClientThreadsPerService.

setRouterClientThreadsPerService

public void setRouterClientThreadsPerService(int routerClientThreadsPerService)
Sets the routerClientThreadsPerService value.

Parameters:
routerClientThreadsPerService - The routerClientThreadsPerService to set.

validateConfigurationValues

public void validateConfigurationValues()
                                 throws ConfigurationException
Checks critical configuration values and throws and exception if invalid settings are found. TUC-1738.

Throws:
ConfigurationException - upon first invalid configuration value

setReadCommandRetryTimeoutMs

public void setReadCommandRetryTimeoutMs(long timeout)

getReadCommandRetryTimeoutMs

public long getReadCommandRetryTimeoutMs()