jboss 5.0数据源配置在ear文件中。如何在同一台服务器上运行oracle 10g和11g?

时间:2010-04-30 19:36:31

标签: oracle configuration jboss datasource jboss5.x

目前我的设置是:

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

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

datasource-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目录中。在我的设置中,部署了多个不同的应用程序,我希望它们都是自包含的。其中一个应用程序使用11克,其余的使用10克。现在使用10g的是ear文件,使用11g的是war文件,所以它可以工作。现在我要将ear文件转换为war文件(我不需要耳功能)以测试使用了多少Permgen空间。 所以我想我的问题是: 我的意思是如何在ear文件中使用ojbc * .jar而不是在server / lib目录中部署ear?

2 个答案:

答案 0 :(得分:0)

只需复制datasource.xml  胃内datasource-ds10g.xmldatasource-ds11g.xml正确connection-url。从你的.ear到数据源的参考。

答案 1 :(得分:0)

在ojdbc.jar版本上,除非最新版本中不存在您需要的驱动程序的特定功能,否则始终只使用最新版本,因为它们将始终向后兼容。在那种情况下,那么使用服务器的中央lib repo是最好的...但是,据说我完全理解使每个Web应用程序独立且更容易部署的要求。

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

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