Использование нескольких активаторов услуг в одном приложении - PullRequest
0 голосов
/ 01 апреля 2020

В настоящее время у меня в одном приложении запущено несколько рабочих процессов, но в конечном итоге они будут работать в своем выделенном jvm. Похоже, у меня может быть только один активатор службы с одним предоставленным методом-дескриптором, который не может найти, как добавить несколько, по существу, один для каждого независимого рабочего процесса. Любая ссылка на документацию или пример кода приветствуются.

return IntegrationFlows.from(receivedDataChannel())
    .enrichHeaders(h -> h.header("kafka_source_topic", alertsInputTopic))
    .enrichHeaders(h -> h.header("target", "MLAlgo"))
    .transform(Transformers.fromJson())
    .filter(this::shouldProcess)
    .log()
    .handle(this)
    .log()
    .get();

Итак, этот метод дескриптора отлично работает для одного рабочего процесса, но у меня их несколько, и каждому нужен свой собственный метод дескриптора для выполнения работы в этом рабочем процессе. Я всегда могу сделать несколько хаков, чтобы справиться с одним, но я хотел бы иметь чистый отдельный код. Спасибо

1 Ответ

1 голос
/ 01 апреля 2020

Вместо использования handle(this) - поместите сервисный код в отдельный класс, добавьте его как @Bean и поместите в Prototype @Scope; затем

.handle("beanName")

и каждый получит свою копию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...