powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ООП
10 сообщений из 35, страница 2 из 2
Вопрос по ООП
    #39190889
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Basil A. SidorovУбрать public и разместить классы в одном пакете.
+1
А то наворотить можно...проверяльщиков прав в самой модели. Т.е. кроме бизнес-логи ещё и Системную логику.
JulTПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы. Пока сделала так, если есть варианты как проще, советуйте.
Без аппСервера, в БД делают разные бизнес процессы:
- Один БП по заведению задачи разбивают на 2-3 - Сохранить задачу + Поиск исполнителей по JOB + Мессенджер.
У тебя получается что при Новогодних праздниках зависнет N заданий (не будут удалены из мапы).
Т.е. постоянно шуршит сервер.
Все 3 модуля можно выполнить независимыми друг от друга.
Ну у меня вроде так и сделано.
FindService - здесь создается и запускается таска, сохраняется при этом в мапу:
Код: java
1.
private Map<Long, MyTaskSearch > tasks= new ConcurrentHashMap<>();


При создании таски делаю следующее:
Код: java
1.
2.
3.
MyTaskSearch task = new MyTaskSearch(сюда передаю экземпляр FindService);
        ScheduledFuture<MyTaskSearch > scheduledFuture = (ScheduledFuture<MyTaskSearch >)      taskScheduler.scheduleWithFixedDelay(task , 1000);
        task.setScheduledFuture(scheduledFuture);


где
Код: java
1.
MyTaskSearch implements Runnable


В MyTaskSearch в методе run происходит поиск исполнителей на текущий заказ, там же если нашли происходит вызов нотификации:
Код: java
1.
notificationService.notified(найденный исполнитель);


Как только исполнитель откликается на заказ, удаляю его из мапы, при этом останавливаю поток через
Код: java
1.
scheduledFuture.cancel(true);


3 отдельных класса, каждый занят своим делом
Ну вот как-то так.
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190897
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы.
а почему не рассылать всем, и ждать когда первый желающий ответит?
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190907
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторПоиск исполнителя это всего лишь поиск доступных, далее я беру список доступных и по очереди, в течении определенного времени(например 20 секунд) каждому из них предлагаю взять заказ на исполнение(шлю нотификацию). Как только заказ взят кем-то, поиск прекращается, поток останавливается, а заказ удаляется из мапы.
а почему не рассылать всем, и ждать когда первый желающий ответит?
такое тз. дело в том, что исполнители находятся на разных расстояних от клиента делающего заказ, поэтому рассылка идет последовательно, сначала для самого ближайшего потом следующего и т.д.
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190936
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортакое тз. дело в том, что исполнители находятся на разных расстояних от клиента делающего заказ, поэтому рассылка идет последовательно, сначала для самого ближайшего потом следующего и т.д.
это как-то не лоично - зачем? даже если дальний возьмет первым, что от этого изменися?
каждый водила сам оценивает свои возможности
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190937
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если водила счас далеко, а едет к туда, где вызов. - значит он рядом...
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190948
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
они берут заказы с целью заработать, а когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190949
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякаждый водила сам оценивает свои возможности
+1 если мы о водителях.
Опять есть аналогия с электронной очередью счас в любом медицинском заведении или банке.
Банально, каждый входящий получает квиток. Очередь видят все работники за прилавком. Думаю, что они сами выбирают следующего)). Иначе зарплату не получат.
Тогда никакой бизнес логики в классах не нужно. Задача послать письмо и "забыть себя" = уничтожить.
Исполнители должны подписываться на события.
Исполнитель блокирует задачу (если надо) и забирает её подробности.
Если выполнить исполнителя как актор-действующее лицо, то никакая мапа не нужна вообще.
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190951
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulTа когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа
и что? Нужно ждать в мапе для этого подтверждения?
- нужно ввести тогда статусы заказа: "Заявка сохранена" - Завка разослана всем подписавшимся - Получено 5 предложений от исполнителей с временем подхода N минут - Заявитель подтвердил машину БМВ с русским водилой - Остальным разослан отказ.
Все состояния сразу же сохранять в БД.
Никакая мапа не нужна.
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39190952
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulTони берут заказы с целью заработать, а когда клиент видит, что исполнитель пребудет на заказ через 30 минут, он просто отказывается от заказа
ни кто не возьмет заказ - если сможет исполнить через такое время, и если от заказа отказались - надо штрафовать вадилу.
...
Рейтинг: 0 / 0
Вопрос по ООП
    #39191337
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanЭто грязный хак .
имхо
Не "грязный хак", это подсунуть этому методу в стек фиктивный B. :)
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ООП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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