本章节涵盖了如何为 Tomcat 配置 Parasoft JDBC 驱动器。Tomcat 的配置可以通过数据源配置或 java.sql.Driver 配置来实现。最佳方法取决于你的应用程序是如何配置的。
数据源配置
若要配置 Tomcat 数据源以使用 Parasoft JDBC 驱动程序,请完成以下内容:
- 将 Parasoft JDBC 驱动程序 jar 文件拷贝到全局
lib
目录,该目录直接在tomcat
根下。 - 编辑包含数据源资源定义的每个
context.xml
文件,如下(可能有几个context.xml
文件需要编辑,因为它们可以在webapps
和全局配置级别找到):- 将
type
修改为要使用的 Parasoft 数据源的类名。可用的值取决于当前使用的数据库供应商 JDBC 驱动程序。请查阅 JDBC Driver Implementation Classes 以获得更多详情。 - 添加
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
请查阅 用于独立或其他应用程序服务器平台的 JDBC 配置。
可选方法:调用原始数据源
如果可以更容易地引用现有数据源(例如,如果你有许多选项集),或者使用自定义数据源工厂,则可以调用原始数据源。
若要配置 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。
例如,假设你有这个原始数据源:
<?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,以指示驱动程序将向哪个虚拟化服务器路径发送请求信息。一旦创建了资产,就需要将其部署在相同的路径上。这允许你仅将数据发送到此单一资产。