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

Откуда:
Сообщений: 2144
Sergunka,
Он же говорит что райзе будет при одновременной работе двух экземпляров, а при async так и слуится.
27 сен 19, 08:03    [21980474]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
mad_nazgul
capfreedom228
Идея была следующая: храним кассы в таблице devices, задания в таблице tasks.
При старте сервера запускаем столько потоков, сколько девайсов в таблице devices.
Потоки с определенным периодом делают селект из таблицы с заданиями и поочередно их выполняют.
Апи для заданий асинхронное, т.е. снаружи прилетает post запрос, создается запись в таблице tasks и назад клиенту отдается id этого задания.
По id задания клиент может отследить прогресс и результат. (GET /task/{id})


ИМХО не делать брокер/очередь сообщений на БД, а воспользоваться соответствующим инструментом (MQ, Kafka и т.д.)
Результат отправлять так же по тому же брокеру сообщений.
Связь можно сделать, по CorellationID. Создается в сессии контролера и там же храниться, нужен чтобы получить соответствующий ответ.


Не хотелось ради одной очереди тянуть какое то дополнительное ПО.
27 сен 19, 11:17    [21980635]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228,
Очередь либо в базе, либо в аппСервере чере ПО.
Больше никак.
В базе свою очередь сделать элементарно.
27 сен 19, 11:20    [21980642]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
Попробую использовать подход из этой статьи
https://thebackendguy.com/spring-schedule-tasks-or-cron-jobs-dynamically/
27 сен 19, 11:27    [21980656]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Попробую использовать подход из этой статьи
https://thebackendguy.com/spring-schedule-tasks-or-cron-jobs-dynamically/
шедулер это будильник. А тебе надо загрузить зданиями СВОБОДНУЮ кассу.
Периодичности тут нет.
Не выйдет. Либо ТЗ коряво описал.
27 сен 19, 11:35    [21980681]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
Попробую использовать подход из этой статьи
https://thebackendguy.com/spring-schedule-tasks-or-cron-jobs-dynamically/
шедулер это будильник. А тебе надо загрузить зданиями СВОБОДНУЮ кассу.
Периодичности тут нет.
Не выйдет. Либо ТЗ коряво описал.


Шедулер выполняет действия с определенным периодом, в моем случае действия - селект из базы заданий для конкретной кассы и их выполнение.
Соответственно могу запустить на каждую кассу по такому шедулеру.
27 сен 19, 11:42    [21980691]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
Попробую использовать подход из этой статьи
https://thebackendguy.com/spring-schedule-tasks-or-cron-jobs-dynamically/
шедулер это будильник. А тебе надо загрузить зданиями СВОБОДНУЮ кассу.
Периодичности тут нет.
Не выйдет. Либо ТЗ коряво описал.


На счет свободной кассы:
В таске прописано на какой кассе оно должно быть выполнено, т.е. не свободную.
27 сен 19, 11:43    [21980695]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Шедулер выполняет действия с определенным периодом,
ПО ВРЕМЕНИ карл!
Например, каждый вторник на 10 утра. Или запуск задачи через 10 минут после POST юзверя.
capfreedom228
могу запустить на каждую кассу

Ты гоаорил что касса А Б не могут одновременно.
27 сен 19, 11:46    [21980702]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
На счет свободной кассы:
В таске прописано на какой кассе оно должно быть выполнено, т.е. не свободную
это ТЗ или твоя придумка?
Если ТЗ покажи цитату из первой страницы топика.
27 сен 19, 11:49    [21980709]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
На счет свободной кассы:
В таске прописано на какой кассе оно должно быть выполнено, т.е. не свободную
это ТЗ или твоя придумка?
Если ТЗ покажи цитату из первой страницы топика.


Это ТЗ, я забыл это написать в первом посте.
27 сен 19, 11:53    [21980717]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
Шедулер выполняет действия с определенным периодом,
ПО ВРЕМЕНИ карл!
Например, каждый вторник на 10 утра. Или запуск задачи через 10 минут после POST юзверя.
capfreedom228
могу запустить на каждую кассу

Ты гоаорил что касса А Б не могут одновременно.


Я говорил, что ты не можешь к одной и той же кассе подключиться одновременно разными потоками.
27 сен 19, 11:54    [21980718]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
capfreedom228
PetroNotC Sharp
пропущено...
ПО ВРЕМЕНИ карл!
Например, каждый вторник на 10 утра. Или запуск задачи через 10 минут после POST юзверя.
пропущено...

