public class ProxyConnection extends Object implements ProxyConnectionIF
MARK_FOR_EXPIRY, MARK_FOR_USE, STATUS_ACTIVE, STATUS_AVAILABLE, STATUS_NULL, STATUS_OFFLINE| 限定符 | 构造器和说明 |
|---|---|
protected |
ProxyConnection(Connection connection,
long id,
String delegateUrl,
org.logicalcobwebs.proxool.ConnectionPool connectionPool,
ConnectionPoolDefinitionIF definition,
int status) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addOpenStatement(Statement statement)
By calling this we can keep track of any statements that are
left open when this connection is returned to the pool.
|
void |
addSqlCall(String sqlCall) |
void |
close()
Doesn't really close the connection, just puts it back in the pool.
|
int |
compareTo(Object o)
Compares using
getId() |
boolean |
equals(Object obj)
Whether the underlying connections are equal
|
long |
getAge()
The age in millseconds since this connection was built
|
Date |
getBirthDate()
Like
ConnectionInfoIF.getBirthTime() but in Date format |
long |
getBirthTime()
The time that this connection was created.
|
Connection |
getConnection()
The real, delegate connection that we are using
|
protected org.logicalcobwebs.proxool.ConnectionPool |
getConnectionPool()
The ConnectionPool that this connection belongs to
|
ConnectionPoolDefinitionIF |
getDefinition()
Get the definition that was used to create this connection
|
String |
getDelegateHashcode()
The hashcode (in hex) of the delegate connection object.
|
String |
getDelegateUrl()
The URL that this connection is using (the definition
might have changed since this connection was built).
|
long |
getId()
A unique ID for this connection
|
String |
getLastSqlCall()
Get the most recent of all the
ConnectionInfoIF.getSqlCalls() |
int |
getMark()
Sometimes we want do something to a connection but can't because it is still
active and we don't want to disrupt its use.
|
String |
getProxyHashcode()
The hashcode (in hex) of the ProxyConnection object.
|
int |
getReasonCode()
Get the reason why this connection is
marked |
String |
getReasonForMark()
Why this connection is marked (for instance, if a thread has
marked it for expiry then it's nice to know why)
|
String |
getRequester()
The name of the thread that asked for this connection.
|
String[] |
getSqlCalls()
A log of the last SQL used on this connection.
|
int |
getStatus()
The status of the connection.
|
long |
getTimeLastStartActive()
When this connection was last given out.
|
long |
getTimeLastStopActive()
When this connection was last given back (or zero if it is still active).
|
boolean |
isActive() |
boolean |
isAvailable() |
boolean |
isClosed()
Whether this connection is available.
|
boolean |
isMarkedForExpiry()
Whether this connection is due for expiry
|
boolean |
isNull() |
boolean |
isOffline() |
boolean |
isReallyClosed()
Find out if the delegated connection is close.
|
void |
markForExpiry(String reason)
Mark this connection for expiry (destruction) as soon as it stops
being active.
|
protected void |
open()
This gets called /just/ before a connection is served.
|
void |
reallyClose()
Close the connection for real
|
void |
registerClosedStatement(Statement statement)
Notify that a statement has been closed and won't need closing
when the connection is returned to the poo.
|
void |
setBirthTime(long birthTime) |
void |
setId(long id) |
protected void |
setNeedToReset(boolean needToReset)
The subclass should call this to indicate that a change has been made to
the connection that might mean it needs to be reset (like setting autoCommit
to false or something).
|
void |
setRequester(String requester) |
boolean |
setStatus(int newStatus)
Forces the new status regardless of the old state
|
boolean |
setStatus(int oldStatus,
int newStatus)
Changes the status and lets the ConnectionPool know so that it
can keep count of how many connections are at each status.
|
void |
setTimeLastStartActive(long timeLastStartActive) |
void |
setTimeLastStopActive(long timeLastStopActive) |
String |
toString() |
protected ProxyConnection(Connection connection, long id, String delegateUrl, org.logicalcobwebs.proxool.ConnectionPool connectionPool, ConnectionPoolDefinitionIF definition, int status) throws SQLException
connection - the real connection that is usedid - unique IDdelegateUrl - connectionPool - the pool it is a member ofdefinition - the definition that was used to build it (could possibly be different from
the one held in the connectionPool)status - ConnectionInfoIF.STATUS_ACTIVE, ConnectionInfoIF.STATUS_AVAILABLE, STATUS_FORCE, ConnectionInfoIF.STATUS_NULL, or ConnectionInfoIF.STATUS_OFFLINESQLExceptionpublic boolean equals(Object obj)
public boolean isClosed()
protected void setNeedToReset(boolean needToReset)
needToReset - true if the connection might need resetting.protected org.logicalcobwebs.proxool.ConnectionPool getConnectionPool()
public ConnectionPoolDefinitionIF getDefinition()
getDefinition 在接口中 ProxyConnectionIFprotected void addOpenStatement(Statement statement)
statement - the statement that we have just opened/created.registerClosedStatement(java.sql.Statement)public void registerClosedStatement(Statement statement)
ProxyConnectionIFregisterClosedStatement 在接口中 ProxyConnectionIFstatement - the statement that has just been closedProxyConnectionIF.registerClosedStatement(java.sql.Statement)public void reallyClose()
throws SQLException
reallyClose 在接口中 ProxyConnectionIFSQLException - if anything goes wrongpublic boolean isReallyClosed()
throws SQLException
ProxyConnectionIFisReallyClosed 在接口中 ProxyConnectionIFSQLException - if anything went wrongProxyConnectionIF.isReallyClosed()public void close()
throws SQLException
ProxyConnectionIFclose 在接口中 ProxyConnectionIFSQLExceptionProxyConnectionIF.close()protected void open()
public int getMark()
ConnectionInfoIFexpire the
connection (if it is too old for instance). And this will happen if the
housekeeper decides it should but the connection is still active.getMark 在接口中 ConnectionInfoIFpublic int getStatus()
ConnectionInfoIFgetStatus 在接口中 ConnectionInfoIFpublic boolean setStatus(int newStatus)
ProxyConnectionIFsetStatus 在接口中 ProxyConnectionIFnewStatus - the status to change toProxyConnectionIF.setStatus(int)public boolean setStatus(int oldStatus,
int newStatus)
ProxyConnectionIFsetStatus 在接口中 ProxyConnectionIFoldStatus - the expected existing status. if the existing
status is not this value then no change is made and false is returned.newStatus - the status to change toProxyConnectionIF.setStatus(int, int)public long getId()
ConnectionInfoIFgetId 在接口中 ConnectionInfoIFpublic void setId(long id)
public long getBirthTime()
ConnectionInfoIFgetBirthTime 在接口中 ConnectionInfoIFConnectionInfoIF.getBirthTime()public Date getBirthDate()
ConnectionInfoIFConnectionInfoIF.getBirthTime() but in Date formatgetBirthDate 在接口中 ConnectionInfoIFConnectionInfoIF.getBirthDate()public long getAge()
ConnectionInfoIFgetAge 在接口中 ConnectionInfoIFConnectionInfoIF.getAge()public void setBirthTime(long birthTime)
public long getTimeLastStartActive()
ConnectionInfoIFpublic void setTimeLastStartActive(long timeLastStartActive)
public long getTimeLastStopActive()
ConnectionInfoIFpublic void setTimeLastStopActive(long timeLastStopActive)
public String getRequester()
ConnectionInfoIFgetRequester 在接口中 ConnectionInfoIFConnectionInfoIF.getRequester()public void setRequester(String requester)
setRequester 在接口中 ProxyConnectionIFConnectionInfoIF.getRequester()public boolean isNull()
isNull 在接口中 ProxyConnectionIFProxyConnectionIF.isNull()public boolean isAvailable()
isAvailable 在接口中 ProxyConnectionIFProxyConnectionIF.isAvailable()public boolean isActive()
isActive 在接口中 ProxyConnectionIFProxyConnectionIF.isActive()public boolean isOffline()
isOffline 在接口中 ProxyConnectionIFProxyConnectionIF.isOffline()public void markForExpiry(String reason)
ProxyConnectionIFmarkForExpiry 在接口中 ProxyConnectionIFreason - why we are marking this connectionProxyConnectionIF.markForExpiry(java.lang.String)public boolean isMarkedForExpiry()
ProxyConnectionIFisMarkedForExpiry 在接口中 ProxyConnectionIFProxyConnectionIF.isMarkedForExpiry()public String getReasonForMark()
ProxyConnectionIFgetReasonForMark 在接口中 ProxyConnectionIFProxyConnectionIF.getReasonForMark()public Connection getConnection()
ProxyConnectionIFgetConnection 在接口中 ProxyConnectionIFProxyConnectionIF.getConnection()public String toString()
toString 在类中 ObjectObject.toString()public String getDelegateUrl()
ConnectionInfoIFgetDelegateUrl 在接口中 ConnectionInfoIFConnectionInfoIF.getDelegateUrl()public String getProxyHashcode()
ConnectionInfoIFgetProxyHashcode 在接口中 ConnectionInfoIFConnectionInfoIF.getProxyHashcode()public String getDelegateHashcode()
ConnectionInfoIFgetDelegateHashcode 在接口中 ConnectionInfoIFConnectionInfoIF.getDelegateHashcode()public int compareTo(Object o)
getId()compareTo 在接口中 Comparableo - must be another ConnectionInfoIF implementationComparable.compareTo(Object)public String[] getSqlCalls()
ConnectionInfoIFConnectionPoolDefinitionIF.isTrace()
is enabled.getSqlCalls 在接口中 ConnectionInfoIFpublic String getLastSqlCall()
ProxyConnectionIFConnectionInfoIF.getSqlCalls()getLastSqlCall 在接口中 ProxyConnectionIFpublic int getReasonCode()
ProxyConnectionIFmarkedgetReasonCode 在接口中 ProxyConnectionIFConnectionListenerIF.MAXIMUM_ACTIVE_TIME_EXPIRED,
ConnectionListenerIF.HOUSE_KEEPER_TEST_FAIL,
ConnectionListenerIF.FATAL_SQL_EXCEPTION_DETECTED,
ConnectionListenerIF.MANUAL_EXPIRY,
ConnectionListenerIF.MAXIMUM_CONNECTION_LIFETIME_EXCEEDED,
ConnectionListenerIF.RESET_FAIL,
ConnectionListenerIF.SHUTDOWN, or
ConnectionListenerIF.VALIDATION_FAILpublic void addSqlCall(String sqlCall)
Copyright © 2024. All rights reserved.