Запуск модуля обмена сообщениями (приложение командной строки) внутри весенней загрузки - PullRequest
0 голосов
/ 22 февраля 2019

Я довольно новичок в Spring Boot и хотел бы получить некоторую информацию, которая позволит мне лучше справляться с запуском приложения внутри контейнера Spring.

По сути, у меня есть FIXдвигатель (принимает и отправляет FIX сообщений).Я мог бы использовать это как отдельное Java-приложение (клиент-сервер), но я решил пойти на Spring, потому что я использую его простоту использования для hibernate + внедрение зависимостей.Мне также придется в конечном итоге реализовать интерфейс, чтобы его было легко настроить с помощью Spring.

. То, что я сейчас делаю, - это запуск моего двигателя через CommandLineRunner.Это инициирует все, что мне нужно (сокеты и все), и прослушивает входящие сообщения.Как только я получаю сообщение LOGOFF, я корректно завершаю работу с моим приложением (System.exit(0) с ShutdownHook - хотя другой вариант также может включать работу двигателя 24/7).

Мой вопросесли я правильно использую контейнер Spring, или есть лучший способ?Например, должен ли я отделять приложение Spring от самого движка?Большинство вещей, которые я вижу в Интернете по поводу CommandLineRunner, заключается в том, что они позволяют вам запускать фрагмент кода для инициализации чего-либо перед запуском основного приложения, но я полностью запустил весь движок FIX.Может быть, мне чего-то не хватает в отношениях между Spring контейнером и его базовым приложением.

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

Спасибо

...