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