Исключение дублирующегося ключа в Spring Boot и Spring JDBC Session - PullRequest
0 голосов
/ 16 октября 2018

Я установил приложение Spring Boot MVC (2.0.5.RELEASE), используя Spring Initializr, где я также включил «Сеанс».Похоже, что это включает в себя «реализацию ('org.springframework.session: spring-session-jdbc')» в моих зависимостях build.grade, и, насколько я понимаю, дополнительная настройка не требуется.Единственное, что я добавил, - это миграция ликвидазы для необходимых таблиц БД для поддержки сеанса на основе JDBC.Приложение загружается и прослушивает 8080 просто отлично, но когда я нажимаю на контроллер, я получаю сообщение об ошибке в следующих строках отладки:

21:36:34.903 [QUIET] [system.out] org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [INSERT INTO SPRING_SESSION_ATTRIBUTES(SESSION_PRIMARY_ID, ATTRIBUTE_NAME, ATTRIBUTE_BYTES) SELECT PRIMARY_ID, ?, ? FROM SPRING_SESSION WHERE SESSION_ID = ?ERROR: duplicate key value violates unique constraint "pk_spring_session_attributes"
21:36:34.903 [QUIET] [system.out]   Detail: Key (session_primary_id)=(e4eba468-b0c0-4561-991b-7da4b83326c9) already exists.; nested exception is org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "pk_spring_session_attributes"
21:36:34.903 [QUIET] [system.out]   Detail: Key (session_primary_id)=(e4eba468-b0c0-4561-991b-7da4b83326c9) already exists.
21:36:34.903 [QUIET] [system.out]       at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:242) ~[spring-jdbc-5.0.9.RELEASE.jar:5.0.9.RELEASE]

Буду признателен за любое объяснение, почему я получаю этоошибка, когда кажется, что создание и загрузка сессий является основной встроенной функциональностью.Я предполагаю, что мне нужно будет добавить некоторую конфигурацию, но я не уверен, что добавить, и почему он кажется наполовину функционирующим без какой-либо.

...