Deployment 使用ws_ant的WebSphere 7部署

Deployment 使用ws_ant的WebSphere 7部署,deployment,websphere,websphere-7,Deployment,Websphere,Websphere 7,我有一个耳朵,里面有一个web应用程序。在这个web应用程序中,我通过JNDI获得一个数据源引用。因此,我的web.xml中有一个JDBC类型的资源引用: <resource-ref> <description>TCCC Database</description> <res-ref-name>jdbc/tccc</res-ref-name> <res-type>javax.sql.DataSourc

我有一个耳朵,里面有一个web应用程序。在这个web应用程序中,我通过JNDI获得一个数据源引用。因此,我的web.xml中有一个JDBC类型的资源引用:

<resource-ref>
    <description>TCCC Database</description>
    <res-ref-name>jdbc/tccc</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>  

TCCC数据库
jdbc/tccc
javax.sql.DataSource
容器
我必须将EAR部署到WebSphere App Server 7.0,对于我的资源引用(jdbc/tccc),我必须指定一个JNDI名称,以便将此逻辑名称绑定到DB资源的物理位置

根据文档,我成功地在WAS实例上设置并配置了JDBC提供程序、数据源和安全设置。使用web管理控制台,我已经在一些step主机和JNDI上手动部署了EAR绑定,因此ibm web bnd.xml看起来像:


其中“jdbc/tccc/oracle”是我在其上配置的数据源的JNDI名称。 一切正常

但现在我只想通过使用ws\u ant和适当的任务(如InstallApplication、UninstallApplication等)来完成所有部署。我已经创建了一个包含所需任务的适当build.xml文件,现在可以卸载和安装我的应用程序。但如何将应用程序JNDI名称绑定到服务器上数据源的JNDI名称呢。使用defaultBindings任务,我可以将主机绑定到默认的\u主机。如何使用JNDI实现同样的效果。我一直在尝试在defaultBindings任务中设置defaultDataSource参数,但它总是使用相同的绑定名称值创建ibm-web-bnd.xml:



重要事项:在部署期间,我必须只绑定资源引用,以便将来绑定到不同的数据源。

您能否始终绑定到相同的JNDI名称,并在将来根据需要更改该数据源的设置?如果是这样,您可以预先创建.xmi文件并将其包含在构建的WAR中。对我来说,这个解决方案当然不是那么灵活。对于开发,我想这是合适的解决方案,如果在QA或生产服务器上部署时,人们能够覆盖WAR内部的设置,那就足够了。无论如何,谢谢你。