2016-04-26 3 views
2

Я столкнулся с проблемой синтаксического анализа RSS-каналов с помощью spring-integration-feed. Я следовал примеру в https://spring.io/guides/gs/integration/Как разобрать RSS-каналы с интеграцией Spring, когда pubDate недоступен?

Мои каналы не включают опубликованную дату. Согласно RSS specifications, даты не требуются.

Поскольку pubDate имеет значение NULL, запись не добавляется в очередь SyndEntry. См. FeedEntryMessageSource.java

Есть ли обходной путь для этого?

ответ

2

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

Единственный рабочий обход - это настраиваемый источник сообщений - вы можете вызывать его из входящего адаптера канала.

Если у вас есть предложение по другому механизму обнаружения новых сообщений, не стесняйтесь открывать улучшения JIRA Issue.

+0

На самом деле у нас есть это уже (https://jira.spring.io/browse/INT-1810), и мое предложение есть нечто вроде 'SyndEntryDateStrategy' или аналогичного. –

+0

Спасибо за предложения. Я попытаюсь наследовать опубликованную дату из канала, доступную из [SyndFeed] (https://github.com/ralph-tice/rome/blob/master/src/main/java/com/sun/syndication/feed /synd/SyndFeed.java#L288) –