Top Inners Fields Constructors Methods
com.mysql.cj.xdevapi

public Class ClientImpl

extends Object
implements Client, ProtocolEventListener
Class Inheritance
All Implemented Interfaces
com.mysql.cj.protocol.Protocol.ProtocolEventListener, com.mysql.cj.xdevapi.Client, java.lang.AutoCloseable
Imports
java.io.IOException, java.lang.ref.WeakReference, java.util.ArrayList, .List, .Objects, .Properties, .Set, java.util.concurrent.BlockingQueue, .ConcurrentHashMap, .ConcurrentMap, .CopyOnWriteArraySet, .LinkedBlockingQueue, .Semaphore, .TimeUnit, java.util.concurrent.locks.ReadWriteLock, .ReentrantReadWriteLock, java.util.stream.Collectors, .Stream, com.mysql.cj.Messages, com.mysql.cj.conf.BooleanPropertyDefinition, .ConnectionUrl, .DefaultPropertySet, .HostInfo, .IntegerPropertyDefinition, .PropertySet, com.mysql.cj.exceptions.CJCommunicationsException, .CJException, .ExceptionFactory, .WrongArgumentException, com.mysql.cj.protocol.Protocol.ProtocolEventListener, com.mysql.cj.protocol.x.XProtocol, .XProtocolError, com.mysql.cj.util.StringUtils

Nested and Inner Type Summary

Modifier and TypeClass and Description
public class

Field Summary

Modifier and TypeField and Description
private Set<WeakReference<ClientImpl.PooledXProtocol>>
private Semaphore
private ReadWriteLock
private ConnectionUrl
private ConcurrentMap<HostInfo, Long>
private int
private BlockingQueue<ClientImpl.PooledXProtocol>
private boolean
private int
private int
private Set<WeakReference<Session>>
private final ClientImpl.PooledXProtocol
private boolean
private int
private SessionFactory

Constructor Summary

AccessConstructor and Description
public
ClientImpl(String url, String clientPropsJson)

public
ClientImpl(String url, Properties clientProps)

Method Summary

Modifier and TypeMethod and Description
private Properties
clientPropsFromJson(String clientPropsJson)

public void
close()

Implements com.mysql.cj.xdevapi.Client.close.

Close Client.

private Session
private Session
public Session
getSession()

Implements com.mysql.cj.xdevapi.Client.getSession.

Get Session from pool or the new one.

public void
pack-priv void
private void
init(String url, Properties clientProps)

private ClientImpl.PooledXProtocol
private ClientImpl.PooledXProtocol
private void
private void
private ClientImpl.PooledXProtocol
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

activeProtocolsback to summary
private Set<WeakReference<ClientImpl.PooledXProtocol>> activeProtocols
availableProtocolsback to summary
private Semaphore availableProtocols
clientShutdownLockback to summary
private ReadWriteLock clientShutdownLock
connUrlback to summary
private ConnectionUrl connUrl
demotedHostsback to summary
private ConcurrentMap<HostInfo, Long> demotedHosts
demotedTimeoutback to summary
private int demotedTimeout
idleProtocolsback to summary
private BlockingQueue<ClientImpl.PooledXProtocol> idleProtocols
isClosedback to summary
private boolean isClosed
maxIdleTimeback to summary
private int maxIdleTime
maxSizeback to summary
private int maxSize
nonPooledSessionsback to summary
private Set<WeakReference<Session>> nonPooledSessions
poisonProtocolMarkerback to summary
private final ClientImpl.PooledXProtocol poisonProtocolMarker
poolingEnabledback to summary
private boolean poolingEnabled
queueTimeoutback to summary
private int queueTimeout
sessionFactoryback to summary
private SessionFactory sessionFactory

Constructor Detail

ClientImplback to summary
public ClientImpl(String url, String clientPropsJson)
ClientImplback to summary
public ClientImpl(String url, Properties clientProps)

Method Detail

clientPropsFromJsonback to summary
private Properties clientPropsFromJson(String clientPropsJson)
closeback to summary
public void close()

Implements com.mysql.cj.xdevapi.Client.close.

Doc from com.mysql.cj.xdevapi.Client.close.

