public class ClusterService extends AbstractService implements IClusterService
IClusterServicelog, parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix| Constructor and Description |
|---|
ClusterService(IParameterService parameterService,
ISymmetricDialect dialect,
INodeService nodeService,
IExtensionService extensionService) |
| Modifier and Type | Method and Description |
|---|---|
void |
aquireInfiniteLock(java.lang.String action) |
protected void |
checkSymDbOwnership() |
void |
clearAllLocks() |
void |
clearInfiniteLock(java.lang.String action) |
java.util.Map<java.lang.String,Lock> |
findLocks() |
protected java.lang.String |
generateInstanceId(java.lang.String hostName)
The instance id is similar in intent to the serverId, but it is generated by the system on
initial startup, and semi-permanently cached as a file on the local file system.
|
java.lang.String |
getInstanceId() |
java.lang.String |
getServerId()
Get a unique identifier that represents the JVM instance this server is
currently running in.
|
void |
init() |
protected void |
initCache() |
protected void |
initInstanceId() |
protected void |
initLockTable(java.lang.String action) |
protected void |
initLockTable(java.lang.String action,
java.lang.String lockType) |
protected void |
insertLock(Lock lock) |
boolean |
isClusteringEnabled() |
boolean |
isInfiniteLocked(java.lang.String action) |
protected boolean |
isLockRefreshNeeded(java.lang.String action) |
boolean |
lock(java.lang.String action) |
boolean |
lock(java.lang.String action,
java.lang.String lockType) |
boolean |
lock(java.lang.String action,
java.lang.String lockType,
long waitMillis) |
protected boolean |
lockCluster(java.lang.String action,
java.util.Date timeToBreakLock,
java.util.Date timeLockAcquired,
java.lang.String argServerId) |
protected boolean |
lockExclusive(java.lang.String action) |
protected boolean |
lockShared(java.lang.String action) |
protected boolean |
lockWait(java.lang.String action,
java.lang.String lockType,
long waitMillis) |
void |
persistToTableForSnapshot() |
boolean |
refreshLock(java.lang.String action) |
void |
refreshLockEntries() |
void |
unlock(java.lang.String action) |
void |
unlock(java.lang.String action,
java.lang.String lockType) |
protected boolean |
unlockCluster(java.lang.String action,
java.lang.String argServerId) |
protected boolean |
unlockExclusive(java.lang.String action) |
protected boolean |
unlockShared(java.lang.String action) |
protected void |
updateCacheLockTime(java.lang.String action,
java.util.Date timeLockAcquired) |
assertNotNull, buildBatchWhere, close, createSqlReplacementTokens, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIdspublic ClusterService(IParameterService parameterService, ISymmetricDialect dialect, INodeService nodeService, IExtensionService extensionService)
public void init()
init in interface IClusterServicepublic void refreshLockEntries()
refreshLockEntries in interface IClusterServiceprotected void initInstanceId()
protected void checkSymDbOwnership()
public java.lang.String getInstanceId()
getInstanceId in interface IClusterServicepublic void persistToTableForSnapshot()
persistToTableForSnapshot in interface IClusterServiceprotected void insertLock(Lock lock)
protected void initLockTable(java.lang.String action)
protected void initLockTable(java.lang.String action,
java.lang.String lockType)
protected void initCache()
public void clearAllLocks()
clearAllLocks in interface IClusterServicepublic boolean lock(java.lang.String action,
java.lang.String lockType)
lock in interface IClusterServicepublic boolean lock(java.lang.String action,
java.lang.String lockType,
long waitMillis)
lock in interface IClusterServicepublic boolean lock(java.lang.String action)
lock in interface IClusterServiceprotected boolean lockCluster(java.lang.String action,
java.util.Date timeToBreakLock,
java.util.Date timeLockAcquired,
java.lang.String argServerId)
protected void updateCacheLockTime(java.lang.String action,
java.util.Date timeLockAcquired)
protected boolean lockShared(java.lang.String action)
protected boolean lockExclusive(java.lang.String action)
protected boolean lockWait(java.lang.String action,
java.lang.String lockType,
long waitMillis)
public java.util.Map<java.lang.String,Lock> findLocks()
findLocks in interface IClusterServiceprotected java.lang.String generateInstanceId(java.lang.String hostName)
public java.lang.String getServerId()
getServerId in interface IClusterServicepublic void unlock(java.lang.String action,
java.lang.String lockType)
unlock in interface IClusterServicepublic void unlock(java.lang.String action)
unlock in interface IClusterServiceprotected boolean unlockCluster(java.lang.String action,
java.lang.String argServerId)
protected boolean unlockShared(java.lang.String action)
protected boolean unlockExclusive(java.lang.String action)
public boolean isClusteringEnabled()
isClusteringEnabled in interface IClusterServicepublic boolean isInfiniteLocked(java.lang.String action)
isInfiniteLocked in interface IClusterServicepublic void aquireInfiniteLock(java.lang.String action)
aquireInfiniteLock in interface IClusterServicepublic void clearInfiniteLock(java.lang.String action)
clearInfiniteLock in interface IClusterServicepublic boolean refreshLock(java.lang.String action)
refreshLock in interface IClusterServiceprotected boolean isLockRefreshNeeded(java.lang.String action)