快速业务通道

使用JdbcProxy测试Java应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
值,可以很容 易的通过这些值判断出程序在什么地方出现问题。如果运行过程中出现异常, JdbcProxy 还可以将抛出的异常记录下来。

使用JdbcProxy测试Java应用程序(3)

时间:2011-05-25 IBM 郑溪龙

记录用于回放的 JDBC 调用过程

方便开发人员和测试人员阅读的 JDBC 调用过程其记录形式不便于进行解析, 因此并不能直接被用来回放的 JDBC 调用过程。为了简化准备数据的过程, JdbcProxy 还可以生成一种用于回放 JDBC 调用过程的,特别是易于在 HTTP 服 务器上使用的记录文件。在运行新的程序之前,我们首先需要新建一个空的文件 夹 output 用来存放 JdbcProxy 生成的一系列 request/response 文件,然后将 url 做以下修改,如 清单 3 所示。

清单 3

String url = "jdbc:stubtracer:output:COM.ibm.db2.jdbc.app.DB2Driver:jdbc:db2:SAMPLE" ;

URL 结构如下:

jdbc:stubtracer:<foldername>:<driver>:<url>< /CODE>

其中:

<foldername> 是输出 request/response 文件的位置;如果为空则将 文件内容输出到控制台。

<driver> 是数据库驱动名,该示例程序使用的是 DB2 的驱动。

<url> 是数据源的 URL,该示例程序使用 jdbc:db2:SAMPLE,不需要用 户名和密码。

运行上述程序会在指定目录下生成 32 个以 request/response 开头的文本文 件,如图 1所示。

图 1. request/response 文件

使用JdbcProxy测试Java应用程序 - 编程入门网

这些文件包含了回放 JDBC 调用过程所需的所有请求和响应。以建立 Connection 的请求为例,该示例程序对数据库的第一个请求就是建立 Connection,这个过程记录在 request_0_0.txt 文件中,参见清单 4。其中文件 名中的 2 个“ 0 ”分别代表本次 JDBC 调用的 id 和 status,调用的方法是 connect 。

清单 4

<?xml version="1.0" encoding="UTF-8"?> <request>   <class>java.sql.Driver</class>   <id>0</id>   <status>0</status>   <method>connect</method>   <parameter>     <class>java.lang.String</class>     <value>jdbc:db2:SAMPLE</value>   </parameter>   <parameter>     <class>java.util.Properties</class>     <value>{language=C}</value>   </parameter> </request>

使用JdbcProxy测试Java应用程序(4)

时间:2011-05-25 IBM 郑溪龙

JdbcProxy 会根据 request 文件中 id 和 status 的值找到对应的 response 文件,在本例中为 response_0_0.txt,参见清单 5。在 response_0_0.txt 中, 我们看到已经新建了一个 java.sql.Connection 的对象,并且指定了下一个请求 的 id 和 status 。

清单 5

<?xml version="1.0" encoding="UTF-8"?> <response>   <newstatus>1</newstatus>   <returnvalue>     <nl.griffelservices.proxy.stub.ProxyObject>      <class>java.sql.Connection</class>      <id>1</id>      <status>0</status>     </nl.griffelservices.proxy.stub.ProxyObject>   </returnvalue> </response>

整合 request/response 文件

在上面生成的 request/response 文件还需要进行整合才能提供给 HTTP 服务 器用于回放 JDBC 调用过程。可以使用 StubTraceMerger 工具将一系列 request/response 文件整合成一个文件。整合文件需要运行的命令如清单 6所示 。

清单 6

StubTracerMerger output

该命令

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号