Я думаю, что когда вы открываете соединение для получения данных из базы данных, то, вероятно, вы не закрываете эти соединения. И каждый раз, когда ваше приложение создает новое соединение с базой данных, не закрывая старое. Поскольку sql имеет ограниченное количество соединений, поэтому после однажды или через некоторое время ваше приложение не сможет подключиться к вашей базе данных. Так что вы не получаете данные из базы данных. И когда вы перезагружаете свое приложение в это время, вы перезапускаете tomcat, чтобы все ваши соединения с базой данных были закрыты. Так что в следующий раз вы сможете получать данные из базы данных.
Поэтому проверяйте, правильно ли вы закрываете соединения с базой данных после каждой транзакции. Возможно, это ваша проблема.