2

我正在尝试总结战争部署期间数据源部署的解决方案。老实说,从控制台手动添加它并不方便。

我可以看到,例如 JBoss 有解决方案:http: //www.mastertheboss.com/jboss-application-server/375-jboss-as-7-deployable-datasources.html

对于 Tomcat,也有 context.xml 可以处理这个问题。

你知道在 GlassFish 上是否可行吗?

是否有 JSR 可以对此进行标准化?可能在 JEE7 中。

4

1 回答 1

2

在 Glassfish 中,可以在glassfish-resources.xml(以前称为sun-resources.xml)文件中定义应用程序范围的资源

来自Glassfish 应用程序部署指南

应用程序范围的资源在 glassfish-resources.xml 部署描述符文件中定义。该文件位于模块或应用程序存档的 META-INF 目录中。对于 Web 应用程序或模块,此文件位于 WEB-INF 目录中。如果企业应用程序存档的任何子模块存档具有自己的 glassfish-resources.xml 文件,则资源定义的范围仅限于这些模块。

示例配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
<resources>
  <jdbc-connection-pool name="mysql_rootPool" ...>
    <property name="serverName" value="myServer"/>
    <property name="portNumber" value="3306"/>
    ...
  </jdbc-connection-pool>
  <jdbc-resource enabled="true" jndi-name="jdbc/mydb" object-type="user" pool-name="mysql_rootPool"/>
</resources>

资源定义与Glassfish 域的domain.xml中的相同。你可以从那里复制它。

于 2012-04-13T09:27:50.010 回答