powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как отследить правку данных в десктоп приложении
25 сообщений из 33, страница 1 из 2
Как отследить правку данных в десктоп приложении
    #38127695
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста, как правильно реализуется следующий функционал в десктоп приложении:
пользователь открыл окошко, правит в нем данные, второй пользователь на своем компьютере тоже открыл это окошко и так же пытается править данные. Вопрос! Как сделать так, чтобы у второго пользователя где-то в уголочке отображалась запись, типа: идет редактирование пользователем таким-то...
Спасибо.
...
Рейтинг: 0 / 0
Как отследить правку данных в десктоп приложении
    #38127715
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, JulT!

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

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

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

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

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

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

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

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

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

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

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

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


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