是否有战争部署的JSR for DataSource?

时间:2012-04-13 09:19:48

标签: java-ee tomcat deployment glassfish

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

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

对于Tomcat,还有context.xml可以解决这个问题。

你知道GlassFish是否可行吗?

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

1 个答案:

答案 0 :(得分:2)

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

来自Glassfish application deployment guide

  

在glassfish-resources.xml部署描述符文件中定义了应用程序范围的资源。这个文件是   放置在模块或应用程序存档的META-INF目录中。   对于Web应用程序或模块,此文件放在WEB-INF中   目录。如果企业应用程序的任何子模块存档   archive有自己的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 中的相同。你可以从那里复制它。