我在Tomcat的context.xml
文件的<Context>
节点内提供<Parameter name="javax.servlet.context.tempdir" value="${catalina.base}/my_temp" override="false"/>
。Tomcat 7设置的javax.servlet.context.tempdir的值不受RichFaces 4.2.2Final
我知道这是被人看见在服务器启动时,因为此日志消息:
INFO: Creating LRUMap cache instance using parameters: {javax.servlet.context.tempdir=D:\{omitted}\tmp0\my_temp, org.richfaces.resourceMapping.enabled=true, javax.faces.PROJECT_STAGE=Development, javax.faces.SKIP_COMMENTS=true}
然而,在RichFaces的跨过代码FileUploadFacesContextFactory.getTempFilesDirectory()
方法,以servletContext.getAttribute("javax.servlet.context.tempdir")
通话(其中servletContext
是org.apache.catalina.core.ApplicationContextFacade
实例时)给出值D:\{omitted}\tmp0\work\Catalina\localhost\_
。
我在印象中(从Tomcat Docs on context parameters)设置override="false"
应该让任何应用程序不能为此参数提供替代值。
这是预期的行为?我的配置错误?
我一直对修改价值的想法感到不舒服,但感到我被迫(因为在我的一个早期试验期间该目录不存在)。我现在知道我有其他选择。感谢您澄清''节点的意图,克里斯托弗。 –
2012-07-31 14:53:30