Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к таблице / 6 сообщений из 6, страница 1 из 1
03.08.2017, 09:42
    #39499466
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
Есть таблица вида

Код: java
1.
2.
TableStatus
id name status email



Работает scheduler собирает List<TableStatus> и далее обновляет статусы в зависимости от ситуации
Причем если статус = 1 идет еще и отправка почты TableStatus.email

Помимо scheduler пользователь может сам обновить статус по id

В итоге возникает ситуация

Пользователь захотел обновить статус вручную, получил entity TableStatus и отправил на обновление и заработал scheduler отправил List<TableStatus> на обновление

Получилось и там и там status = 1 и двойная отправка email пошла

Как лучше избежать данной ситуации?
...
Рейтинг: 0 / 0
03.08.2017, 09:47
    #39499470
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
-=Koba=-,
а
Код: java
1.
статус = 0

в системе предусмотрено?
...
Рейтинг: 0 / 0
03.08.2017, 09:48
    #39499471
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
Ну, как бы Optimistic Lock напрашивается. Но придется скедулер научить его обрабатывать.
...
Рейтинг: 0 / 0
03.08.2017, 10:19
    #39499495
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
am_sasa-=Koba=-,
а
Код: java
1.
статус = 0

в системе предусмотрено?

Могу ввести если надо
...
Рейтинг: 0 / 0
03.08.2017, 10:19
    #39499496
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
BlazkowiczНу, как бы Optimistic Lock напрашивается. Но придется скедулер научить его обрабатывать.
Спасибо возьму на заметку
А что вы имеете ввиду под научить его обрабатывать
...
Рейтинг: 0 / 0
03.08.2017, 11:21
    #39499559
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к таблице
-=Koba=-Спасибо возьму на заметку
А что вы имеете ввиду под научить его обрабатывать
Ну, скедулер вычитывает данные, обрабатывает и складывает обратно. И тут он не может сложить их обратно, потому что пользователь поменял данные, и то что поменять скедулер уже не валидно. То есть, как вариант, письмо должно отправляться только после успешного комита в базу.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к таблице / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]