|
Controller & Transactions
|
|||
---|---|---|---|
#18+
Есть контроллер Код: java 1. 2. 3. 4. 5. 6. 7. 8.
И соотвественно сервис Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Собственно вопрос Если в контроллер проходит метод - method1, а method2 падает Можно ли откатывать и изменения method1? Читал, что управление транзакция на уровне контроллера плохая идея Поэтому и возник вопрос Логику работы методов менять нельзя (из method1 вызвать method2 не могу) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 14:33 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
-=Koba=-, Теоретически плохо 2 метода в контроллере. Это же уже БЛ? Но по факту голый контроллер тоже плохо. Поэтому делай в контроллере если надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 14:46 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
Теоретический да... это уже готовая БЛ И всплыл такой баг Что изменения должны быть все или ничего В моем случае, транзакция метода 1 проходит, метод 2 падает Можете поянсить - Но по факту голый контроллер тоже плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 14:48 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
-=Koba=-, Еденица работы это вызов POST Поэтому непонятно, почему ты разбил Одну единицу из двух методов на две транзакции? Ты должен вызвать всю работу в одной транзакции. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 14:56 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
-=Koba=-, >Можете поянсить - Но по факту голый контроллер тоже плохо. = если проект маленький, то вообще можно не разбивать на слои и все делать в контроллерах. Даже ссыль на хибер иметь. Если большой то контроллер считается ГУИ и там бл не должно быть. Там логика запросов ЮЗВЕРЯ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 15:05 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
-=Koba=-, >Логику работы методов менять нельзя (из method1 вызвать method2 не могу) = а из метода3 вызвать 1 и потом 2? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 15:08 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
PetroNotC Sharp -=Koba=-, >Логику работы методов менять нельзя (из method1 вызвать method2 не могу) = а из метода3 вызвать 1 и потом 2? Ок спасибо за наводку.... подумаю, так можно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 15:10 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
со спринговым aop такое может не сработать - метод должен извне вызываться, чтоб его завернуло в траназакцию, async и т.д. - если из метода3 вызвать метод2 или 1, то транзакции не будет у каждого из них, только у метод3. Нужно AspectJ юзать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 16:28 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
chpasha, Ну, я и подумал что ему не надо делать типа автономной транзакции. Не так часто требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 17:22 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
chpasha, А вот если понадобится, то я не понял что значит "извне". Стек вызовов вроде везде одинаков. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 17:25 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
chpasha со спринговым aop такое может не сработать - метод должен извне вызываться, чтоб его завернуло в траназакцию, async и т.д. - если из метода3 вызвать метод2 или 1, то транзакции не будет у каждого из них, только у метод3. Нужно AspectJ юзать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 17:52 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Тут имхо непонятно что он спрашивал. Как всегда на форуме, три пишем, а семь на ум пошло. - если нужна была одна, то почему аннотация на новую. - если две, то с какой целью. В общем вроде пациент разобрался мирно и без эксцессов. ... Но есть повод поболтать в рамках инженерии). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 18:24 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Ему и не надо чтоб method1 & method2 были обернуты каждый в свою транзакцию мне это не очевидно хотя бы потому, что у них propagation разные - я как-то по наивности полагал, что там REQUIRES_NEW не от балды вставлено Stanislav Bashkyrtsev И есть методы по-проще нежели AspectJ прикручивать, даже если вызов "внутренний". PetroNotC Sharp А вот если понадобится, то я не понял что значит "извне". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 19:07 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
chpasha Stanislav Bashkyrtsev Ему и не надо чтоб method1 & method2 были обернуты каждый в свою транзакцию мне это не очевидно хотя бы потому, что у них propagation разные - я как-то по наивности полагал, что там REQUIRES_NEW не от балды вставлено -=Koba=-Если в контроллер проходит метод - method1, а method2 падает Можно ли откатывать и изменения method1А propagation поставлен наверно от балды. Он просто еще не разобрался с тем как транзакционность настраивается. Конкретно в данном куске кода мог стоять и обычный REQUIRES . chpasha Stanislav Bashkyrtsev И есть методы по-проще нежели AspectJ прикручивать, даже если вызов "внутренний". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2021, 23:36 |
|
Controller & Transactions
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Почему мы не рассматриваем очевидные (и правильные) решения? Stanislav Bashkyrtsev хаки типа self injection ну нет, это уже из разряда можно ли съесть лампочку ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 11:40 |
|
|
start [/forum/topic.php?fid=59&msg=40068583&tid=2120456]: |
0ms |
get settings: |
17ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
35ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
267ms |
get tp. blocked users: |
0ms |
others: | 371ms |
total: | 701ms |
0 / 0 |