выпуск
Я работаю над приложением, которое, как и многие другие приложения, начинает со страницы входа в систему, прежде чем показывать какие-либо данные.
Проблема в том, что мой клиент специально запросил, чтобы введенные учетные данные использовались для доступа к базе данных.
Это означает, что вместо запуска имени пользователя / пароля для таблицы «пользователь» они будут использоваться для получения персонального доступа к базе данных пользователя.
Мои начальники решили, что это приложение будет построено поверх скелета SpringBoot, в котором используется механизм аутентификации JWT без сохранения состояния.
Я не эксперт, когда дело доходит до сравнения преимуществ Stateless против Stateful, но если я правильно понял концепцию, это означает, что моему приложению потребуется восстанавливать соединение с базой данных при каждом отдельном запросе, верно?
Я спрашиваю об этом, потому что у нас очень медленное время отклика.
Кажется, что код немного зависает в коде, связанном с настройкой базы данных, например
dataSrc.getConnection();
или
entityManagerFactoryBean.afterPropertiesSet();
Возможное решение?
Я слышал о StatelessSession Hibernate, но мне не удалось его настроить.
Я даже не уверен, что это вообще поможет, но из того, что я прочитал, он использует Hibernate API более низкого уровня, который может помочь смягчить проблему, без особого влияния на то, как все уже закодировано, так как Операции SQL являются исключительно вызовами хранимых процедур, которые вручную сопоставляются с объектами Java.
Что мне нужно помочь с
В принципе, я просто хочу получить ответы на 3 вопроса:
Вопрос 1:
Должен ли я просто вернуться к проверке подлинности с сохранением состояния, поскольку модели без сохранения состояния не адаптированы к моему сценарию использования?
Вопрос 2 и 3:
Может ли система StatelessSession быть реализована в моем сценарии, и будет ли она существенно влиять на время соединения с базой данных?
Но, конечно, если вы знаете о каком-либо другом указании, которое поможет мне решить мою проблему, не возвращая все это в Stateful, я это сделаю!