什么是context.xml的替代品

时间:2009-11-06 00:16:44

标签: java glassfish

我习惯于在context.xml中配置Web应用程序,包括jdbc resorces和应用程序配置参数。

在glassfish下,什么被认为是存储应用程序配置信息的标准位置?

我们曾经将它存储在context.xml文件中,如下所示:

<Resource
url="jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=utf8"
username="username"
name="jdbc/db"
password="secret"
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="5" maxIdle="2" maxWait="10000"
removeAbandoned="true"
type="javax.sql.DataSource"
/>

<Parameter name="application.url" value="http://localhost:8080/News/" override="false"/>
<Parameter name="smtp.server" value="smtp.example.com" override="false"/>
<Parameter name="smtp.port" value="25" override="false"/>
<Parameter name="smtp.from.address" value="admin@example.com" override="false"/>
<Parameter name="smtp.from.name" value="Site administrator" override="false"/>
<Parameter name="list.name" value="DEV" override="false"/>
<Parameter name="temporary.folder" value="/tmp" override="false"/>
<Parameter name="authentication.type" value="LDAP" override="false"/>

5 个答案:

答案 0 :(得分:2)

听起来你想要“glassfish-resources.xml”。您可以在那里创建JDBC和数据库池资源,JavaMail资源等。

http://javahowto.blogspot.com/2011/02/sample-glassfish-resourcesxml.html

答案 1 :(得分:2)

对于所有正在寻找在Glassfish中设置上下文参数的方法 - 这是可能的。

虽然Glassfish不支持context.xml文件,但您仍可以设置/覆盖Web应用程序上下文参数。有asadmin子命令set-web-context-param来设置这些。这些值将存储在您的domain.xml中 - 在重新部署应用程序时不会丢失。

概要(来自上面的文档链接):

set-web-context-param [--help] --name=context-param-name 
    {--value=value|--ignoredescriptoritem={false|true}} 
    [--description=description] application-name[/module]

JDBC数据源等资源也可以使用asadmin配置,也可以使用glassfish的web gui。所有这些信息都将存储在domain.xml文件中。

答案 2 :(得分:1)

在您的app的web.xml中,根据Java EE规范。

这是关于context.xml的tomcat的简介。

  

您可以配置那些命名值   将在网上显示   应用程序作为servlet上下文   嵌套初始化参数    里面的元素   元件。例如,您可以创建   像这样的初始化参数:

<Context ...>   ...   
<Parameter name="companyName" value="My Company, 
    Incorporated" override="false"/>
</Context>
     

这相当于包含   Web中的以下元素   应用部署描述符   符(/WEB-INF/web.xml):

<context-param>   
    <param-name>companyName</param-name>  
    <param-value>My Company, Incorporated</param-value>
</context-param>

答案 3 :(得分:1)

结果是答案是除了tomcats context.xml中的部分之外别无选择。

事实证明,该元素是一个特定于tomcat的东西,通常不被其他应用服务器支持,例如glassfish。

据我所知,除了通过GUI或命令行界面手动配置数据库资源外,似乎没有简单/明智的选择。

答案 4 :(得分:0)

您可以使用JNDI属性。我相信Glassfish使用jndi.properties文件。

http://docs.sun.com/app/docs/doc/820-4336/gcpge?a=view