本章节介绍如何为 Tomcat 配置 Parasoft JDBC 驱动器。Tomcat 的配置可以通过数据源配置或 java.sql.Driver 配置来实现。最佳方法取决于您的应用程序是如何配置的。
数据源配置
若要配置 Tomcat 数据源以使用 Parasoft JDBC 驱动程序,请完成以下内容:
- 将 Parasoft JDBC 驱动程序 jar 文件拷贝到全局
lib
目录,该目录直接在tomcat
根下。 - 编辑包含数据源资源定义的每个 context.xml 文件,如下(可能有几个 context.xml 文件需要编辑,因为它们可以在
webapps
和全局配置级别找到):- 将
type
修改为要使用的 Parasoft 数据源的类名。可用的值取决于当前使用的数据库供应商 JDBC 驱动程序。详情请参阅 JDBC 驱动器实现类。 - 添加
factory
并将其设置为com.parasoft.xtest.jdbc.virt.driver.ParasoftDataSourceFactory
。 设置
virtualizeServerUrl
和virtualizeGroupId
。
比如:<Resource name="<original name>" auth="<original auth>" type="com.parasoft.xtest.jdbc.virt.driver.oracle.OracleDataSource" factory="com.parasoft.xtest.jdbc.virt.driver.ParasoftDataSourceFac-tory" virtualizeGroupId="hibernateOracle" virtualizeServerUrl="http://localhost.parasoft.com:9080" user="<original user>" password="<orignal password>" url="<original url>"/>
还在资源上设置了所需属性(
virtualizeGroupId
和virtualizeServerUrl
)。不需要系统属性。
不要改变以original
开始的任何字段(包括url
、name
、user
和password
)。在上面的例子中,url
字段可以设置为jdbc:oracle:thin:@//host:1521/db
- 将
java.sql.Driver Configuration
可选方法:调用原始数据源
如果可以更容易地引用现有数据源(例如,如果您有许多选项集),或者使用自定义数据源工厂,则可以调用原始数据源。
若要配置 Tomcat 数据源以调用原始数据源,请执行以下操作:
- 将 Parasoft JDBC 驱动程序 jar 文件拷贝到全局
lib
目录,该目录直接在 tomcat 根下。 - 在 server.xml 或 context.xml 文件中,添加一个新资源,其中包含调用原始数据源的信息。
- 将此资源的名称修改为 AUT 将调用的 JNDI 数据源名称。这应该是原始数据源的名称。您可以将原始数据源的名称修改为类似
jdbc/nameLIVE
[user defined] 的内容。 - 添加一个名为
targetDataSource
的属性。这将是原始数据源和 JNDI 名称。这就是新数据源调用原始数据源的方式。 - 添加
factory
,并将其设置为com.parasoft.xtest.jdbc.virt.driver.ParasoftDataSourceFactory
。 - 设置
virtualizeServerUrl
和virtualizeGroupId
。
- 将此资源的名称修改为 AUT 将调用的 JNDI 数据源名称。这应该是原始数据源的名称。您可以将原始数据源的名称修改为类似
例如,假设您有这个原始数据源:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/mysqlDBlive" auth="Container" type="javax.sql.DataSource" username="12345" password="xxxxx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://boa.parasoft.com:3306/test" maxActive="8"/>
下面是等效的 Parasoft 数据源:
<Resource name="jdbc/mysqlDB" auth="Container" factory="com.parasoft.xtest.jdbc.virt.driver.ParasoftDataSourceFactory" targetDataSource="jdbc/mysqlDBLive" virtualizeServerUrl="http://localhost:9080" virtualizeGroupId="tomcat-target-data-source" virtualizeServerPath="somePath" /> </Context>
注意:
- 还在资源上设置了所需属性(
virtualizeGroupId
和virtualizeServerUrl
)。不需要系统属性。 - 推荐的最佳实践是添加
virtualizeServerPath
,以指示驱动程序将向哪个 Virtualize 服务器路径发送请求信息。一旦创建了资产,就需要将其部署在相同的路径上。这允许您仅将数据发送到此单一资产。