以下步骤可以应用到 WebLogic 10.3 中。这些说明适用于利用 WebLogic 数据源数据库连接框架的应用程序,这是最常见的推荐方法。但是,如果应用程序代码绕过 WebLogic 框架并直接连接到数据库(即,它自己实例化和管理 JDBC 驱动程序和连接),则使用 用于独立或其他应用程序服务器平台的 JDBC 配置中提供的指令。

WebLogic 环境设置

找到 WebLogic 应用程序的域库目录。这是复制 Parasoft JDBC 驱动程序 jar 文件的地方。例如,WebLogic Medical Records 示例应用程序域的 lib 文件夹通常安装在 <WEBLOGIC-INSTALL-DIR>/wlserver_10.3/samples/domains/medrec/lib 目录下。如果已经创建了自己的域,则可能类似于 <WEBLOGIC-INSTALL-DIR>\user_projects/domains/your_domain/lib

创建一个新的 JDBC 数据源

  1. 在域结构下展开 Services,然后点击 Data Sources
  2. 标识应用程序当前使用的数据源,并注意 a)设置该数据源时使用的 JNDI 名称,b) 驱动程序类名,c) Properties 字段中设置的任何值。
  3. 打开 Targets 选项卡,取消选中部署数据源的服务器,然后点击 Save。或者(或者除了这个操作之外),您可以更改 JNDI 名称。这样它就不会与我们将提供给新 JDBC 数据源的相同 JNDI 名称发生冲突。

    JNDI 命名技巧

    JNDI 名称通常采用类似于分级目录的形式来表示子上下文。例如,如果原始数据源 JNDI 名为 jdbc/zOS_DB2DataSource,则您应该避免将其重命名为 jdbc/zOS_DB2DataSource/Original(使用 / 分隔符),因为这会导致应用程序中的 JNDI 绑定冲突。相反,使用类似 jdbc/zOS_DB2DataSourceOriginal 这样的名称,并且避免您的 JNDI 名称被解释为子上下文。

  4. 返回 Data Sources 一栏,执行以下步骤:
    1. 点击 New
    2. 选择 Generic Data Source 选项。
    3. 在 JDBC Data Source 属性中,从步骤 2 指定 Name 和 JNDI Name 。
    4. 将数据库类型设置为 Other
    5. 点击 Next
       
  5. Database Driver 设置为 Other,然后点击 Next

  6. 在 Transaction Options 下方,保留默认选项或选择其他适合当前应用程序和数据库驱动程序配置设置的选项,点击 Next
     
  7. 在 Connection Properties 下方,指定属于现有数据库连接设置的特定配置(并与上面步骤 2 中的注释匹配),点击 Next
     
  8. 在 Test Database Connection 下方,执行以下操作:
    1. 提供与原始 JDBC 驱动程序相关的 Parasoft JDBC 驱动程序类名。详情请参阅JDBC 驱动器实现类
    2. 指定前缀为 Parasoft JDBC 驱动程序字符串的 JDBC 连接 URL。例如:
      jdbc:parasoft:proxydriver:org.apache.derby.jdbc.ClientXADataSource:@jdbc:derby://localhost:1527/medrec

    3. 提供数据库可能需要的任何属性(如上面的步骤 2 所示)。

    4. 提供以下属性:
      virtualizeGroupId
      virtualizeServerUrl
    5. (可选)提供测试表名或 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 驱动程序日志文件,以检查是否没有任何错误。

  9. 在 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 数据源来调用原始数据源,请执行以下操作:

  1. 将 Parasoft JDBC 驱动程序 jar 文件复制到 WebLogic 应用程序的域库目录(详情请参阅 WebLogic Environment Setup)。
  2. Configuration> Connection pool 选项卡中,指定以下内容:
    • URL:使用诸如 datasource://jdbc/db2Live 这样的格式输入 URL,其中第一部分 (datasource://) 设置引用,第二部分 (jdbc/db2Live) 是要引用的数据源的 JNDI 名称。
    • Driver Class Name: 输入 com.parasoft.xtest.jdbc.virt.driver.JDBCProxyDriver
    • Properties: 设置 virtualizeServerUrlvirtualizeGroupId

注意:

  • 还在资源上设置了所需属性(virtualizeGroupIdvirtualizeServerUrl)。不需要系统属性。
  • 推荐的最佳实践是添加 virtualizeServerPath,以指示驱动程序将向哪个 Virtualize 服务器路径发送请求信息。一旦创建了资产,就需要将其部署在相同的路径上。这允许您仅将数据发送到此特定资产。
  • No labels