JDBMonitor是一个开源项目。使用它开发者可以很轻松为系统增加数据库执行日志功能。它使用十分方便,您所需要做的唯一事情就是在您系统的JDBC连接字符串前增加类似于 "listenerconfig=/config.XML:url=" 的字符即可,不用写任何代码。
使用 JDBMonitor,您可以把数据库执行情况记录通过各种方式记录下来,比如打印到控制台、输出到文件或者通过socket传送给远程客户端。JDBMonitor是可扩展的,您可以扩展它来将执行情况通过其他方式记录下来,您所需要做的就是写一个实现IDBListener接口的类即可。
JDBMonitor遵守 GNU Lesser General Public Licence (LGPL)协议。此协议包含在发行包中。
入门
几乎所有大型数据库应用都包含有自己的SQL执行日志功能,此功能不仅能帮助开发人员调试,而且可以为DBA(数据库治理员)提供系统的运行信息。
(1)很难将业务逻辑同日志代码分离
(2)降低了代码的可读性。
(3)降低了系统的运行速度。在记录日志的时候,程序会暂停运行等待直到记录完成,而I/O操作是相当耗时的。
(4)很难记录运行耗时、语句参数等其他信息
(5)很难为我们无法修改代码的系统(例如没有源代码的系统)或者很难增加记录日志功能代码的系统(比如系统使用了ORMapping)增加日志功能。
JDBMonitor 则不同:
(1)您最多只需要修改一行代码。您需要修改的代码就是这一行:Class.forName("com.cownew.JDBMonitor.jdbc.DBDriver") ,然后再修改一下 JDBC连接字符串,只要从 “jdbc:db2://10.74.198.247:50000/app”修改成” listenerconfig=config.xml:url= jdbc:db2://10.74.198.247:50000/app”就可以了。在您使用WebLogic ,Tomcat或其他服务器的数据源功能的时候,连修改代码这一步都是无需的。
(2)JDBMonitor另起一个线程来记录SQL,所以它不会对程序运行速度有任何影响。
(3)它是高度可扩展的,所以您可以扩展它来把执行情况通过其他方式记录。比如,您可以写一个扩展类,来通过电子邮件将日志发送出去。
取得 JDBMonitor
JDBMonitor的最新稳定版本可以在JDBMonitor的网站上取得:
http://www.cownew.com/JDBMonitor
使用 JDBMonitor
1 将 jdbmonitor.jar放到您系统的类路径下。
2 让系统加载 JDBMonitor的JDBC驱动。
这一步将会依您系统加载JDBC驱动的方式的不同而不同。
(1)假如您通过代码的形式加载JDBC驱动,例如:
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
Connection cn = DriverManager.getConnection(……);
在这种情况下 ,您必须修改 “Class.forName”这一句来加载JDBMonitor的JDBC驱动(“com.cownew.JDBMonitor.jdbc.DBDriver”),而非以前的数据库JDBC驱动。
例如:
Class.forName(“com.cownew.JDBMonitor.jdbc.DBDriver”);
Connection cn = DriverManager.getConnection(……);
(2)假如您在配置文件中指定JDBC驱动,比如,数据源配置文件或者其他类似的文件。
请修改原来的 JDBC驱动类为 “com.cownew.JDBMonitor.jdbc.DBDriver” 。
3 让 JDBMonitor加载能够加载原来的JDBC驱动
JDBMonitor的工作原理就是截获JDBC驱动的SQL语句调用、记录SQL语句,然后将SQL语句重新转发给原来的JDBC驱动,所以JDBMonitor必须首先向DriverManager注册JDBC驱动。
原来的JDBC驱动定义在配置文件的“JdbcDrivers” 段中。
<JdbcDrivers>
<JdbcDriver class=" com.mysql.jdbc.Driver"/>
</JdbcDrivers>
4 在原来的JDBC连接字符串前增加 JDBMonitor所需的信息。
您所需要做的就是将” listenerconfig=<configfilepath>:url=” 增加到原来的JDBC连接字符串前。“<configfilepath>”代表配置文件的路径,下面集中路径都是合法的:
文章来源: baike.duba.net
分享到:
相关推荐
可以在`setDomainEnv.sh`(Unix/Linux)或`setDomainEnv.cmd`(Windows)脚本中添加`-javaagent`参数,指定jdbmonitor.jar的位置,例如:`-javaagent:/path/to/jdbmonitor.jar`。 3. **设置日志**:jdbmonitor会将...
Jdbmonitor的一个简单实例,resources下的config.xml是其的配置文件。这个项目整合了jpa和spring。用maven进行了管理。一些常用包可以使用maven导入。如果没有maven可以按照pom.xml中列出的包导入项目中。
jdbmonitor.jar 开发必备工具
简单的做了一个测试的例子。Maven项目管理。如果没有Maven的话自己依照pom.xml下载保存也可以。test是测试例。config.xml是JDBMonitor的配置文件。我仅配了2个。可以参考他包内自带的配置文件.
**JDBMonitor 开源数据库监控工具** JDBMonitor 是一款开源的数据库监控工具,它允许开发者轻松地在应用程序中添加数据库执行日志功能。这款工具的显著特点是其易用性,用户只需在应用程序的 JDBC 连接字符串后添加...
这里的`D:/jdbMonitor.xml`应替换为你实际的jbmonitor配置文件路径。 2. **创建jdbMonitor.xml** 在指定的路径(例如D:/)下,新建名为jdbMonitor.xml的配置文件。文件内容应该包含监听器配置,例如: ```xml ...
`jdbmonitor.jar`可能是一个这样的工具,它可以帮助我们实时监控SQL执行情况,包括查询次数、平均执行时间、资源占用等。这类工具通常提供图形化界面,便于分析和调试。用户可以设置警报阈值,当达到某个性能指标时...
JDBC-Performance-Logger, 一个JDBC驱动程序包装器和用于分析 性能记录器命令行目测试通过JDBC执行的sql语句的性能。( 点击下面的图片了解这些...虽然在JDBC性能监视( log4jdbc,P6Spy, JDbMonitor 。) 周围已经经存