Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по архитектуре. Важный. :) / 10 сообщений из 10, страница 1 из 1
22.07.2017, 13:40
    #39493293
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
Собссно сижу ломаю голову уже который день. есть многомодульное спринг мавен приложение. ну там разные мелкие модули делающие что-то. стандартные. с вебкой сервисом, гребущие данные из базы и складывающие туда.
мнодулей много. есть один корневой. и много сабмодулей. под ним.
теперь у меня возникла задача вкорячить в это приложение шедулер кварц. на данном этапе задачи по шедулингу есть только у одного модуля. поэтмоу особо вроде проблемы нет куда его вкорячить - в модуль этого приложения и забыть. всё замечательно.

но. теперь появилось несколько задач для шедулера из разных модулей. а меньше всего я хочу получать межмодульные депенденси.
в итоге сейчас я в тупике - есть ряд модулей со своими задачами (они описаны в классах со всякими инжектами зависимостей и т.п.) чтоб кварц их запустил - мне надо кварцевой таске эти классы передать. если я делаю кварц отдельным модулем - то у кварца будет мешок зависимостей на все причастные модули. в свою очередь, модули должны эти таски создавать - тогда вообще финиш и я получаю циркулярные зависимости. можно всё раскидать через ивенты - типа модуль кидает ивент, шедулер ивент ловит и на основании ивента запускает таску, которая шлёт ивент модулю зампустить процесс (который хранится к влассе который в модуле) и у меня получается мишура из летающих туда-сюда событий. )) что тоже как то некрасиво.

собссно, что делать то?
...
Рейтинг: 0 / 0
22.07.2017, 14:56
    #39493305
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTсобссно, что делать то?
проверить. Возможно ты ИС и Модель разбил на слишком мелкие куски.
Возможно вместо модуля должен быть крупный класс и т.д.
...
Рейтинг: 0 / 0
22.07.2017, 14:57
    #39493306
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTну там разные мелкие модули классы\объекты\сущности делающие что-то
...
Рейтинг: 0 / 0
22.07.2017, 15:58
    #39493317
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTа меньше всего я хочу получать межмодульные депенденси- Вынести интерфейсную часть и сделать ее общей в виде отдельного модуля (также доступной и для шедулера)
- У шедулера есть интефейс Job - пусть те модули, которые будут выполняться в шедулере, реализуют его. (имхо, этот вариант намного лучше)
...
Рейтинг: 0 / 0
22.07.2017, 16:15
    #39493324
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
не совсем понял интерфейс и как его реализовать модулю.

у меня есть модуль шедулер. чтоб он что-то выполнил ему надо подсунуть класс, реализующий интерфейс джоб. тут согласен. но. возникает вопрос. где мне этот класс хранить?? если я его буду хранить в своем родном модуле, а не шедулере - то мне придется добавлять в помник шедулера депенденси на тот модуль. модулей 50 штук - в итоге все эти 50 модулей будут сидеть депенденсями в шедулере.

если я попробую этот класс реализующий джоб буду хранить в модуле шедулер, то у меня значит автоматом не будет доступа к бинам того модуля, для которого эта джоба будет выполняться (или снова придется инжектить в помник шедулера уже те модули, для которых он будет выполнять джобы). и снова мы приходим к тому, от чего ушли.

или же создать некий супер модуль, типа доменной модели, который будет инжектиться во все подмодули, и который будет выполнять задачи не только шедулинга но и еще какие-нибудь сервисные функции.
...
Рейтинг: 0 / 0
22.07.2017, 16:15
    #39493325
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
или у меня вообще в корне подход кривой.
...
Рейтинг: 0 / 0
22.07.2017, 16:16
    #39493326
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTгде мне этот класс хранить??В том модуле (классе), который должен быть выполнен шедулером.
Тем самым мы избавим модуль шедулера от ненужных зависимостей.
...
Рейтинг: 0 / 0
22.07.2017, 16:20
    #39493328
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
проблема супермодуля в том, что я получаю на выходе монолит а не разбитое на модули приложение.
...
Рейтинг: 0 / 0
22.07.2017, 16:33
    #39493330
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTпроблема супермодуля в том, что я получаю на выходе монолит а не разбитое на модули приложение.Ничего тут не поделаешь. Так устроен многомодульный проект maven.
...
Рейтинг: 0 / 0
22.07.2017, 17:18
    #39493348
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по архитектуре. Важный. :)
andreykaTпроблема супермодуля в том, что я получаю на выходе монолит а не разбитое на модули приложение.
иными словами, проблема супермодуля, в том что он....супермодуль).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по архитектуре. Важный. :) / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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