oracle.ucp.common.Failoverable, RACManagerpublic class RACManagerImpl extends Object implements RACManager, oracle.ucp.common.Failoverable
| Modifier and Type | Class | Description |
|---|---|---|
static interface |
RACManagerImpl.RACCallbackExtended |
| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
calledStartONS |
|
protected oracle.ons.ONS |
currentONS |
|
protected ConnectionAffinityCallback |
m_connectionAffinityCallback |
|
protected AtomicLong |
m_failedAffinityBasedBorrowCount |
|
protected AtomicLong |
m_failedRCLBBasedBorrowCount |
|
protected AtomicReference<String> |
m_fcfProcessingInfo |
|
protected AtomicReference<String> |
m_fcfProcessingInfoProcessedOnly |
|
protected AtomicLong |
m_successfulAffinityBasedBorrowCount |
|
protected AtomicLong |
m_successfulRCLBBasedBorrowCount |
|
oracle.ucp.jdbc.oracle.rlb.MetricsAccumulator |
rlbMetricsAccumulator |
public final oracle.ucp.jdbc.oracle.rlb.MetricsAccumulator rlbMetricsAccumulator
protected final AtomicReference<String> m_fcfProcessingInfo
protected final AtomicReference<String> m_fcfProcessingInfoProcessedOnly
protected ConnectionAffinityCallback m_connectionAffinityCallback
protected final AtomicLong m_successfulAffinityBasedBorrowCount
protected final AtomicLong m_failedAffinityBasedBorrowCount
protected final AtomicLong m_successfulRCLBBasedBorrowCount
protected final AtomicLong m_failedRCLBBasedBorrowCount
protected oracle.ons.ONS currentONS
protected boolean calledStartONS
public void handleFailoverEvent(oracle.ucp.common.FailoverEvent event)
throws UniversalConnectionPoolException
oracle.ucp.common.FailoverablehandleFailoverEvent in interface oracle.ucp.common.Failoverableevent - The failover event.UniversalConnectionPoolExceptionpublic int processUpEvent(FailoverablePooledConnection[] aconns, FailoverablePooledConnection[] bconns, int initialPoolSize, int maxPoolSize, OracleFailoverEvent failoverEvent) throws UniversalConnectionPoolException
processUpEvent in interface RACManagerUniversalConnectionPoolExceptionpublic void start()
throws UniversalConnectionPoolException
start in interface RACManagerUniversalConnectionPoolExceptionpublic void stop()
throws UniversalConnectionPoolException
stop in interface RACManagerUniversalConnectionPoolExceptionprotected void setFailoverEventHandlerTask(oracle.ucp.jdbc.oracle.ONSDatabaseEventHandlerTask failoverEventHandlerTask)
public void setFailoverInfo(Object info) throws UniversalConnectionPoolException
oracle.ucp.common.FailoverablesetFailoverInfo in interface oracle.ucp.common.Failoverableinfo - Failover information object.UniversalConnectionPoolException - if error occurs when setting the
failover information object.public Object getFailoverInfo()
oracle.ucp.common.FailoverablegetFailoverInfo in interface oracle.ucp.common.Failoverablepublic String getONSConfiguration()
getONSConfiguration in interface RACManagerpublic void setONSConfiguration(String onsConfigStr) throws UniversalConnectionPoolException
setONSConfiguration in interface RACManagerUniversalConnectionPoolExceptionpublic void markDownConnectionsForDownEvent(FailoverablePooledConnection[] aconns, FailoverablePooledConnection[] bconns, OracleFailoverEvent failoverEvent)
markDownConnectionsForDownEvent in interface RACManagerpublic void cleanupConnectionsForDownEvent(FailoverablePooledConnection[] aconns, FailoverablePooledConnection[] bconns, OracleFailoverEvent failoverEvent)
cleanupConnectionsForDownEvent in interface RACManagerpublic void registerRACCallback(RACCallback cbk)
registerRACCallback in interface RACManagerpublic void unregisterRACCallback(RACCallback cbk)
unregisterRACCallback in interface RACManagerpublic RACCallbackGuard getRACCallback()
public void connectionOpened(FailoverablePooledConnection fpc) throws UniversalConnectionPoolException
connectionOpened in interface RACManagerUniversalConnectionPoolExceptionpublic void connectionClosed(FailoverablePooledConnection fpc) throws UniversalConnectionPoolException
connectionClosed in interface RACManagerUniversalConnectionPoolExceptionpublic String getFCFProcessingInfoProcessedOnly()
getFCFProcessingInfoProcessedOnly in interface RACManagerpublic String getFCFProcessingInfo()
getFCFProcessingInfo in interface RACManagerpublic boolean isRuntimeLoadBalancingEnabled()
isRuntimeLoadBalancingEnabled in interface RACManagerpublic void setRuntimeLoadBalancingEnabled(boolean RLBEnabled)
throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionprotected void initRuntimeLoadBalancing(String serviceName) throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionprotected void terminateRuntimeLoadBalancing()
throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionprotected void setRuntimeLoadBalancingEventHandlerTask(oracle.ucp.jdbc.oracle.ONSRuntimeLBEventHandlerTask rlbEventHandlerTask)
protected void processDatabaseInstances()
protected void gravitatePool()
public FailoverablePooledConnection selectConnectionPerRCLBAndAffinity(ConnectionRetrievalInfo cri) throws UniversalConnectionPoolException
selectConnectionPerRCLBAndAffinity in interface RACManagerUniversalConnectionPoolExceptionprotected FailoverablePooledConnection selectConnectionPerDataBasedAffinity(ConnectionRetrievalInfo cri) throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionpublic FailoverablePooledConnection selectConnectionPerRCLB(ConnectionRetrievalInfo cri) throws UniversalConnectionPoolException
selectConnectionPerRCLB in interface RACManagerUniversalConnectionPoolExceptionprotected void cleanupRLBTasks()
public long getSuccessfulAffinityBasedBorrowCount()
getSuccessfulAffinityBasedBorrowCount in interface RACManagerpublic long getFailedAffinityBasedBorrowCount()
getFailedAffinityBasedBorrowCount in interface RACManagerpublic long getSuccessfulRCLBBasedBorrowCount()
getSuccessfulRCLBBasedBorrowCount in interface RACManagerpublic long getFailedRCLBBasedBorrowCount()
getFailedRCLBBasedBorrowCount in interface RACManagerpublic void incrementSuccessfulAffinityBasedBorrowCount()
protected void incrementFailedAffinityBasedBorrowCount()
public void incrementSuccessfulRCLBBasedBorrowCount()
public void incrementFailedRCLBBasedBorrowCount()
public int getDatabaseVersion()
public void registerConnectionAffinityCallback(ConnectionAffinityCallback cbk) throws UniversalConnectionPoolException
registerConnectionAffinityCallback in interface RACManagerUniversalConnectionPoolExceptionpublic void unregisterConnectionAffinityCallback(ConnectionAffinityCallback cbk) throws UniversalConnectionPoolException
unregisterConnectionAffinityCallback in interface RACManagerUniversalConnectionPoolExceptionpublic ConnectionAffinityCallback getConnectionAffinityCallback()
public boolean getConnectionAffinityValue(String instanceKey)
public String generateDatabaseInstanceKey(String instanceName, String dbName, String serviceName)
public RACInstance getMostDesirableInstanceToGrow()
getMostDesirableInstanceToGrow in interface RACManagerpublic RACAffinityContext createRACAffinityContext(String service, String dbUniqName, String instance, String version, RACAffinityContext.AffinityType affinityType)
createRACAffinityContext in interface RACManagerprotected void getAutoONSConfigurationFromServer()
throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionprotected oracle.ons.ONS getONS()
throws UniversalConnectionPoolException
UniversalConnectionPoolExceptionpublic oracle.ucp.routing.oracle.ShardManager createShardManager()
throws UniversalConnectionPoolException
createShardManager in interface RACManagerUniversalConnectionPoolException - if there is an error during creation.
Copyright © 2008, 2017, Oracle. All rights reserved.