public class ConnectionTracker extends MethodCallAdapter
| Modifier and Type | Field and Description |
|---|---|
protected Func4<String,Object,Object,Method,Object[]> |
collectName |
protected Boolean |
isClosed |
protected boolean |
shared |
protected boolean |
trackClose |
protected boolean |
trackStatements |
protected WeakReference<Connection> |
wconn |
protected WeakReference<ConnectPool> |
wcpool |
rewriteArguments| Constructor and Description |
|---|
ConnectionTracker(ConnectPool cpool,
Connection conn) |
| Modifier and Type | Method and Description |
|---|---|
void |
beginCall(Object proxy,
Object source,
Method meth,
Object[] args)
Вызывается перед началом метода
|
protected void |
collectActivity(Object proxy,
Object source,
Method meth,
Object[] args)
Собирает статистику вызова метода
|
HookResult |
endCall(Object proxy,
Object source,
Method meth,
Object[] args,
Object callResult,
Throwable err)
Отслеживает вызов close() и создает событие ConnectPoolEvent.Disconnected.
|
Func4<String,Object,Object,Method,Object[]> |
getCollectName()
Указывает функцию определяющую имя метрики для метода
|
boolean |
isCollectActivity()
Возвращает собирать или нет статистику вызова методов
|
boolean |
isRewriteCall(Object proxy,
Object source,
Method method,
Object[] args)
Определяет надо переопределять вызов метода или нет
|
boolean |
isShared()
Соединение является общим (shared) для клиентов.
|
boolean |
isTrackClose()
Отслеживать вызов метода close().
|
boolean |
isTrackStatements()
Создавать proxy для Statement
|
Object |
rewriteCall(Object proxy,
Object source,
Method method,
Object[] args)
Вызывается вместо вызова исходного метода, если вызов метода isRewriteCall вернуло true
|
void |
setCollectName(Func4<String,Object,Object,Method,Object[]> fn)
Указывает функцию определяющую имя метрики для метода
|
void |
setShared(boolean shared)
Соединение является общим (shared) для клиентов
|
void |
setTrackClose(boolean trackClose)
Отслеживать вызов метода close()
|
void |
setTrackStatements(boolean trackStatements)
Создавать proxy для Statement
|
isRewriteArguments, rewriteArguments, setRewriteArgumentsprotected final WeakReference<ConnectPool> wcpool
protected final WeakReference<Connection> wconn
protected boolean trackClose
protected boolean trackStatements
protected boolean shared
protected volatile Boolean isClosed
public ConnectionTracker(ConnectPool cpool, Connection conn)
public Func4<String,Object,Object,Method,Object[]> getCollectName()
public void setCollectName(Func4<String,Object,Object,Method,Object[]> fn)
fn - функция сопоставления метода и название метрики,
если функция вернет null, то метрика не будет собираться для указанного метода public boolean isCollectActivity()
protected void collectActivity(Object proxy, Object source, Method meth, Object[] args)
proxy - прокси объект (содинение)source - исходный объектmeth - методargs - параметры методаsetCollectName(xyz.cofe.collection.Func4)public boolean isTrackClose()
при закрытии соединения посылает сообщение ConnectPoolEvent.Disconnected в ConnectPool
public void setTrackClose(boolean trackClose)
trackClose - true - отслеживать вызов closeisTrackClose()public boolean isTrackStatements()
public void setTrackStatements(boolean trackStatements)
trackStatements - true - создавать proxy для Statementpublic boolean isShared()
Если соединение является общим, то при вызове close прокси соединения, вызывается очистка связанных объектов (statements/resultset)
public void setShared(boolean shared)
shared - true - является общимisShared()public void beginCall(Object proxy, Object source, Method meth, Object[] args)
MethodCallListenerbeginCall in interface MethodCallListenerbeginCall in class MethodCallAdapterproxy - Прокси объектsource - Исходный объектmeth - Методargs - Аргументыpublic HookResult endCall(Object proxy, Object source, Method meth, Object[] args, Object callResult, Throwable err)
endCall in interface MethodCallListenerendCall in class MethodCallAdapterproxy - прокси соединения с бдsource - исходный объект соединения с бдmeth - методargs - аргументы вызоваcallResult - результат вызоваerr - исключение если оно былоpublic boolean isRewriteCall(Object proxy, Object source, Method method, Object[] args)
MethodCallRewriteisRewriteCall in interface MethodCallRewriteisRewriteCall in class MethodCallAdapterproxy - прокси объектаsource - исходный объектmethod - методargs - аргументы методаMethodCallRewrite.rewriteCall(java.lang.Object, java.lang.Object, java.lang.reflect.Method, java.lang.Object[])public Object rewriteCall(Object proxy, Object source, Method method, Object[] args)
MethodCallRewriterewriteCall in interface MethodCallRewriterewriteCall in class MethodCallAdapterproxy - прокси объектаsource - исходный объектmethod - методargs - аргументы методаCopyright © 2019. All rights reserved.