Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Фаулер. UnitOfWork  [new]
questioner
Member

Откуда:
Сообщений: 1861
vas0
questioner
Мистер Фаулер именно так и делает.

Тогда вообще не понятно как этот паттерн помогает решать проблемы конкурентности
Думаю этот паттерн в конкурентности никак не помогает. Это кэш цель которого уменьшить или отложить выполнение sql запросов к БД, с другой стороны тут возможна оптимизация bulk update. Ну и в конкретных реализациях предотвратить появления в памяти множества java объектов которые соответствуют одной и той же записи в БД.

Ну вот ради оптимизации запросов к базе этот патерн и есть, чтобы не обновлять одно поле, потом второе, потом опять первое, а сделать это один раз. Это как-бы очевидно. Но в определении написано, что он как-то помогает решать проблемы конкурентности.


про объекты в памяти это уже похоже Identity Map паттерн
4 окт 19, 16:58    [21986939]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1279
questioner
забыл ник
Я тебе уже написал. Он решает в смысле "либо все либо ничего" и никаких промежуточных состояний. Какое ты решение еще себе представляешь?


Фаулер вообще ничего такого не упоминает. гугл ничего такого не выдаёт тоже. Поэтому я думаю, что Ваше понимание неверно.
У Фаулера такого не написано, так как его шаблоны "простые". Но "забыл ник" правильно написал про ошибки. О чем может говорить ошибка? О том что состояние кэша больше не соответствует состоянию в БД, в этом случае все состояние кэша сбрасывается как невалидное, все изменения в этом кэше теперь просто мусор.
4 окт 19, 17:03    [21986945]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
questioner
он как-то помогает решать проблемы конкурентности.
в части изолирования одного запроса(сессии\потока) от другого.
Так как списки разные, и в памяти объекты разные.
Вы читаете что вам пишут выше?
vas0
, то у каждой будет своя session (свой кэш), и свои экземпляры (java объекты в памяти).
4 окт 19, 17:06    [21986947]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
vas0
У Фаулера такого не написано, так как его шаблоны "простые".
конечно.
У него своя реализация шаблона
- список.ДобавитьУдаление
- список.Коммит
4 окт 19, 17:08    [21986952]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
PetroNotC Sharp
У него своя реализация шаблона
щас ТС напишет что такого текста нет ни в гугле ни у самого Фаулера значит мы не правы.
4 окт 19, 17:10    [21986954]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
questioner
Member

Откуда:
Сообщений: 1861
PetroNotC Sharp
questioner
он как-то помогает решать проблемы конкурентности.
в части изолирования одного запроса(сессии\потока) от другого.
Так как списки разные, и в памяти объекты разные.
vas0
, то у каждой будет своя session (свой кэш), и свои экземпляры (java объекты в памяти).


ну если только так. ок. Хоть как-то это можно притянуть на основе контента книги.
4 окт 19, 17:24    [21986972]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
questioner
Member

Откуда:
Сообщений: 1861
vas0
questioner
пропущено...


Фаулер вообще ничего такого не упоминает. гугл ничего такого не выдаёт тоже. Поэтому я думаю, что Ваше понимание неверно.
У Фаулера такого не написано, так как его шаблоны "простые". Но "забыл ник" правильно написал про ошибки. О чем может говорить ошибка? О том что состояние кэша больше не соответствует состоянию в БД, в этом случае все состояние кэша сбрасывается как невалидное, все изменения в этом кэше теперь просто мусор.


Какие ошибки? кто писал? выше чего?
4 окт 19, 17:26    [21986974]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1279
questioner
vas0
пропущено...
У Фаулера такого не написано, так как его шаблоны "простые". Но "забыл ник" правильно написал про ошибки. О чем может говорить ошибка? О том что состояние кэша больше не соответствует состоянию в БД, в этом случае все состояние кэша сбрасывается как невалидное, все изменения в этом кэше теперь просто мусор.


Какие ошибки? кто писал? выше чего?
Если при выполнении синхронизации состояния UnitOfWork с БД происходит ошибка, то какие варианты действия у нас есть? Обычно действие только одно все откатить.
4 окт 19, 17:32    [21986979]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
questioner
Member

Откуда:
Сообщений: 1861
vas0
questioner
пропущено...


Какие ошибки? кто писал? выше чего?
Если при выполнении синхронизации состояния UnitOfWork с БД происходит ошибка, то какие варианты действия у нас есть? Обычно действие только одно все откатить.


а зачем её синхронизировать? ну конкретно в рамках этого паттерна.

Судя по всему то о чем Вы спрашиваете идёт уже в рамках Pessimistic/Optimistic offline lock
4 окт 19, 18:04    [21987023]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
questioner
а зачем её синхронизировать? ну конкретно в рамках этого паттерна.
А что делает по вашему метод коммит у фаулера?
4 окт 19, 18:12    [21987028]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
questioner
Судя по всему то о чем Вы спрашиваете идёт уже в рамках Pessimistic/Optimistic offline lock
в след.топик и главу)
4 окт 19, 18:14    [21987031]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
questioner
Member

Откуда:
Сообщений: 1861
PetroNotC Sharp
questioner
а зачем её синхронизировать? ну конкретно в рамках этого паттерна.
А что делает по вашему метод коммит у фаулера?


приведу цитату из книги:

Фаулер
когда Вы решаете зафиксировать сделанные изменения, единица работы определяет, что ей нужно сделать. Она сама открывает транзакцию, выполняет всю необходимую проверку на наличие параллельных операций(с помощью Pessimistic Offline Lock(445 стр.) или Pessimistic Offline Lock(стр. 434) и записывает изменения в базу данных
4 окт 19, 18:23    [21987041]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. UnitOfWork  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
questioner
PetroNotC Sharp
пропущено...
А что делает по вашему метод коммит у фаулера?


приведу цитату из книги:

Фаулер
когда Вы решаете зафиксировать сделанные изменения, единица работы определяет, что ей нужно сделать. Она сама открывает транзакцию, выполняет всю необходимую проверку на наличие параллельных операций(с помощью Pessimistic Offline Lock(445 стр.) или Pessimistic Offline Lock(стр. 434) и записывает изменения в базу данных
замечательно.
"зафиксировать изменения" это синхронизировать?
4 окт 19, 18:25    [21987044]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Java Ответить