
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.07.2017, 13:40
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
Собссно сижу ломаю голову уже который день. есть многомодульное спринг мавен приложение. ну там разные мелкие модули делающие что-то. стандартные. с вебкой сервисом, гребущие данные из базы и складывающие туда. мнодулей много. есть один корневой. и много сабмодулей. под ним. теперь у меня возникла задача вкорячить в это приложение шедулер кварц. на данном этапе задачи по шедулингу есть только у одного модуля. поэтмоу особо вроде проблемы нет куда его вкорячить - в модуль этого приложения и забыть. всё замечательно. но. теперь появилось несколько задач для шедулера из разных модулей. а меньше всего я хочу получать межмодульные депенденси. в итоге сейчас я в тупике - есть ряд модулей со своими задачами (они описаны в классах со всякими инжектами зависимостей и т.п.) чтоб кварц их запустил - мне надо кварцевой таске эти классы передать. если я делаю кварц отдельным модулем - то у кварца будет мешок зависимостей на все причастные модули. в свою очередь, модули должны эти таски создавать - тогда вообще финиш и я получаю циркулярные зависимости. можно всё раскидать через ивенты - типа модуль кидает ивент, шедулер ивент ловит и на основании ивента запускает таску, которая шлёт ивент модулю зампустить процесс (который хранится к влассе который в модуле) и у меня получается мишура из летающих туда-сюда событий. )) что тоже как то некрасиво. собссно, что делать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 14:56
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
andreykaTсобссно, что делать то? проверить. Возможно ты ИС и Модель разбил на слишком мелкие куски. Возможно вместо модуля должен быть крупный класс и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 14:57
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
andreykaTну там разные мелкие модули классы\объекты\сущности делающие что-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 15:58
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
andreykaTа меньше всего я хочу получать межмодульные депенденси- Вынести интерфейсную часть и сделать ее общей в виде отдельного модуля (также доступной и для шедулера) - У шедулера есть интефейс Job - пусть те модули, которые будут выполняться в шедулере, реализуют его. (имхо, этот вариант намного лучше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 16:15
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
не совсем понял интерфейс и как его реализовать модулю. у меня есть модуль шедулер. чтоб он что-то выполнил ему надо подсунуть класс, реализующий интерфейс джоб. тут согласен. но. возникает вопрос. где мне этот класс хранить?? если я его буду хранить в своем родном модуле, а не шедулере - то мне придется добавлять в помник шедулера депенденси на тот модуль. модулей 50 штук - в итоге все эти 50 модулей будут сидеть депенденсями в шедулере. если я попробую этот класс реализующий джоб буду хранить в модуле шедулер, то у меня значит автоматом не будет доступа к бинам того модуля, для которого эта джоба будет выполняться (или снова придется инжектить в помник шедулера уже те модули, для которых он будет выполнять джобы). и снова мы приходим к тому, от чего ушли. или же создать некий супер модуль, типа доменной модели, который будет инжектиться во все подмодули, и который будет выполнять задачи не только шедулинга но и еще какие-нибудь сервисные функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 16:15
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
или у меня вообще в корне подход кривой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 16:16
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
andreykaTгде мне этот класс хранить??В том модуле (классе), который должен быть выполнен шедулером. Тем самым мы избавим модуль шедулера от ненужных зависимостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 16:20
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
проблема супермодуля в том, что я получаю на выходе монолит а не разбитое на модули приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2017, 16:33
|
|||
|---|---|---|---|
Вопрос по архитектуре. Важный. :) |
|||
|
#18+
andreykaTпроблема супермодуля в том, что я получаю на выходе монолит а не разбитое на модули приложение.Ничего тут не поделаешь. Так устроен многомодульный проект maven. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2122743]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 398ms |

| 0 / 0 |
