您可以在 jetty-env.xml 中为 Web 应用上下文设置初始化参数吗?

Can you set init parameters in the jetty-env.xml for the web app context?

我正在使用 jetty 的 maven eclipse 插件。

是否可以通过 jetty-env.xml 使用 <set> 标签设置以下初始化参数?

<init-param>
   <param-name>useFileMappedBuffer</param-name>
   <param-value>false</param-value>
 </init-param>

我不想创建自己的网络应用上下文(webdefault.xml)

不,因为那是 DefaultServletinit-param 配置,在 WebAppContext.

中定义为 defaultDescriptor

jetty-env.xml 被加载和处理时,WebAppContext 实例已经存在,并且 defaultDescriptor 已经被加载和初始化。

您唯一可以指定特定 init-param 的地方是您在 XML 可部署的 webapp 中引用的自定义 defaultDescriptor

Note: jetty-env.xml exists to define various JDNI environment bound objects, its not designed for anything else really.

找到解决办法。您可以使用 <Call> 标签调用 WebAppContext 的 setInitParameter 方法来设置初始化参数。对于此标记,您将 name 属性设置为您正在调用的方法,第一个参数是参数名称,第二个参数是参数值。

<Call name="setInitParameter">
    <Arg>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</Arg>
    <Arg>false</Arg>
</Call>