Я собираюсь предположить, что вы работаете в Linux, потому что здесь у меня есть ответ.
Первый шаг - проверить ulimit на наличие открытых файлов и попытаться установить его выше в оболочке:
ulimit -n
Вероятно, будет напечатано 1024, что является «нормальным» пользовательским пределом для Linux. Попробуйте установить большее число:
ulimit -n 2048
Если это удалось, отлично. Поместите эту команду в ваш скрипт входа в систему, и вы должны быть готовы. Если нет, то вам нужно увеличить лимит для каждого пользователя. Согласно этого документа , файл, который вы хотите редактировать, является /etc/security/limits.conf
Кстати, вы (вероятно) этого не видите, потому что Tomcat продолжает читать один и тот же файл. JVM обычно открывает (и отображает в памяти) все файлы JAR, используемые вашим приложением, и может также сохранять открытые дескрипторы файлов для файлов конфигурации. При открытии файла хранилища ключей случается, что он достигает предела.