Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 能否在jetty-env.xml中为web应用程序上下文设置init参数?_Java_Maven_Jetty_Embedded Jetty - Fatal编程技术网

Java 能否在jetty-env.xml中为web应用程序上下文设置init参数?

Java 能否在jetty-env.xml中为web应用程序上下文设置init参数?,java,maven,jetty,embedded-jetty,Java,Maven,Jetty,Embedded Jetty,我正在为jetty使用maven eclipse插件 是否可以使用标记通过jetty-env.xml设置以下init参数 <init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> </init-param> useFileMappedBuffer 假的 我不想创建自己的web应用程序

我正在为jetty使用maven eclipse插件

是否可以使用
标记通过jetty-env.xml设置以下init参数

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

useFileMappedBuffer
假的

我不想创建自己的web应用程序上下文(webdefault.xml)

否,因为这是
DefaultServlet
init param
配置,在
WebAppContext
中定义为
defaultDescriptor

jetty env.xml
已加载并正在处理时,
WebAppContext
实例已存在,
defaultDescriptor
已加载并初始化

您可以指定特定
init param
的唯一位置是自定义
defaultDescriptor
,您可以在可为您的webapp部署的XML中引用该描述符

注意:
jetty env.xml
是用来定义各种JDNI环境绑定对象的,它并不是专门为其他对象设计的


否,因为这是
DefaultServlet
init参数
配置,在
WebAppContext
中定义为
defaultDescriptor

jetty env.xml
已加载并正在处理时,
WebAppContext
实例已存在,
defaultDescriptor
已加载并初始化

您可以指定特定
init param
的唯一位置是自定义
defaultDescriptor
,您可以在可为您的webapp部署的XML中引用该描述符

注意:
jetty env.xml
是用来定义各种JDNI环境绑定对象的,它并不是专门为其他对象设计的


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

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

org.eclipse.jetty.servlet.Default.useFileMappedBuffer
假的

找到了解决方案。您可以使用
标记调用WebAppContext的setInitParameter方法来设置init参数。对于此标记,您将
name
属性设置为正在调用的方法,第一个参数是参数名,第二个参数是参数值

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

org.eclipse.jetty.servlet.Default.useFileMappedBuffer
假的

可以使用标记,请参阅我的答案。可以使用标记,请参阅我的答案。创造性解决方案,使用ServletContext init参数允许使用DefaultServlet init。不过,闻起来像是一个bug,因为这种技术是为XML部署保留的,并且滥用了
jetty env.XML
(仅用于JNDI环境设置)的目的和作用。不要期望这在将来会起作用。创造性的解决方案,使用ServletContext init参数允许DefaultServlet init使用。不过,闻起来像是一个bug,因为这种技术是为XML部署保留的,并且滥用了
jetty env.XML
(仅用于JNDI环境设置)的目的和作用。别指望这会在将来奏效。