public interface Session
Session
exposes logical level which user API uses internally to call Protocol
methods.
It's a higher-level abstraction than MySQL server session (ServerSession
). Protocol
and ServerSession
methods
should never be used directly from user API.Modifier and Type | Interface and Description |
---|---|
static interface |
Session.SessionEventListener |
Modifier and Type | Method and Description |
---|---|
void |
addListener(Session.SessionEventListener l)
Add listener for this session status changes.
|
void |
changeUser(java.lang.String userName,
java.lang.String password,
java.lang.String database)
Re-authenticates as the given user and password
|
void |
forceClose()
Clobbers the physical network connection and marks this session as closed.
|
DataStoreMetadata |
getDataStoreMetadata() |
ExceptionInterceptor |
getExceptionInterceptor() |
HostInfo |
getHostInfo() |
java.lang.String |
getIdentifierQuoteString() |
Log |
getLog()
Returns the log mechanism that should be used to log information from/for this Session.
|
<M extends Message> |
getMessageBuilder() |
java.lang.String |
getProcessHost() |
ProfilerEventHandler |
getProfilerEventHandler()
Returns the current ProfilerEventHandler or initializes a new one if none exists.
|
PropertySet |
getPropertySet() |
java.lang.String |
getQueryTimingUnits() |
java.net.SocketAddress |
getRemoteSocketAddress() |
ServerSession |
getServerSession() |
long |
getThreadId() |
boolean |
isClosed() |
boolean |
isSetNeededForAutoCommitMode(boolean autoCommitFlag) |
boolean |
isSSLEstablished() |
default <M extends Message,R,RES> |
query(M message,
java.util.function.Predicate<Row> rowFilter,
java.util.function.Function<Row,R> rowMapper,
java.util.stream.Collector<R,?,RES> collector)
Synchronously query database with applying rows filtering and mapping.
|
default <M extends Message,R extends QueryResult> |
query(M message,
ResultBuilder<R> resultBuilder)
Synchronously query database.
|
default <M extends Message,R extends QueryResult> |
queryAsync(M message,
ResultBuilder<R> resultBuilder)
Asynchronously query database.
|
void |
quit()
Log-off of the MySQL server and close the socket.
|
void |
removeListener(Session.SessionEventListener l)
Remove session listener.
|
void |
setExceptionInterceptor(ExceptionInterceptor exceptionInterceptor) |
boolean |
versionMeetsMinimum(int major,
int minor,
int subminor)
Does the version of the MySQL server we are connected to meet the given
minimums?
|
PropertySet getPropertySet()
<M extends Message> MessageBuilder<M> getMessageBuilder()
void changeUser(java.lang.String userName, java.lang.String password, java.lang.String database)
userName
- DB user namepassword
- DB user passworddatabase
- database nameExceptionInterceptor getExceptionInterceptor()
void setExceptionInterceptor(ExceptionInterceptor exceptionInterceptor)
void quit()
void forceClose()
boolean versionMeetsMinimum(int major, int minor, int subminor)
major
- major version numberminor
- minor version numbersubminor
- sub-minor version numberlong getThreadId()
boolean isSetNeededForAutoCommitMode(boolean autoCommitFlag)
Log getLog()
ProfilerEventHandler getProfilerEventHandler()
ProfilerEventHandler
object.HostInfo getHostInfo()
java.lang.String getQueryTimingUnits()
ServerSession getServerSession()
boolean isSSLEstablished()
java.net.SocketAddress getRemoteSocketAddress()
java.lang.String getProcessHost()
void addListener(Session.SessionEventListener l)
l
- Session.SessionEventListener
instance.void removeListener(Session.SessionEventListener l)
l
- Session.SessionEventListener
instance.boolean isClosed()
java.lang.String getIdentifierQuoteString()
DataStoreMetadata getDataStoreMetadata()
default <M extends Message,R,RES> RES query(M message, java.util.function.Predicate<Row> rowFilter, java.util.function.Function<Row,R> rowMapper, java.util.stream.Collector<R,?,RES> collector)
M
- Message typeR
- Row typeRES
- Result typemessage
- query messagerowFilter
- row filter functionrowMapper
- row map functioncollector
- result collectordefault <M extends Message,R extends QueryResult> R query(M message, ResultBuilder<R> resultBuilder)
M
- Message typeR
- Result typemessage
- query messageresultBuilder
- ResultBuilder instanceQueryResult
objectdefault <M extends Message,R extends QueryResult> java.util.concurrent.CompletableFuture<R> queryAsync(M message, ResultBuilder<R> resultBuilder)
M
- Message typeR
- Result typemessage
- query messageresultBuilder
- ResultBuilder instanceQueryResult
object