2

目前我的设置是:

在我耳边META-INF/jboss-app.xml

<jboss-app>
  <module>
    <service>datasource-ds.xml</service>
  </module>
</jboss-app>

数据源-ds.xml

<datasources>
  <local-tx-datasource>
    <jndi-name>jdbc/mydeployment</jndi-name>
    <connection-url>jdbc:oracle:thin:@eir:myport:mydbname</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>myuser</user-name>
    <password>mypassword</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
       <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </local-tx-datasource>
</datasources>

ojdbc5.jar在我的servername/lib中时它可以工作。

如何在我的 .ear 文件中配置我的 oracle 驱动程序信息,以便我可以进行两种不同的 ear 部署,一种使用 Oracle 10g,一种使用 oracle 11g?

编辑:我把问题表述错了。我的意思是如何使用 ear 文件中的 ojbc*.jar 部署 ear,而不是在 server/lib 目录中。在我的设置中,部署了多个不同的应用程序,我希望它们都是独立的。其中一个应用程序使用 11g,其余应用程序使用 10g。现在使用 10g 的是 ear 文件,使用 11g 的是 war 文件,所以它可以工作。现在我要将ear 文件转换为war 文件(我不需要ear 功能),以测试使用了多少Permgen 空间。所以我想我的问题是:我的意思是如何使用 ear 文件中的 ojbc*.jar 而不是 server/lib 目录中的 ear 部署?

4

2 回答 2

0

只需复制您的datasource.xml igdatasource-ds10g.xmldatasource-ds11g.xml使用正确connection-url的 's。并从您的 .ear 参考数据源。

于 2010-05-03T11:37:49.723 回答
0

在 ojdbc.jar 版本上,除非您需要的驱动程序的特定功能在最新版本中不存在,否则请始终使用最新版本,因为它们将始终向后兼容。在这种情况下,最好使用服务器的中央库存储库……但话虽如此,我完全理解使每个 Web 应用程序独立且更易于部署的要求。

在部署时,如果您使用的是 IDE,您可以将 jdbc jar 定义为“库”,然后在“部署”中将其设置为使用代码部署库。在 JDeveloper 中,当您定义用户库时,您可以选择“默认部署它”,这将自动将其分配到来自使用该库的项目的 WAR 或 EAR 文件构建中。如果您未将用户库设置为“默认部署”或您的 IDE 没有此选项,通常“部署”参数(或 IDE 管理 WAR 和 EAR 文件构建的任何部分)将有一个部分用于选择要包含的库。

如果您不使用 IDE,则可以将这些 jar 文件手动推送到WEB-INF/lib您的 warfile 结构中。

于 2010-06-27T01:37:24.270 回答