음, 아니요. FeedEntryMessageSource
은 XML 모델을 다루는 Rome Tools을 기반으로합니다.
JSON 레코드에 대해 SyndEntry
개의 인스턴스를 생성하는 고유 한 구성 요소를 만들어야 할까봐 걱정됩니다. 실제로는 기본적으로 MappingJackson2HttpMessageConverter
이있는 RestTemplate
을 기반으로 HttpRequestExecutingMessageHandler
과 같은 값일 수 있습니다.
HttpRequestExecutingMessageHandler
을 setExpectedResponseType(SyndFeedImpl.class)
으로 구성하려고 시도 할 수 있으며 응답에 application/json
콘텐츠 유형이 있어야합니다.
"중복 항목 처리"를 달성하려면 나중에 Idempotent Receiver 패턴을 사용하는 것이 좋습니다.
if (lastModifiedDate != null) {
this.lastTime = lastModifiedDate.getTime();
}
else {
this.lastTime += 1; //NOSONAR - single poller thread
}
this.metadataStore.put(this.metadataKey, this.lastTime + "");
...
if ((entryDate != null && entryDate.getTime() > this.lastTime)
entry
가 payload
(FeedEntry
)는 언급 HttpRequestExecutingMessageHandler
에서 splitted
결과 다음 MessageSelector
가 정말 MetadaStore
에 기반해야한다 어디 FeedEntryMessageSource
에서 비슷한 논리를 미리 형성.
감사합니다 Artem, 나는 그것이 그렇게 쉬울 것이라고 생각하지 않았습니다. 나는 가야하고 내가 일할 수 있는지, 너의 지원에 감사한다. – Swordfish