Сохранить заголовок временной метки после использования канала хранилища сообщений - PullRequest
0 голосов
/ 02 июня 2018

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

вот моя конфигурация

<int:channel id="myChannel">
    <int:queue message-store="myStore"/>
</int:channel>

спасибо заранее!

1 Ответ

0 голосов
/ 04 июня 2018

То, что вы ищете, действительно было исправлено в версии 5.0: https://github.com/spring-projects/spring-integration/pull/1916.

Обратите внимание на мою фразу в конце описания PR:

С помощью этого исправления мы сохраняем сообщение в хранилище без изменений, когда выполняем стандартную процедуру сериализации.

Любой пользовательский сериализатор должен рассмотреть возможность использования MutableMessageBuilder, если есть требование сохранить ID и TIMESTAMP

По умолчанию есть один такой:

public Message<?> mapRow(ResultSet rs, int rowNum) throws SQLException {
    return (Message<?>) this.deserializer.convert(this.lobHandler.getBlobAsBytes(rs, "MESSAGE_BYTES"));
}

Итак, мы определенно сохраняем там входящие ID и TIMESTAMP.

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