arg="9527"表示服务器将在9527端口监听。
我们已经开发了如下两种客户端:SocketConsoleClIEnt(Socket控制台客户端) 和 SocketSwingClIEnt(Socket Swing客户端)。
SocketConsoleClIEnt工作在控制台中:
SocketSwingClient是一个Swing GUI客户端:
您可以运行"java -classpath jdbmonitor.jar com.cownew.JDBMonitor.listenerImpl.sckListenerClient.SocketConsoleClient" 来启动SocketConsoleClient,运行"java -classpath jdbmonitor.jar com.cownew.JDBMonitor.listenerImpl.sckListenerClient.SocketSwingClient"启动SocketSwingClient。
您可以编写符合您自己要求的客户端,具体细节请参考com.cownew.JDBMonitor.listenerImpl.sckListenerClient.ListenerClient和com.cownew.JDBMonitor.listenerImpl.sckListenerClient.IDBSocketClientListener.
4、DataBaseDBListener
DataBaseDBListener将会把SQL语句记录到数据库中:
如下配置:
<Listener class="com.cownew.JDBMonitor.listenerImpl.DataBaseDBListener"
arg="dburl=jdbc:odbc:MQIS;user=;passWord=;logtable=T_Log_SQLLog"/>
"dburl=jdbc:odbc:MQIS;user=;passWord=;"表示目标数据库的JDBC连接字符串。"logtable=T_Log_SQLLog" 表示SQL记录将被保存到哪个表中,默认的是T_Log_SQLLog。
如果目标数据库用的JDBC驱动与被监控的数据库不同,请将它加入配置文件的 "JdbcDrivers" 部分,例如:
<config>
<Active>true</Active>
<Listeners>
<Listener class="com.cownew.JDBMonitor.listenerImpl.ConsoleDBListener" arg=""/>
<Listener class="com.cownew.JDBMonitor.listenerImpl.DataBaseDBListener"
arg="dburl=jdbc:odbc:MQIS;user=;passWord=;logtable=T_Log_SQLLog"/>
</Listeners>
<JdbcDrivers>
<JdbcDriver class="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<JdbcDriver class="sun.jdbc.odbc.JdbcOdbcDriver"/>
</JdbcDrivers>
</config>
"T_Log_SQLLog"的结构是:
"T_Log_SQLLog"的建库脚本在com/cownew/JDBMonitor/listenerImpl/dataBaseListener,(DB2.sql,MSSQLserver.sql,Oracle.sql)。
DataBaseDBListener是跨数据库的,你可以把记录SQL到任何关系数据库中。
FAQ:
1 如果我暂时不想记录SQL语句执行怎么办?难道我要重新修改成原来的样子?
答:无须如此。您只要修改config.xml,增加<Active>false</Active>到文件中即可。
如下:
<config>
<Active> false </Active>
<Listeners>
......
</config>
如何扩展JDBMonitor?
我们已经开发了如下常用的监听器:FileDBListener、ConsoleDBListener、 SocketDBListener、DataBaseDBListener。当然您也可以开发满足您要求的监听器。所有的监听器必须实现接口:com.cownew.JDBMonitor.commo. IDBListener。IDBListener有两个方法需要实现:
public void init(String arg);
public void logSql(SQLInfo info);
JDBMonitor会将配置文件中监听器定义中“arg”的值传递给 “init”方法、将代表SQL语句执行信息的SQLInfo传递给“logSql”方法。
更多信息请参考API文档。
上一篇: Getting Your Feet Wet with the SWT
下一篇: JSP环境基于Session的在线用户统计深入分析
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