Close Client. Closes all Sessions it has created, and destroys the managed pool.

Calling the method close on a Client object that is already closed is a no-op.

Annotations
@Override
getNonPooledSessionback to summary
private Session getNonPooledSession()
getPooledSessionback to summary
private Session getPooledSession()
getSessionback to summary
public Session getSession()

Implements com.mysql.cj.xdevapi.Client.getSession.

Doc from com.mysql.cj.xdevapi.Client.getSession.

Get Session from pool or the new one.

Returns:Session

Session

Annotations
@Override
handleEventback to summary
public void handleEvent(Protocol.ProtocolEventListener.EventType type, Object info, Throwable reason)

Implements com.mysql.cj.protocol.Protocol.ProtocolEventListener.handleEvent.

Annotations
@Override
idleProtocolback to summary
pack-priv void idleProtocol(ClientImpl.PooledXProtocol protocol)
initback to summary
private void init(String url, Properties clientProps)
newPooledXProtocolback to summary
private ClientImpl.PooledXProtocol newPooledXProtocol(List<HostInfo> hostsList)
newPooledXProtocolback to summary
private ClientImpl.PooledXProtocol newPooledXProtocol(HostInfo hi)
removeActivePooledXProtocolback to summary
private void removeActivePooledXProtocol(ClientImpl.PooledXProtocol protocol)
validateAndInitializeClientPropsback to summary
private void validateAndInitializeClientProps(Properties clientProps)
validateAndResetPooledXProtocolback to summary
private ClientImpl.PooledXProtocol validateAndResetPooledXProtocol(ClientImpl.PooledXProtocol protocol, List<HostInfo> hostsList)
com.mysql.cj.xdevapi back to summary

public Class ClientImpl.PooledXProtocol

extends XProtocol
Class Inheritance

Field Summary

Modifier and TypeField and Description
private HostInfo
private long
private int
Inherited from com.mysql.cj.protocol.x.XProtocol:
defaultSchemaName

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv
PooledXProtocol(HostInfo hostInfo, PropertySet propertySet, int maxIdleTime)

Method Summary

Modifier and TypeMethod and Description
public void
pack-priv HostInfo
pack-priv boolean
pack-priv boolean
pack-priv void
Inherited from com.mysql.cj.protocol.x.XProtocol:
afterHandshakebeforeHandshakechangeDatabasechangeUsercheckErrorMessageconfigureTimeZoneconnectdrainRowsfailedPreparingStatementfreePreparedStatementIdgetExceptionInterceptorgetLocalInfileInputStreamgetNewPreparedStatementIdgetServerSessiongetValueEncoderSupplierhasMoreResultshasResultsinitinitServerSessionisOpenisSqlResultPendingnegotiateCompressionnegotiateSSLConnectionnewCommandqueryqueryAsyncreadreadreadAuthenticateContinuereadAuthenticateOkreadMessagereadMetadatareadMetadatareadMetadatareadQueryResultreadRowOrNullreadServerCapabilitiesreadyForPreparingStatementsresetsendsendCapabilitiessendCommandsetLocalInfileInputStreamsetMaxAllowedPacketsupportsPreparedStatementsversionMeetsMinimum

Field Detail

hostInfoback to summary
private HostInfo hostInfo
idleSinceback to summary
private long idleSince
maxIdleTimeback to summary
private int maxIdleTime

Constructor Detail

PooledXProtocolback to summary
pack-priv PooledXProtocol()
PooledXProtocolback to summary
pack-priv PooledXProtocol(HostInfo hostInfo, PropertySet propertySet, int maxIdleTime)

Method Detail

closeback to summary
public void close()

Overrides com.mysql.cj.protocol.x.XProtocol.close.

Implements com.mysql.cj.protocol.Protocol.close.

Annotations
@Override
getHostInfoback to summary
pack-priv HostInfo getHostInfo()
isHostInfoValidback to summary
pack-priv boolean isHostInfoValid(List<HostInfo> hostsList)
isIdleTimeoutReachedback to summary
pack-priv boolean isIdleTimeoutReached()
realCloseback to summary
pack-priv void realClose()