代码之家  ›  专栏  ›  技术社区  ›  corydoras

什么是glassfish替代context.xml

  •  5
  • corydoras  · 技术社区  · 15 年前

    我习惯于在中配置Web应用程序 context.xml 包括JDBC资源和应用程序配置参数。

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

    我们以前把它储存在 上下文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 回复  |  直到 12 年前
        1
  •  2
  •   ringerc    14 年前

    听起来您需要“glassfish resources.xml”。您可以在那里创建JDBC和数据库池资源、Javamail资源等。

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

        2
  •  2
  •   Michael Paesold    13 年前

    对于所有想在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文件中。

        3
  •  1
  •   corydoras    15 年前

    结果是,在tomcats context.xml中,没有其他选择。

    事实证明,元素是Tomcat特有的东西,通常不受其他应用服务器(如Glassfish)的支持。

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

        4
  •  1
  •   Arjan Tijms Mike Van    12 年前

    在你的应用程序的Web.xml中,每个Java EE规范。

    下面是Tomcat关于context.xml的宣传。

    您可以配置 将对Web可见 应用程序作为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>
    
        5
  •  0
  •   Kaleb Brasee    15 年前

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

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