Class StatementTracker

java.lang.Object
xyz.cofe.sql.cpool.proxy.MethodCallAdapter
xyz.cofe.sql.cpool.proxy.StatementTracker
All Implemented Interfaces:
MethodArgsRewrite, MethodCallListener, MethodCallRewrite

public class StatementTracker
extends MethodCallAdapter
Отслеживает вызов методов Statement и ведет статистику вызовов методов
Author:
Kamnev Georgiy (nt.gocha@gmail.com)
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> collectName  
    protected java.lang.String connectionCollectName  
    protected java.lang.ref.WeakReference<java.sql.Connection> wconn  
    protected java.lang.ref.WeakReference<ConnectPool> wcpool  
    protected java.lang.ref.WeakReference<java.sql.Statement> wst  

    Fields inherited from class xyz.cofe.sql.cpool.proxy.MethodCallAdapter

    rewriteArguments
  • Constructor Summary

    Constructors 
    Constructor Description
    StatementTracker​(ConnectPool cpool, java.sql.Connection conn, java.sql.Statement st)  
  • Method Summary

    Modifier and Type Method Description
    void beginCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
    Вызывается перед началом метода
    protected void collectActivity​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
    Сбор статистики вызова метода
    xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> getCollectName()
    Указывает функцию сопостовления метода и имя метрики
    java.lang.String getConnectionCollectName()
    Указывает имя обновляемой метрики для соединения
    boolean isCollectActivity()
    Возвращает есть ли необходимость собирать статистику
    void setCollectName​(xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> fn)
    Указывает функцию сопостовления метода и имя метрики
    void setConnectionCollectName​(java.lang.String connectionCollectName)
    Указывает имя обновляемой метрики для соединения

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • wcpool

      protected final java.lang.ref.WeakReference<ConnectPool> wcpool
    • wconn

      protected final java.lang.ref.WeakReference<java.sql.Connection> wconn
    • wst

      protected final java.lang.ref.WeakReference<java.sql.Statement> wst
    • collectName

      protected xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> collectName
    • connectionCollectName

      protected java.lang.String connectionCollectName
  • Constructor Details

  • Method Details

    • getCollectName

      public xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> getCollectName()
      Указывает функцию сопостовления метода и имя метрики
      Returns:
      функц именования метрики
    • setCollectName

      public void setCollectName​(xyz.cofe.fn.Fn4<java.lang.Object,​java.lang.Object,​java.lang.reflect.Method,​java.lang.Object[],​java.lang.String> fn)
      Указывает функцию сопостовления метода и имя метрики
      Parameters:
      fn - функц именования метрики
    • getConnectionCollectName

      public java.lang.String getConnectionCollectName()
      Указывает имя обновляемой метрики для соединения
      Returns:
      имя метрики - по умолчанию @statment
    • setConnectionCollectName

      public void setConnectionCollectName​(java.lang.String connectionCollectName)
      Указывает имя обновляемой метрики для соединения
      Parameters:
      connectionCollectName - имя метрики - по умолчанию @statment
    • isCollectActivity

      public boolean isCollectActivity()
      Возвращает есть ли необходимость собирать статистику
      Returns:
      true - требуетсясобирать статистику
    • collectActivity

      protected void collectActivity​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
      Сбор статистики вызова метода
      Parameters:
      proxy - прокси объекта
      source - исходный объект
      meth - метод
      args - аргументы
    • beginCall

      public void beginCall​(java.lang.Object proxy, java.lang.Object source, java.lang.reflect.Method meth, java.lang.Object[] args)
      Description copied from interface: MethodCallListener
      Вызывается перед началом метода
      Specified by:
      beginCall in interface MethodCallListener
      Overrides:
      beginCall in class MethodCallAdapter
      Parameters:
      proxy - Прокси объект
      source - Исходный объект
      meth - Метод
      args - Аргументы