Ты гоаорил что касса А Б не могут одновременно.


Я говорил, что ты не можешь к одной и той же кассе подключиться одновременно разными потоками.


На счет ПО ВРЕМЕНИ - не вижу противоречия. Раз 5 секунд например будет делать селект из таблицы с заданиями и их выполнять.
27 сен 19, 11:57    [21980726]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Это ТЗ, я забыл это написать в первом посте.
поэтому мы копаемся вторую страницу в детском вопросе

capfreedom228
Я говорил, что ты не можешь к одной и той же кассе подключиться одновременно разными потоками.

Выше мой вопрос с ДВУМЯ ЭКЗЕМЛЯРАМИ var a =, var b= видим?
Ответь еще раз.
27 сен 19, 12:12    [21980743]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4839
capfreedom228
Не хотелось ради одной очереди тянуть какое то дополнительное ПО.


Тогда имплементация embedded MQ.
Есть еще Spring Integration... Но мне лично не очень понравилось, но вы можете посмотреть.
27 сен 19, 12:13    [21980745]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Раз 5 секунд например будет делать селект из таблицы с заданиями и их выполнять.
да. Выше сказал, это приложение #2 демон в линукс.
Никакого отношения к приложению с post он не имеет.
Тогда согласен.
27 сен 19, 12:14    [21980747]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
mad_nazgul
capfreedom228
Не хотелось ради одной очереди тянуть какое то дополнительное ПО.


Тогда имплементация embedded MQ.
Есть еще Spring Integration... Но мне лично не очень понравилось, но вы можете посмотреть.
это тоже дополнительное ПО
27 сен 19, 12:15    [21980749]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
Это ТЗ, я забыл это написать в первом посте.
поэтому мы копаемся вторую страницу в детском вопросе

capfreedom228
Я говорил, что ты не можешь к одной и той же кассе подключиться одновременно разными потоками.

Выше мой вопрос с ДВУМЯ ЭКЗЕМЛЯРАМИ var a =, var b= видим?
Ответь еще раз.


Если делать так:
Kassa a = new Kassa(settings1);
Kassa b = new Kassa(settings2);
a.open();
b.open();


то конфликта не будет, разные кассы могут работать одновременно(что мне казалось очевидным).

В твоем примере было так:
Kassa a = new Kassa(settings);
Kassa b = new Kassa(settings);


т.е. оба экземпляра смотрят на одну кассу.
27 сен 19, 12:24    [21980756]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Kassa a = new Kassa(settings);
Kassa b = new Kassa(settings);



т.е. оба экземпляра смотрят на одну кассу.
ну ты даешь))))))
27 сен 19, 12:28    [21980761]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
PetroNotC Sharp
capfreedom228
Kassa a = new Kassa(settings);
Kassa b = new Kassa(settings);



т.е. оба экземпляра смотрят на одну кассу.
ну ты даешь))))))


???
27 сен 19, 12:28    [21980762]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228,
Если мне кто из java скажет что это было очевидно - посыплю голову пеплом))).
Mayton, это было очевидно?
27 сен 19, 12:34    [21980765]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16729
capfreedom228
т.е. оба экземпляра смотрят на одну кассу.
если Kassa синглтон
27 сен 19, 12:36    [21980767]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
capfreedom228
Member

Откуда:
Сообщений: 25
В первом посте, я писал, что если сделать a.open(); то больше никто не может подключиться к этой кассе.
Извиняюсь, если расписал недостаточно подробно.
27 сен 19, 12:39    [21980771]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
В первом посте, я писал, что если сделать a.open(); то больше никто не может подключиться к этой кассе.
Извиняюсь, если расписал недостаточно подробно.
проехали
27 сен 19, 12:44    [21980778]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
capfreedom228
Kassa a = new Kassa(settings1);
получается, нас в контексте задачи не интересует параметер settings1 или 2...
Это твои проблемы.
ЗАЧЕМ ЗАДАНИЕ ПРИВЯЗЫВАТЬ К КАССЕ?
27 сен 19, 12:46    [21980782]     Ответить | Цитировать Сообщить модератору
 Re: Совет по архитектуре Spring MVC  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2144
вадя
capfreedom228
т.е. оба экземпляра смотрят на одну кассу.
если Kassa синглтон
нет). Если в переменной settings одна и та же КассаИменемПети)
27 сен 19, 12:48    [21980783]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Java Ответить