Size: a a a

Spring Framework and more

2017 August 30

IS

Ivan SPb in Spring Framework and more
источник

ON

Oleg Nyrkov in Spring Framework and more
Там все просто или ты вызываешь flush или TransactionManager(при закрытии сессии), его нужно создать(включить(обьявить)). Да хибер его может вызвать не ожиданно например когда ты сделаешь запрос к этой сущьности, Например сделал мерж, а потом решил прочитать ее из бд, в этой же сессии
источник

IS

Ivan SPb in Spring Framework and more
В том и дело что transactionManager есть - это всё на уровне тестов пока
источник

IS

Ivan SPb in Spring Framework and more
источник

ON

Oleg Nyrkov in Spring Framework and more
на уровне теста у тебя программа выходит не успев сбросить сессию
источник

IS

Ivan SPb in Spring Framework and more
источник

IS

Ivan SPb in Spring Framework and more
Oleg Nyrkov
на уровне теста у тебя программа выходит не успев сбросить сессию
Тогда как с этим бороться?
источник

IS

Ivan SPb in Spring Framework and more
Сущность то после апдейте в БД старая остается
источник

ON

Oleg Nyrkov in Spring Framework and more
теперь анатируешь @Transaction метод, а сервис достаешь из спринга
источник

ON

Oleg Nyrkov in Spring Framework and more
он должен быть под прокси
источник

ON

Oleg Nyrkov in Spring Framework and more
и когда в дебаге зайдешь увидешь портянку в стек трейсе там должен быть TransactionInterceptor
источник

IS

Ivan SPb in Spring Framework and more
У меня весь тестовый класс аннотирован @Transactional
источник

ON

Oleg Nyrkov in Spring Framework and more
про АОП читаем резвенчиваем мифы о транзакциях
источник

IS

Ivan SPb in Spring Framework and more
Oleg Nyrkov
и когда в дебаге зайдешь увидешь портянку в стек трейсе там должен быть TransactionInterceptor
нет там такого
источник

ON

Oleg Nyrkov in Spring Framework and more
ну показывай как вызываешь, потому что должен быть
источник

IS

Ivan SPb in Spring Framework and more
источник

IS

Ivan SPb in Spring Framework and more
источник

ON

Oleg Nyrkov in Spring Framework and more
а что анотацией помеченно? юнит тест? а кто этуанотацию обрабатывает?
источник

AR

Alex Rasskazov in Spring Framework and more
#h2 #embedded
ДД! есть небошая програмка на встроенной h2 определенной как url: jdbc:h2:file:./data/pact В которую потоянно, но небошили количествами грузятся данные сама БД всего 135Мб. Сегодня, юзер вырубил прогу cntl+c но при этом по логам запись уже была остановленна. При повторной попытки запуска вылетела

2017-08-30 15:36:44.864 ERROR 5060 —- [http-nio-8080-exec-3] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool. org.h2.jdbc.JdbcSQLException: Внутренняя ошибка: "java.lang.NullPointerException"  

а немного ниже

2017-08-30 15:36:44.915  WARN 5060 —- [http-nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 50000, SQLState: HY000
2017-08-30 15:36:44.915 ERROR 5060 —- [http-nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : Внутренняя ошибка: "java.lang.NullPointerException"
General error: "java.lang.NullPointerException" [50000-195]
2017-08-30 15:36:44.918 ERROR 5060 —- [http-nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: Unable to acquire JDBC Connection; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection] with root cause java.lang.NullPointerException: null

Понятно что БД где-то закрашило (как именно пока сказать не могу, сам файл БД мне еще не отправили) , запуск с "чистой" БД  без записей прошол спокойно. Я ниразу не сталкивалкивался с крашем embedded h2 поэтому хотел посоветоваться из-за чего это могло произойти, Сами данные не особо важны как устраниние причины на будующее, может перенастроить на тот же mysql и будет стабильнее? может есть советы по путям диагностики?

spring boot 1.5.4, h2 1.4.195

Полный лог запуска: https://pastebin.com/P0b9UQCm
источник

ON

Oleg Nyrkov in Spring Framework and more
с бд такое случается :( можно трасировку включить http://www.h2database.com/html/features.html#trace_options
источник