以下步骤可以应用到 WebLogic 10.3 中。这些说明适用于利用 WebLogic 数据源数据库连接框架的应用程序,这是最常见的推荐方法。但是,如果应用程序代码绕过 WebLogic 框架并直接连接到数据库(即,它自己实例化和管理 JDBC 驱动程序和连接),使用 用于独立或其他应用程序服务器平台的 JDBC 配置中提供的指令。
WebLogic 环境设置
找到 WebLogic 应用程序的域库目录。这是复制 Parasoft JDBC 驱动程序 jar 文件的地方。例如,WebLogic 医疗记录样本应用程序域的 lib 文件夹通常安装在 [WebLogic install dir]/wlserver_10.3/samples/domains/medrec/lib
下。如果已经创建了自己的域,它可能类似于 [WebLogic install dir]\user_projects/domains/your_domain/lib
。
创建一个新的 JDBC 数据源
- 在域结构下展开 Services,然后单击 Data Sources。
- 标识应用程序当前使用的数据源,并注意 a)设置该数据源时使用的 JNDI 名称,b)驱动程序类名,c) Properties 字段中设置的任何值。
打开 Targets 选项卡,取消选中部署数据源的服务器,然后单击 Save。或者(或者除了这个操作之外),您可以更改 JNDI 名称。这样它就不会与我们将提供给新 JDBC 数据源的相同 JNDI 名称发生冲突。
- 返回“Data Sources”一栏,执行以下步骤:
- 单击 New。
- 选择 Generic Data Source 选项。
- 在 JDBC Data Source 属性中,从步骤 2 指定 Name 和 JNDI Name 。
- 将数据库类型设置为 Other。
- 单击 Next。
- 将 Database Driver 设置为 Other ,然后单击 Next。
- 在 Transaction 选项下,要么保留默认选项,要么选择另一个适合当前应用程序和数据库驱动程序配置设置的选项。然后,单击 Next。
- 在 Connection 属性下,指定属于现有数据库连接设置的特定配置(并匹配上面步骤 2 中的注释)。然后,单击 Next。
- 在测试数据库连接下,执行以下操作:
- 提供与原始 JDBC 驱动程序相关的 Parasoft JDBC 驱动程序类名。有关更多详情,请查阅 JDBC Driver Implementation Classes。
指定前缀为 Parasoft JDBC 驱动程序字符串的 JDBC 连接 URL。例如:
jdbc:parasoft:proxydriver:org.apache.derby.jdbc.ClientXADataSource:@jdbc:derby://localhost:1527/medrec
提供数据库可能需要的任何属性(如上面的步骤 2 所示)。
- 提供以下属性:
virtualizeGroupId
virtualizeServerUrl (可选)提供测试表名或 SQL 查询来测试新数据源,然后单击 Test Configuration。如果在原始数据源中定义了系统属性,则可能需要添加系统属性(从步骤 2 开始)。
顶部的 messages 部分将指示测试结果。如果成功,将看到以下消息:
如果出现错误,将看到以下信息:
在本例中,使用消息来解决错误。查看在 logFilePath 属性中所提供位置上的 Parasoft JDBC 驱动程序日志文件,了解由 Parasoft JDBC 驱动程序提供的更多细节。其他日志详细信息可以从域的日志位置中 WebLogic 服务器端获得,通常在 servers/DomainName/logs 文件夹下。
例如:[WebLogic install dir]/wlserver_10.3/samples/domains/medrec/servers/MedRecServer/logs
测试连接成功后,单击 Next。
注意
它有可能显示“Connection test succeeded”,尽管 Virtualize 服务器已经关闭(当 Parasoft JDBC 驱动程序处于记录、虚拟化或混合模式时),或者有些东西配置错误。确保在记录模式下查看传入 SQL 查询的 Virtualize 控制台视图,或者参考 Parasoft JDBC 驱动程序日志文件,以检查是否没有任何错误。
- 在 Select Targets 下,选择要部署新数据源的服务器(这些服务器应该与原始数据源使用的服务器相同),然后单击 Finish。
可选方法:修改应用程序设置,使用不同 JNDI 名称的 Parasoft JDBC 驱动程序
此方法可以应用于您不想修改原始数据源的情况,可能在多个应用程序使用同一个数据源,而您只想为特定的应用程序虚拟化数据库连接的情况下。在这些情况下,您可以通过管理控制台修改应用程序的数据源 JNDI 绑定。可以通过域结构树下的 Deployments 部分访问已部署的应用程序。
定位所需的应用程序模块,并修改它所使用的 JDBC 数据源的 JNDI 名称。
JNDI 命名技巧
JNDI 名称通常采用类似于目录的层次结构形式来表示子上下文。例如,如果原始数据源 JNDI 名为 jdbc/zOS_DB2DataSource
,则您应该避免将其重命名为 jdbc/zOS_DB2DataSource/Original
,因为这会导致应用程序中的 JNDI 绑定冲突。相反,使用类似 jdbc/zOS_DB2DataSourceOriginal
这样的名称,并且避免您的 JNDI 名称被解释为子上下文。
可选方法:调用原始数据源
如果可以更容易地引用现有数据源(例如,如果您有许多选项集),或者使用自定义数据源工厂,则可以调用原始数据源。
若要配置 WebLogic 数据源来调用原始数据源,请执行以下操作:
- 将 Parasoft JDBC 驱动程序 jar 文件复制到 WebLogic 应用程序的域库目录(有关更多详情,请查阅 WebLogic Environment Setup )。
- 在 Configuration> Connection pool 选项卡中,指定以下内容:
- URL: 使用诸如 datasource://jdbc/db2Live 这样的格式输入 URL,其中第一部分(datasource://)设置引用,第二部分(jdbc/db2Live)是要引用的数据源的 JNDI 名称。
- Driver Class Name: 输入 com.parasoft.xtest.jdbc.virt.driver.JDBCProxyDriver。
- Properties: 设置 virtualizeServerUrl 和 virtualizeGroupId。
Note:
- 还在资源上设置了所需属性(virtualizeGroupId 和 virtualizeServerUrl)。不需要系统属性。
- 推荐的最佳实践是添加 virtualizeServerPath,以指示驱动程序将向哪个虚拟化服务器路径发送请求信息。一旦创建了资产,就需要将其部署在相同的路径上。这允许您仅将数据发送到此特定资产。