Проблема миграции Spring Integration с агрегатором - PullRequest
0 голосов
/ 13 июля 2020

Я перемещаю свое устаревшее приложение из Spring Integration (SI) с 4.3.8 на 5.2.6. (И я использую Spring Boot ver # 2.2.7) В некоторых из моих маршрутов у меня есть следующая цепочка:

<int:chain id="answersChain" input-channel="answersChannel">
        <int:header-enricher>
            <int:header name="route" expression="@config.get(payload.name)"
                        type="com.model.Route"/>
        </int:header-enricher>
        <int:aggregator discard-channel="unmatchedAnswersChannel"
                        group-timeout-expression="size() ge 2 ? 0 : one.headers['route']?.timeout"
                        expire-groups-upon-completion="true"
                        send-partial-result-on-expiry="false"
                        correlation-strategy-expression="payload.correlKey"
                        release-strategy-expression="size() == 2 and !#this[1].payload.sysReply"
                        expression="#this[1]"
        />
        <int:router expression="headers['route'].source.channelName"/>
</int:chain>

На самом деле код и макеты SI покрываются модульным тестом. Запуск модульного теста для версии 4.3.8 - это нормально. Но запустить тот же тест для SI версии 5.2.6 не удалось. Кажется, что последний int: router вообще не вызывается. По крайней мере, я не вижу, что он был вызван в журналах, поскольку я видел, что он работает под SI ver. 4.3.8. Когда unit test не проходит - ничего не сбрасывается в discard-channel. Кажется, что этот агрегатор ведет себя как черная дыра.

Мне нужно уточнить два вопроса:

  1. Есть ли критические обновления / ошибки в SI ver. 5.2.6, вызывающая проблему?
  2. Как я могу отладить свой макет? пока я использую разные заглушки при отладке, но, может быть, есть более удобные способы?

Заранее спасибо за любую помощь

1 Ответ

0 голосов
/ 16 июля 2020

В журнале «трассировка» я вижу, что проблема находится где-то еще в моем приложении. Собственно претензий к SI-агрегатору logi c.

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