|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jamonapi.proxy.MonProxyFactoryImp
public class MonProxyFactoryImp
MonProxyFactory allows developers to monitor ANY interface by simply passing the Object implementing the interface to the monitor method. (note the object passed MUST implement an interface or it will be a runtime error). A great use of this is to monitor jdbc interfaces and to aid in this there are overloaded methods that take Connections, Statements, PreparedStatements, CallableStatements, and ResultSets. These overloaded methods take advantage of knowledege of SQL and track additional statistics. The following capabilities can be acquired by using MonProxyFactory. All can individually be enabled/disabled.
This is a nonstatic version and is the primary implementation. The static version MonProxyFactory simply calls this version
Sample code:
ResultSet rs= MonProxyFactory.monitor(resultSet);
Connection conn=MonProxyFactory.monitor(connection);
MyInterface my=(MyInterface) MonProxyFactory.monitor(myObject);//myObject implements MyInterface
YourInterface your=(YourInterface) MonProxyFactory.monitor(yourObject);//myObject implements MyInterface
Constructor Summary | |
---|---|
MonProxyFactoryImp()
|
Method Summary | |
---|---|
void |
enable(boolean enable)
Enables all monitors except ResultSet monitoring. |
void |
enableAll(boolean enable)
Enables all monitors. |
void |
enableExceptionDetail(boolean enable)
Enables/Disables whether exceptions are tracked in a rolling buffer |
void |
enableExceptionSummary(boolean enable)
Enables/disables jamon summary stats for exceptions |
void |
enableInterface(boolean enable)
Enables/disables whether methods of the interface are monitored or not |
void |
enableResultSet(boolean enable)
Enables/disables whether ResultSet methods are monitored. |
void |
enableSQLDetail(boolean enable)
Enables/disables whether sql command details (time, sql, stack trace, ...) are kept in a rolling buffer |
void |
enableSQLSummary(boolean enable)
Enables/Disables jamon summary stats for SQL |
int |
getExceptionBufferSize()
Get the number of Exceptions that can be stored in the buffer before the oldest entries must be removed. |
java.lang.Object[][] |
getExceptionDetail()
Get the exception buffer as an array, so it can be displayed |
java.lang.String[] |
getExceptionDetailHeader()
Get the header that can be used to display the Exceptions buffer |
java.lang.Class[] |
getInterfaces(java.lang.Class cls)
For every class in the Object/Interface heirarchy find its implemented interfaces. |
MonProxyLabelerInt |
getLabelFactory()
|
java.util.List |
getMatchStrings()
Get a list of the strings to match in the parsed query. |
MonProxy |
getMonProxy(java.lang.reflect.Proxy proxy)
Returns the MonProxy invocation handler should you need access to its methods like setLabeler(...) etc. |
int |
getSQLBufferSize()
Get the number of SQL statements that can be stored in the buffer before the oldest entries must be removed. |
java.lang.Object[][] |
getSQLDetail()
Get the sql buffer as an array, so it can be displayed |
java.lang.String[] |
getSQLDetailHeader()
Get the header that can be used to display the SQL buffer |
boolean |
isAllEnabled()
|
boolean |
isEnabled()
Returns true if MonProxyFactory is enabled. |
boolean |
isExceptionDetailEnabled()
Indicates whether exceptions are tracked in a rolling buffer |
boolean |
isExceptionSummaryEnabled()
Indicates whether jamon summary stats are kept for exceptions |
boolean |
isInterfaceEnabled()
Inidicates whether methods of the interface are monitored or not |
boolean |
isResultSetEnabled()
Indicates whether ResultSet methods are monitored. |
boolean |
isSQLDetailEnabled()
Indicates whether sql command details (time, sql, stack trace, ...) are kept in a rolling buffer |
boolean |
isSQLSummaryEnabled()
Indicates whether jamon summary stats are kept for SQL |
java.sql.CallableStatement |
monitor(java.sql.CallableStatement statement)
Monitor a CallableStatements methods, as well as any ResultSets it returns (assuming the proper monitoring options are enabled) |
java.sql.Connection |
monitor(java.sql.Connection conn)
Note if a connection object is monitored any Statements, PreparedStatements, CallableStatements, and optionally ResultSets that it creates will automatically be monitored. |
java.lang.Object |
monitor(java.lang.Object object)
By passing any interface to the monitor method, all public method calls and exceptions will be monitored. |
java.lang.Object |
monitor(java.lang.Object object,
java.lang.Class iface)
By passing any interface to the monitor method, and an interface to implement then all public method calls and exceptions will be monitored. |
java.lang.Object |
monitor(java.lang.Object object,
java.lang.Class[] interfaces)
By passing any interface to the monitor method, and an array of interfaces to implement then all public method calls and exceptions will be monitored. |
java.sql.PreparedStatement |
monitor(java.sql.PreparedStatement statement)
Monitor a PreparedStatements methods, as well as any ResultSets it returns (assuming the proper monitoring options are enabled) |
java.sql.ResultSet |
monitor(java.sql.ResultSet rs)
Monitor a resultSets methods. |
java.sql.Statement |
monitor(java.sql.Statement statement)
Monitor a Statements methods, as well as any ResultSets it returns (assuming the proper monitoring options are enabled) |
void |
resetExceptionDetail()
Remove all Exceptions from the buffer. |
void |
resetSQLDetail()
Remove all SQL from the buffer. |
void |
setExceptionBufferSize(int exceptionBufferSize)
Set the number of Exceptions that can be stored in the buffer before the oldest entries must be removed. |
void |
setLabelFactory(MonProxyLabelerInt factory)
This class will be called when creating the jamon labels for both standard summary as well as exceptions. |
void |
setMatchStrings(java.util.List ms)
Set the strings to match |
void |
setSQLBufferSize(int sqlBufferSize)
Set the number of SQL Statements that can be stored in the buffer before the oldest entries must be removed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MonProxyFactoryImp()
Method Detail |
---|
public void setLabelFactory(MonProxyLabelerInt factory)
factory
- public MonProxyLabelerInt getLabelFactory()
public MonProxy getMonProxy(java.lang.reflect.Proxy proxy)
ResultSet rsc=MonProxyFactory.monitor(resultSet);
MonProxy monProxy=MonProxyFactory.getMonProxy((Proxy)rsc);
proxy
-
public java.lang.Object monitor(java.lang.Object object)
Sample call:
MyInterface myProxyObject=(MyInterface) MonProxyFactory.monitor(myObject);
public java.lang.Object monitor(java.lang.Object object, java.lang.Class[] interfaces)
Sample call:
MyInterface myProxyObject=(MyInterface) MonProxyFactory.monitor(myObject, ineterfaces);
public java.lang.Object monitor(java.lang.Object object, java.lang.Class iface)
Sample call:
MyInterface myProxyObject=(MyInterface) MonProxyFactory.monitor(myObject, com.mypackage.MyInterface.class);
public java.sql.Connection monitor(java.sql.Connection conn)
public java.sql.ResultSet monitor(java.sql.ResultSet rs)
public java.sql.Statement monitor(java.sql.Statement statement)
public java.sql.PreparedStatement monitor(java.sql.PreparedStatement statement)
public java.sql.CallableStatement monitor(java.sql.CallableStatement statement)
public java.lang.Class[] getInterfaces(java.lang.Class cls)
public int getExceptionBufferSize()
public void setExceptionBufferSize(int exceptionBufferSize)
public void resetExceptionDetail()
public boolean isInterfaceEnabled()
public void enableInterface(boolean enable)
public boolean isExceptionSummaryEnabled()
public void enableExceptionSummary(boolean enable)
public boolean isExceptionDetailEnabled()
public void enableExceptionDetail(boolean enable)
public boolean isSQLSummaryEnabled()
public void enableSQLSummary(boolean enable)
public boolean isSQLDetailEnabled()
public void enableSQLDetail(boolean enable)
public boolean isResultSetEnabled()
public void enableResultSet(boolean enable)
public boolean isEnabled()
public void enableAll(boolean enable)
public boolean isAllEnabled()
public void enable(boolean enable)
public java.lang.String[] getExceptionDetailHeader()
public java.lang.Object[][] getExceptionDetail()
public int getSQLBufferSize()
public void setSQLBufferSize(int sqlBufferSize)
public void resetSQLDetail()
public java.lang.String[] getSQLDetailHeader()
public java.lang.Object[][] getSQLDetail()
public java.util.List getMatchStrings()
public void setMatchStrings(java.util.List ms)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |