Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как отследить правку данных в десктоп приложении / 25 сообщений из 33, страница 1 из 2
28.01.2013, 17:46:40
    #38127695
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Подскажите пожалуйста, как правильно реализуется следующий функционал в десктоп приложении:
пользователь открыл окошко, правит в нем данные, второй пользователь на своем компьютере тоже открыл это окошко и так же пытается править данные. Вопрос! Как сделать так, чтобы у второго пользователя где-то в уголочке отображалась запись, типа: идет редактирование пользователем таким-то...
Спасибо.
...
Рейтинг: 0 / 0
28.01.2013, 17:54:34
    #38127715
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Добрый день, JulT!

> Подскажите пожалуйста, как правильно реализуется следующий функционал в
> десктоп приложении:
> пользователь открыл окошко, правит в нем данные, второй пользователь на
> своем компьютере тоже открыл это окошко и так же пытается править
> данные. Вопрос! Как сделать так, чтобы у второго пользователя где-то в
> уголочке отображалась запись, типа: идет редактирование пользователем
> таким-то...

Например через пассивную блокировку- у изменяемого объекта в БД
проставляется ссылка на того, кто редактирует и второму пишется "нельзя
менять запись, занятую пользователем ...".

Вообще ответ на вопрос "что делать, если да пользователя одновременно
изменили одно и то же поле на разные значения" очень нужно дать до
разработки.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.01.2013, 17:54:53
    #38127717
Troglodit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Проще сделать запрет на редактирование в один момент времени.
...
Рейтинг: 0 / 0
28.01.2013, 18:09:52
    #38127745
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
TrogloditПроще сделать запрет на редактирование в один момент времени.
Проще чем что?
...
Рейтинг: 0 / 0
28.01.2013, 18:16:18
    #38127759
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
JulTу второго пользователя где-то в уголочке отображалась запись, типа: идет редактирование пользователем таким-то...
самое интересное дальше.....что они дальше делают?

Если хибер , то
LockMode.UPGRADE
или блокировать чтобы второй не мог взять на редактирование
LockMode.UPGRADE_NOWAIT
...
Рейтинг: 0 / 0
28.01.2013, 18:30:20
    #38127794
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123JulTу второго пользователя где-то в уголочке отображалась запись, типа: идет редактирование пользователем таким-то...
самое интересное дальше.....что они дальше делают?

Если хибер , то
LockMode.UPGRADE
или блокировать чтобы второй не мог взять на редактирование
LockMode.UPGRADE_NOWAIT
а если не хибер, а оракл топлинк?
...
Рейтинг: 0 / 0
28.01.2013, 18:32:00
    #38127799
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123LockMode.UPGRADE
или блокировать чтобы второй не мог взять на редактирование
LockMode.UPGRADE_NOWAIT
Это что пессимистичная блокировка на базу будет?
...
Рейтинг: 0 / 0
28.01.2013, 18:33:53
    #38127806
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Blazkowicz,
да. (как утверждает Хибер).
Для оракла будет добавлено
select for update nowait

и второй попытавшийся сделать запрос получит raise
...
Рейтинг: 0 / 0
28.01.2013, 18:34:07
    #38127807
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
JulTПодскажите пожалуйста, как правильно реализуется следующий функционал в десктоп приложении:
пользователь открыл окошко, правит в нем данные, второй пользователь на своем компьютере тоже открыл это окошко и так же пытается править данные. Вопрос! Как сделать так, чтобы у второго пользователя где-то в уголочке отображалась запись, типа: идет редактирование пользователем таким-то...
Спасибо.
В теории это называют оптимистическая блокировка . Как реализовать - десятки способов наверное. Но надо отталкиваться от возможностей самой БД.
...
Рейтинг: 0 / 0
28.01.2013, 18:34:24
    #38127808
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123,
на коммит автоматом снимается
...
Рейтинг: 0 / 0
28.01.2013, 18:35:08
    #38127812
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
mayton,
если топлинк поддерживает
...
Рейтинг: 0 / 0
28.01.2013, 18:40:56
    #38127823
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
maytonВ теории это называют оптимистическая блокировка . Как реализовать - десятки способов наверное. Но надо отталкиваться от возможностей самой БД.
Но есть нюанс. Оптимистичная блокировка на самом документе приведёт к тому, что второй пользователь при сохранении получит исключение версии. А это не сосвем то что нужно. Нужно вводить сущность-блокировку, которая будет захватываться, как предложил GKS_Samara. И вот на ней уже реализовать оптимистичную блокировку.
Либо, если база позволяет. Можно попробовать пессимистичную блокировку, но на базе она ведь удерживает транзакцию. Работать будет только в 2х звенке.
...
Рейтинг: 0 / 0
28.01.2013, 18:41:07
    #38127824
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
А что, работа через toplink подразумевает запрет на использование JDBC ?

Сори я не в курсе. Не знаком с топлинк.
...
Рейтинг: 0 / 0
28.01.2013, 18:41:59
    #38127826
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123Petro123,
на коммит автоматом снимается
Юзер открыл UI вечерком - запустили транзакцию. И ушел домой. А потом уехал в отпуск. И что в базе поддерживать транзакцию на несколько недель?
...
Рейтинг: 0 / 0
28.01.2013, 19:48:38
    #38127917
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Честно говоря без примера мне трудно разобраться. Использую оракл топлинк, субд майскул
...
Рейтинг: 0 / 0
28.01.2013, 20:17:03
    #38127947
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
JulTЧестно говоря без примера мне трудно разобраться. Использую оракл топлинк, субд майскул
Тут даже с примером не просто будет разобраться. Начните с изучение теории про оптимистичные и пессимистичные блокировки.
Затем посмотрите как они реализуются в базе данных. После этого решайте как именно вы хотите сделать.
...
Рейтинг: 0 / 0
28.01.2013, 21:42:15
    #38128001
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
BlazkowiczPetro123Petro123,
на коммит автоматом снимается
Юзер открыл UI вечерком - запустили транзакцию. И ушел домой. А потом уехал в отпуск. И что в базе поддерживать транзакцию на несколько недель?
ну, дык, во ВСЕХ способах есть недостатки.
Я вам в оптимистической их тоже назову.
ЗЫ.
У нас проблема длинных решалась просто. Продукт стоил дешевле, т.к. писать ничего не надо.
Если кто заснул за компом - есть админ и телега руководству. ОНО решает, за какой вид блокировки платить.
...
Рейтинг: 0 / 0
28.01.2013, 21:46:37
    #38128004
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
JulTЧестно говоря без примера мне трудно разобраться. Использую оракл топлинк, субд майскул
- сначала найди пример В ВЕБ (скрин) того что ты хочешь.
Например, если 10 челов захотели править, то 10 строк в углу?
- потом посмотри сабж у хибера (он же флагман) и доложи руководству))
- потом напищи тут результаты))
Удачи!
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
28.01.2013, 22:22:59
    #38128030
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123Я вам в оптимистической их тоже назову.

Весь во внимании. На самом деле здесь классическими блокировками не обойтись. Нужно бизнес сущность вводить. Никому ведь не нужно узать о том что запись залочена после всех сделаных изменений.
...
Рейтинг: 0 / 0
28.01.2013, 22:42:06
    #38128046
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Blazkowicz,
если ему нужно ФИО, то конечно нужно писать, и не мало.
Просто, по сабжу видно, что он этого не представляет....И не напишет....
Т.к.
- писать надо (в отличии от хибера no_wait or update)
- структуру БД менять надо
- по минимуму надо добавлять к каждой записи колонку ФлагБлокировки и ФИОналожившего её.
- изменится ВИ или Преценденты, т.к. надо будет "Брать на редактирование документ\сущность"
- и т.д.
Я ещё не в курсе, работает ли в хибере то что я написал выше по документации.
...
Рейтинг: 0 / 0
28.01.2013, 22:47:47
    #38128053
Йуный джавистЪ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
авторЮзер открыл UI вечерком - запустили транзакцию. И ушел домой. А потом уехал в отпуск. И что в базе поддерживать транзакцию на несколько недель?
Можно убивать долгие транзакции.
...
Рейтинг: 0 / 0
28.01.2013, 22:53:51
    #38128060
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Йуный джавистЪавторЮзер открыл UI вечерком - запустили транзакцию. И ушел домой. А потом уехал в отпуск. И что в базе поддерживать транзакцию на несколько недель?
Можно убивать долгие транзакции.
конечно можно. Любой админ справится.
У нас вообще radmin админы сволочи ставили (удалённый рабочий стол смотрели).
))
Нафига мне писать то, с чем должен справляться ОРМ или СУБД.
...
Рейтинг: 0 / 0
28.01.2013, 22:58:13
    #38128062
Йуный джавистЪ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
конечно можно. Любой админ справится.

Я имею в виду автоматически.
Юзер открыл UI вечерком - запустили транзакцию. И ушел домой. А потом уехал в отпуск. И что в базе поддерживать транзакцию на несколько недель?

Обычно в корпоративном окружении требуют, чтобы сотрудник уходя домой делал логаут (чтобы можно было установить софт и апдейты при следующем логине).
...
Рейтинг: 0 / 0
28.01.2013, 23:04:20
    #38128065
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Йуный джавистЪ, я утрирую, конечно. Просто хотел обратить внимание, что пессимистичная блокировка требует таймаута. Т.е. лузер заказывает лок на документ и у нас висит поток и блокировка на базе. Юзер без понятия что ему делать пока блокировка не отвалится по таймауту. Хотя NOWAIT, скорее всего, тоже вариант, если база позволяет. Правда нужно следить чтобы batch таски по одному место не пошли, когда юзеры записей налочат.
...
Рейтинг: 0 / 0
28.01.2013, 23:06:39
    #38128069
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отследить правку данных в десктоп приложении
Petro123если ему нужно ФИО, то конечно нужно писать, и не мало.
Просто, по сабжу видно, что он этого не представляет....И не напишет....

Она справится. Я уверен.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как отследить правку данных в десктоп приложении / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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