Java-руководство говорит:Как заблокировать файлы в веб-приложении tomcat?
Замки, удерживаемые на конкретный файл с помощью одной виртуальной машины Java не перекрывают друг друга. Метод перекрытий может использоваться для проверки того, перекрывает ли диапазон блокировки кандидата существующий замок.
Я полагаю, что если я заблокирую файл в веб-приложении tomcat, я не могу быть уверен, что каждый вызов этого приложения выполняется другой JVM, могу ли я? Итак, как я могу заблокировать файлы в моем приложении tomcat надежным способом?
Открытие FileInputStreams автоматически не создает блокировку файлов, или я ошибаюсь? Если я создаю блокировки на уровне O/S, это означает, что блокировки могут находиться на уровне процесса, а одно приложение с несколькими потоками может одновременно обращаться к файлу. Могу ли я рассчитывать, что tomcat выполнит каждый веб-запрос в другом процессе вместо использования потоков? – yankee
Почему бы вам не попробовать? –
Потому что, даже если я узнаю, что моя ОС блокируется на уровне потока, а не на уровне процесса, я не знаю, верно ли это для другой операционной системы. Даже если я узнаю, что tomcat использует процессы в моей настройке, как узнать, действительно ли это верно, если я развертываю свое приложение на другом сервере? Все это немного расплывчато, поэтому я хотел бы прочитать спецификацию, в которой говорится наверняка, или руководство по блокировке файлов в надежном переносном виде в веб-приложениях tomcat. – yankee