У нас тоже была эта проблема довольно давно, я просто хотел выразить некоторые вещи, относящиеся к 2) в принятом выше ответе.
Итак, проблема здесь в том, что временные папки tomcat внезапно "исчезают" ине для "POSTs в целом", как утверждается, а конкретно для составных запросов.Таким образом,
spring.servlet.multipart.location / spring.http.multipart.location
участвует здесь.Как сказал выше @Frankstar, в недавнем весеннем загрузочном коде это исправлено «всегда создавая tmp-папку, если ее там нет», тоже работает, конечно, , если , у вас супер-свежая весна -загрузки.
Вы можете, как указано в принятом ответе, указать его где-то еще, кроме / tmp, и он будет работать нормально (хотя, что касается очистки, вам, возможно, следует прочитать здесь https://github.com/spring-projects/spring-boot/issues/9983 -теперь вы зависите от очистки весенних сапог, которая, однако, должна работать нормально).
Но почему папка действительно исчезла?Далее Хасан Саван говорит, что «это ошибка между серверами Spring и Tomcat».Но так ли это на самом деле ..?
Для нас решением было настроить этот материал.Операционные системы, такие как CentOS, будут использовать (см., Например, https://www.thegeekdiary.com/centos-rhel-7-how-tmpfiles-clean-up-tmp-or-var-tmp-replacement-of-tmpwatch)) systemd для очистки / tmp - и все, что не будет доступно в течение 10 дней, будет очищено по умолчанию.
Таким образом, на наших серверах redhat мы решили это, отредактировав
/usr/lib/tmpfiles.d/tmp.conf
, добавив строку типа
X /tmp/tomcat.*
, чтобы решить эту проблему. Вы также можете проверить это, используя
# SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean 2>&1 | grep tomcat
, где вы увидите, что эти каталоги теперь будут игнорироваться.
Существует также это исправление для систем, в то время как вместо этого используется tmpwatch https://javahotfix.blogspot.com/2019/03/spring-boot-micro-services-tmptomcat.html
Примечание: упомянутые выше решения для "перезагрузки""или просто # mkdir / tmp / tomcat .... просто не были приняты, где я работаю.