org.jumpmind.symmetric.transport
Class ConcurrentConnectionManager

java.lang.Object
  extended by org.jumpmind.symmetric.transport.ConcurrentConnectionManager
All Implemented Interfaces:
IConcurrentConnectionManager

public class ConcurrentConnectionManager
extends java.lang.Object
implements IConcurrentConnectionManager


Nested Class Summary
 class ConcurrentConnectionManager.NodeConnectionStatistics
           
 class ConcurrentConnectionManager.Reservation
           
 
Nested classes/interfaces inherited from interface org.jumpmind.symmetric.transport.IConcurrentConnectionManager
IConcurrentConnectionManager.ReservationType
 
Field Summary
protected  java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.Reservation>> activeReservationsByNodeByPool
           
protected  java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.NodeConnectionStatistics>> nodeConnectionStatistics
           
protected  java.util.Set<java.lang.String> whiteList
           
 
Constructor Summary
ConcurrentConnectionManager()
           
 
Method Summary
 void addToWhitelist(java.lang.String nodeId)
           
 java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.Reservation>> getActiveReservationsByNodeByPool()
           
 java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.NodeConnectionStatistics>> getNodeConnectionStatisticsByPoolByNodeId()
           
 int getReservationCount(java.lang.String poolId)
           
 java.lang.String[] getWhiteList()
           
protected  void logConnectedTimePeriod(java.lang.String nodeId, long startMs, long endMs, java.lang.String poolId)
           
protected  void logTooBusyRejection(java.lang.String nodeId, java.lang.String poolId)
           
 boolean releaseConnection(java.lang.String nodeId, java.lang.String poolId)
           
 void removeFromWhiteList(java.lang.String nodeId)
           
 boolean reserveConnection(java.lang.String nodeId, java.lang.String poolId, IConcurrentConnectionManager.ReservationType reservationRequest)
           
 void setParameterService(IParameterService parameterService)
           
 void setStatisticManager(IStatisticManager statisticManager)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

activeReservationsByNodeByPool

protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.Reservation>> activeReservationsByNodeByPool

nodeConnectionStatistics

protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.NodeConnectionStatistics>> nodeConnectionStatistics

whiteList

protected java.util.Set<java.lang.String> whiteList
Constructor Detail

ConcurrentConnectionManager

public ConcurrentConnectionManager()
Method Detail

logTooBusyRejection

protected void logTooBusyRejection(java.lang.String nodeId,
                                   java.lang.String poolId)

logConnectedTimePeriod

protected void logConnectedTimePeriod(java.lang.String nodeId,
                                      long startMs,
                                      long endMs,
                                      java.lang.String poolId)

releaseConnection

public boolean releaseConnection(java.lang.String nodeId,
                                 java.lang.String poolId)
Specified by:
releaseConnection in interface IConcurrentConnectionManager

addToWhitelist

public void addToWhitelist(java.lang.String nodeId)
Specified by:
addToWhitelist in interface IConcurrentConnectionManager

removeFromWhiteList

public void removeFromWhiteList(java.lang.String nodeId)
Specified by:
removeFromWhiteList in interface IConcurrentConnectionManager

getWhiteList

public java.lang.String[] getWhiteList()
Specified by:
getWhiteList in interface IConcurrentConnectionManager

getReservationCount

public int getReservationCount(java.lang.String poolId)
Specified by:
getReservationCount in interface IConcurrentConnectionManager

reserveConnection

public boolean reserveConnection(java.lang.String nodeId,
                                 java.lang.String poolId,
                                 IConcurrentConnectionManager.ReservationType reservationRequest)
Specified by:
reserveConnection in interface IConcurrentConnectionManager
reservationRequest - if true then hold onto reservation for the time it typically takes for a node to reconnect after the initial request. Otherwise, we know that the node has actually connected for activity.
Returns:
true if the connection has been reserved and the node is meant to proceed with its current operation.

setParameterService

public void setParameterService(IParameterService parameterService)

setStatisticManager

public void setStatisticManager(IStatisticManager statisticManager)

getNodeConnectionStatisticsByPoolByNodeId

public java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.NodeConnectionStatistics>> getNodeConnectionStatisticsByPoolByNodeId()
Specified by:
getNodeConnectionStatisticsByPoolByNodeId in interface IConcurrentConnectionManager

getActiveReservationsByNodeByPool

public java.util.Map<java.lang.String,java.util.Map<java.lang.String,ConcurrentConnectionManager.Reservation>> getActiveReservationsByNodeByPool()
Specified by:
getActiveReservationsByNodeByPool in interface IConcurrentConnectionManager


Copyright © 2007-2008. All Rights Reserved.