Как использовать logging-channel-adapter в Spring Integration для записи значения заголовка сообщения - PullRequest
6 голосов
/ 28 марта 2011

Мне нужно зарегистрировать значение заголовка сообщения с ключом "foo_bar", чтобы сообщение журнала выглядело примерно так, когда значение этого заголовка равно "baz":

Значение заголовкаfoo_bar: baz

Как это сделать с помощью проводного отвода и адаптера канала регистрации?

1 Ответ

13 голосов
/ 28 марта 2011

Используйте атрибут expression адаптера logging-channel и настройте адаптер для подключения к сети и logging-channel примерно так:

<integration:channel id="channel1">
    <integration:interceptors>
        <integration:wire-tap channel="loggingChannel1"/>
    </integration:interceptors>
</integration:channel>
<integration:logging-channel-adapter 
    id="loggingChannel1" 
    expression="'Value of header foo_bar: '.concat(headers.foo_bar)" 
    level="DEBUG"
/>

При использовании атрибута выражения корневым объектом является сообщение интеграции пружины. Таким образом, «заголовки» в выражении получают карту заголовков сообщения.

...