You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2020/06/04 20:32:19 UTC
[tomcat] branch 8.5.x updated: Play a little more nicely with
read-only file systems
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new ccf0a9b Play a little more nicely with read-only file systems
ccf0a9b is described below
commit ccf0a9b246427014f59aaf904ad5441b343e2976
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jun 4 21:23:07 2020 +0100
Play a little more nicely with read-only file systems
---
java/org/apache/catalina/startup/Catalina.java | 8 ++++----
java/org/apache/catalina/startup/ContextConfig.java | 17 ++++++++++-------
.../org/apache/catalina/startup/LocalStrings.properties | 3 +--
.../apache/catalina/startup/LocalStrings_es.properties | 2 --
.../apache/catalina/startup/LocalStrings_fr.properties | 2 --
.../apache/catalina/startup/LocalStrings_ja.properties | 2 --
.../apache/catalina/startup/LocalStrings_ko.properties | 2 --
.../catalina/startup/LocalStrings_zh_CN.properties | 2 --
webapps/docs/changelog.xml | 10 ++++++++++
9 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/java/org/apache/catalina/startup/Catalina.java b/java/org/apache/catalina/startup/Catalina.java
index 5df6701..dbfcc1b 100644
--- a/java/org/apache/catalina/startup/Catalina.java
+++ b/java/org/apache/catalina/startup/Catalina.java
@@ -792,11 +792,11 @@ public class Catalina {
}
+ /**
+ * @deprecated unused. Will be removed in Tomcat 10 onwards.
+ */
+ @Deprecated
protected void initDirs() {
- String temp = System.getProperty("java.io.tmpdir");
- if (temp == null || (!(new File(temp)).isDirectory())) {
- log.error(sm.getString("embedded.notmp", temp));
- }
}
diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java
index ff890a5..a56ee23 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -674,7 +674,7 @@ public class ContextConfig implements LifecycleListener {
protected void antiLocking() {
if ((context instanceof StandardContext)
- && ((StandardContext) context).getAntiResourceLocking()) {
+ && ((StandardContext) context).getAntiResourceLocking()) {
Host host = (Host) context.getParent();
String docBase = context.getDocBase();
@@ -695,14 +695,17 @@ public class ContextConfig implements LifecycleListener {
ContextName cn = new ContextName(path, context.getWebappVersion());
docBase = cn.getBaseName();
+ String tmp = System.getProperty("java.io.tmpdir");
+ File tmpFile = new File(tmp);
+ if (!tmpFile.isDirectory()) {
+ log.error(sm.getString("contextConfig.noAntiLocking", tmp, context.getName()));
+ return;
+ }
+
if (originalDocBase.toLowerCase(Locale.ENGLISH).endsWith(".war")) {
- antiLockingDocBase = new File(
- System.getProperty("java.io.tmpdir"),
- deploymentCount++ + "-" + docBase + ".war");
+ antiLockingDocBase = new File(tmpFile, deploymentCount++ + "-" + docBase + ".war");
} else {
- antiLockingDocBase = new File(
- System.getProperty("java.io.tmpdir"),
- deploymentCount++ + "-" + docBase);
+ antiLockingDocBase = new File(tmpFile, deploymentCount++ + "-" + docBase);
}
antiLockingDocBase = antiLockingDocBase.getAbsoluteFile();
diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties
index 5daf876..0197b39 100644
--- a/java/org/apache/catalina/startup/LocalStrings.properties
+++ b/java/org/apache/catalina/startup/LocalStrings.properties
@@ -57,6 +57,7 @@ contextConfig.jndiUrlNotDirContextConn=The connection created for URL [{0}] was
contextConfig.jspFile.error=JSP file [{0}] must start with a ''/''
contextConfig.jspFile.warning=WARNING: JSP file [{0}] must start with a ''/'' in Servlet 2.4
contextConfig.missingRealm=No Realm has been configured to authenticate against
+contextConfig.noAntiLocking=The value [{0}] configured for java.io.tmpdir does not point to a valid directory. The antiResourceLocking setting for the web application [{1}] will be ignored.
contextConfig.processAnnotationsDir.debug=Scanning directory for class files with annotations [{0}]
contextConfig.processAnnotationsJar.debug=Scanning jar file for class files with annotations [{0}]
contextConfig.processAnnotationsWebDir.debug=Scanning web application directory for class files with annotations [{0}]
@@ -74,8 +75,6 @@ contextConfig.unknownUrlProtocol=The URL protocol [{0}] was not recognised durin
contextConfig.urlPatternValue=Both the urlPatterns and value attributes were set for the [{0}] annotation on class [{1}]
contextConfig.xmlSettings=Context [{0}] will parse web.xml and web-fragment.xml files with validation:[{1}] and namespaceAware:[{2}]
-embedded.notmp=Cannot find specified temporary folder at [{0}]
-
engineConfig.cce=Lifecycle event data object [{0}] is not an Engine
engineConfig.start=EngineConfig: Processing START
engineConfig.stop=EngineConfig: Processing STOP
diff --git a/java/org/apache/catalina/startup/LocalStrings_es.properties b/java/org/apache/catalina/startup/LocalStrings_es.properties
index e27d107..47ff2bf 100644
--- a/java/org/apache/catalina/startup/LocalStrings_es.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_es.properties
@@ -63,8 +63,6 @@ contextConfig.unknownUrlProtocol=El protocolo de URL [{0}] no fue reconocido dur
contextConfig.urlPatternValue=Ambis valores de urlPatterns y atributo fuerno puestos para anotación de [{0}] de la clase [{1}]
contextConfig.xmlSettings=El contexto [{0}] analizará los ficheros web.xml y web-fragment.xml con validación:[{1}] y namespaceAware:[{2}]
-embedded.notmp=No puedo hallar carpeta temporal especificada en [{0}]
-
engineConfig.cce=El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) [{0}] no es un motor (engine)
engineConfig.start="EngineConfig": Procesando "START"
engineConfig.stop="EngineConfig": Procesando "STOP"
diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 347862a..8fdab27 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -70,8 +70,6 @@ contextConfig.unknownUrlProtocol=Le protocole de l''URL [{0}] n''a pas été rec
contextConfig.urlPatternValue=A la fois les attributs urlPatterns et la valeur ont été fixés pour l''annotation [{0}] de la classe [{1}]
contextConfig.xmlSettings=Le contexte [{0}] va traiter les fichiers web.xml et le web-fragment.xml avec la validation [{1}] et namespaceAware [{2}]
-embedded.notmp=Impossible de trouver le répertoire temporaire à [{0}]
-
engineConfig.cce=L''objet donnée évènement cycle de vie (Lifecycle event data object) [{0}] n''est pas un moteur (engine)
engineConfig.start="EngineConfig" : Traitement du "START"
engineConfig.stop="EngineConfig" : Traitement du "STOP"
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index ee9f4ad..f7d633a 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -70,8 +70,6 @@ contextConfig.unknownUrlProtocol=アノテーション処理中にURLプロト
contextConfig.urlPatternValue=urlPatterns属性とvalue属性の両方が、クラス[{1}]の[{0}]アノテーションに対して設定されています。
contextConfig.xmlSettings=Context[{0}]は、validation:[{1}]およびnamespaceAware:[{2}]を使用してweb.xmlおよびweb-fragment.xmlファイルを解析します
-embedded.notmp=[{0}]に指定された一時フォルダが見つかりません
-
engineConfig.cce=ライフサイクルイベントデータオブジェクト [{0}] はエンジンではありません
engineConfig.start=EngineConfig: 処理を開始します
engineConfig.stop=EngineConfig: 処理を停止します
diff --git a/java/org/apache/catalina/startup/LocalStrings_ko.properties b/java/org/apache/catalina/startup/LocalStrings_ko.properties
index 3a22667..26afe9f 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ko.properties
@@ -70,8 +70,6 @@ contextConfig.unknownUrlProtocol=Annotation 처리 중, 인식되지 않는 프
contextConfig.urlPatternValue=클래스 [{1}]의 [{0}] annotation을 위해, urlPatterns와 value 속성, 둘 다 설정되었습니다.
contextConfig.xmlSettings=컨텍스트 [{0}]이(가), validation:[{1}]와(과) namespaceAware:[{2}]을 사용하여, web.xml과 web-fragment.xml 파일들을 파싱합니다.
-embedded.notmp=[{0}] 위치로 지정된 임시 폴더를 찾을 수 없습니다.
-
engineConfig.cce=Lifecycle 이벤트 데이터 객체 [{0}]이(가) Engine 객체가 아닙니다.
engineConfig.start=EngineConfig: START 처리 중
engineConfig.stop=EngineConfig: STOP 처리 중
diff --git a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
index ac0036e..5fa3049 100644
--- a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
@@ -70,8 +70,6 @@ contextConfig.unknownUrlProtocol=注解解析过程中,URL协议[{0}]未识别
contextConfig.urlPatternValue=类文件[{1}]的urlPatterns和值属性上同时设置了注解[{0}]
contextConfig.xmlSettings=上下文[{0}]将解析web.xml和web-fragment.xml文件,验证为:[{1}],命名空间感知为(:[{2}]
-embedded.notmp=在[{0}]找不到指定的临时文件夹
-
engineConfig.cce=生命周期事件数据对象[{0}]不是一个引擎(Engine)
engineConfig.start=EngineConfig:处理开始。
engineConfig.stop=引擎配置:处理进程停止
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1cf1f14..818da19 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -45,6 +45,16 @@
issues do not "pop up" wrt. others).
-->
<section name="Tomcat 8.5.57 (markt)" rtext="in development">
+ <subsection name="Catalina">
+ <changelog>
+ <add>
+ Remove the error message on start if <code>java.io.tmpdir</code> is
+ missing and add an explicit error message on application deployment when
+ the sole feature that depends on it (anti-resource locking) is
+ configured and can't be used. (markt)
+ </add>
+ </changelog>
+ </subsection>
</section>
<section name="Tomcat 8.5.56 (markt)" rtext="release in progress">
<subsection name="Catalina">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org