Tomcat中Context的设置

Tomcat中,要配置webapp时,通常会去编辑server.xml。比如配置Environment环境变量,Parameter参数,以及Resource和webapp的path等等。频繁的去动全局的server.xml会多不少麻烦,比如当你要频繁的配置在不同的机器上时。
我们可以把这些配置放在/META-INF/context.xml中,跟着我们的webapp走。这样改变的一个副作用就是,你的配置仅仅会被你当前的webapp来加载。而server.xml中的配置是全局起作用的(Glassfish中的话,在/domains/domain1/config/context.xml)。可以看下面一个例子,(摘自Seam的example)

<Context path="/jboss-seam-hibernate" docBase="jboss-seam-hibernate"
debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="sa"
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:." />
</Context>

再来一个示例。
<Context>
<Environment name="webapp-env" type="java.lang.String" value="webapp-env-value"/>
<Resource name="jdbc/__default" auth="Container"
type="javax.sql.DataSource"
description="Default Database"/>
</Context>

Glassfish从V2 Beta 2 以后的版本都应该支持这个特性。

0 Responses to "Tomcat中Context的设置"