То, что вы ищете, действительно было исправлено в версии 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
.