|
|
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю Spring Boot проводит автоконфигурацию менеджера транзакций, и производит запросы в базу в своих дефолтных транзакциях. Выходит что мои кастомные транзакции не создаются Код: java 1. 2. 3. 4. 5. 6. Вывел лог в консоль и при выполнении метода вижу: автор[DEBUG] Creating new transaction with name [org.springframework.data.jpa.repository.support.SimpleJpaRepository.count]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly; '' [DEBUG] Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@556c19] [DEBUG][org.hibernate.SQL] - select count(*) from dual; [DEBUG] Initiating transaction commit [DEBUG] Committing JPA transaction on EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@68ef31] [DEBUG] Creating new transaction with name [org.springframework.data.jpa.repository.support.SimpleJpaRepository.count]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly; '' [DEBUG] Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@556c19] [DEBUG][org.hibernate.SQL] - select count(*) from dual2; [DEBUG] Initiating transaction commit [DEBUG] Committing JPA transaction on EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@68ef31] Нужно каким то образом инициализировать свой бин менеджера транзакций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 11:11 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Нифига не понятно. Зачем свой бин менеджера транзакций? Что такое "мои кастомные транзакции"? У вас у метода Propagation.NEVER, а у репозитория PROPAGATION_REQUIRED. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 11:35 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Похоже я не так понял принципы работы транзакций. Каким образом я могу выполнить ряд запросов сервисного метода в пределах одной транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 11:58 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
JonnySKSКаким образом я могу выполнить ряд запросов сервисного метода в пределах одной транзакции? Таким: Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:14 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Но судя по логу создаются отдельные транзакции к каждому из запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:17 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
JonnySKSBlazkowicz, Но судя по логу создаются отдельные транзакции к каждому из запросов. После того как вы убрали параметры аннотации лог не поменялся? Сервисный объект точно создан спрингом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:31 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJonnySKSBlazkowicz, Но судя по логу создаются отдельные транзакции к каждому из запросов. После того как вы убрали параметры аннотации лог не поменялся? Сервисный объект точно создан спрингом? Да, лог не изменился. Объект помечен аннотацией @Service и вызывается как бин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:36 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Ошибся, когда убрал параметры аннотации у @Transactional запросы стали отправляться в 1 транзакции. автор[DEBUG]Creating new transaction with name : PROPAGATION_REQUIRED,ISOLATION_DEFAULT; '' [DEBUG]Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@6fa875] [DEBUG] Adding transactional method 'count' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly; '' [DEBUG] Participating in existing transaction [DEBUG][org.hibernate.SQL] - select count() [DEBUG] Found thread-bound EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@317bcd] for JPA transaction [DEBUG] Participating in existing transaction [DEBUG][org.hibernate.SQL] - select count() [DEBUG] Initiating transaction commit [DEBUG] Committing JPA transaction on EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@317bcd] Но как тогда применить иные свойства транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:45 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
JonnySKSНо как тогда применить иные свойства транзакции? что значит? - было в разных - не нравилось. - стало в одной - не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 13:11 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
JonnySKSОшибся, когда убрал параметры аннотации у @Transactional запросы стали отправляться в 1 транзакции. Ну, вот. JonnySKSНо как тогда применить иные свойства транзакции? Через параметры. Просто параметры которые вы задали не соостветвуют поведению, которого вы хотели добится. Особенно propagation. Вы его в Never с какой целью поставили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 14:37 |
|
||
|
TransactionManager Spring Boot
|
|||
|---|---|---|---|
|
#18+
Petro123JonnySKSНо как тогда применить иные свойства транзакции? что значит? - было в разных - не нравилось. - стало в одной - не нравится. Нет, вторым результатом я доволен) BlazkowiczЧерез параметры. Просто параметры которые вы задали не соостветвуют поведению, которого вы хотели добится. Особенно propagation. Вы его в Never с какой целью поставили? Теперь понял в чем проблема. В источнике, который я читаю, вскользь упомянули о режимах распространения и я неверно интерпретировал пример. Прочитал в других источниках и более-менее разобрался со способами применения этих параметров. BlazkowiczОсобенно propagation А с readOnly тоже что то не так? Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:43 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39096521&tid=2124709]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 494ms |

| 0 / 0 |
