首页 > 其他分享 >Feed Adapter(适配器)

Feed Adapter(适配器)

时间:2022-12-08 12:05:21浏览次数:43  
标签:Feed feed 适配器 integration 条目 org 轮询 Adapter

Feed Adapter(适配器)_spring

Spring 集成通过馈送适配器为联合提供支持。 执行工作以《罗马框架》为基础。

您需要将此依赖项包含在项目中:

<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-feed</artifactId>
<version>6.0.0</version>
</dependency>

Web 联合是一种发布材料的方法,例如新闻报道、新闻稿、博客文章和其他项目,通常在网站上可用,但也以 RSS 或 ATOM 等源格式提供。

Spring 集成通过其“feed”适配器为Web联合提供支持,并为其提供了方便的基于命名空间的配置。 若要配置“feed”命名空间,请在 XML 配置文件的标头中包含以下元素:

xmlns:int-feed="http://www.springframework.org/schema/integration/feed"
xsi:schemaLocation="http://www.springframework.org/schema/integration/feed
https://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd"

馈送入站通道适配器

您真正需要为检索源提供支持的唯一适配器是入站通道适配器。 它允许您订阅特定的 URL。 以下示例显示了可能的配置:

@Configuration
@EnableIntegration
public class ContextConfiguration {

@Value("org/springframework/integration/feed/sample.rss")
private Resource feedResource;

@Bean
public IntegrationFlow feedFlow() {
return IntegrationFlow
.from(Feed.inboundAdapter(this.feedResource, "feedTest")
.preserveWireFeed(true),
e -> e.poller(p -> p.fixedDelay(100)))
.channel(c -> c.queue("entries"))
.get();
}

}

在前面的配置中,我们订阅的是由属性标识的 URL。​​url​

检索新闻项时,它们将转换为消息并发送到由属性标识的频道。 每条消息的有效负载都是一个实例。 每个都封装了有关新闻项的各种数据(内容、日期、作者和其他详细信息)。​​channel​​​​com.rometools.rome.feed.synd.SyndEntry​

入站源通道适配器是轮询使用者。 这意味着您必须提供轮询器配置。 但是,关于提要,您必须了解的一件重要事情是,它的内部工作原理与大多数其他轮询消费者略有不同。 启动入站源适配器时,它会执行第一次轮询并接收实例。 该对象包含多个对象。 每个条目都存储在本地条目队列中,并根据属性中的值释放,以便每条消息都包含一个条目。 如果在从条目队列中检索条目期间,队列变为空,那么适配器将尝试更新源,从而用更多条目(实例)填充队列(如果有)。 否则,下一次轮询源的尝试由轮询器的触发器确定(在前面的配置中每十秒一次)。​​com.rometools.rome.feed.synd.SyndFeed​​​​SyndEntry​​​​max-messages-per-poll​​​​SyndEntry​

重复条目

轮询源可能会导致条目已被处理(“我已经阅读了该新闻,为什么您再次向我显示它? Spring 集成提供了一种方便的机制,无需担心重复条目。 每个源条目都有一个“发布日期”字段。 每次生成并发送新内容时,Spring 集成都会将最新发布日期的值存储在策略的实例中(请参阅元数据存储)。 用于保留最新发布的日期。​​Message​​​​MetadataStore​​​​metadataKey​

其他选项

从版本 5.0 开始,已弃用的选项已被删除,并提供了 的重载构造函数。 当源不是 HTTP 端点而是任何其他资源(例如 FTP 上的本地或远程)时,这很有用。 在逻辑中,这样的资源(或提供)被解析为前面提到的对象进行处理。 您还可以将自定义(例如,使用选项)实例注入 .​​com.rometools.fetcher.FeedFetcher​​​​FeedEntryMessageSource​​​​org.springframework.core.io.Resource​​​​FeedEntryMessageSource​​​​URL​​​​SyndFeedInput​​​​SyndFeed​​​​SyndFeedInput​​​​allowDoctypes​​​​FeedEntryMessageSource​


如果与源的连接需要一些自定义,例如连接和读取超时,则必须使用扩展及其覆盖,而不是普通注入到 . 例如:​​org.springframework.core.io.UrlResource​​​​customizeConnection(HttpURLConnection)​​​​URL​​​​FeedEntryMessageSource​

@Bean
@InboundChannelAdapter("feedChannel")
FeedEntryMessageSource feedEntrySource() {
UrlResource urlResource =
new UrlResource(url) {

@Override
protected void customizeConnection(HttpURLConnection connection) throws IOException {
super.customizeConnection(connection);
connection.setConnectTimeout(10000);
connection.setReadTimeout(5000);
}
};
return new FeedEntryMessageSource(urlResource, "myKey");
}


标签:Feed,feed,适配器,integration,条目,org,轮询,Adapter
From: https://blog.51cto.com/u_15326439/5920852

相关文章

  • 3、设计模式—单例、工厂、代理、适配器、观察者
     1、 设计模式——单例模式 单例模式负责创建自己的对象,同时确保只有一个对象被创建。比如,我们要统计网站的访问用户数,在任何时候都只有一个对象在记录用户数,否则就可能......
  • c#设计模式-适配器模式
     原文网址:https://www.cnblogs.com/guyun/p/6183346.html一、适配器(Adapter)模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而......
  • Feeds流系统
    小结:1、三种聚合逻辑,分别适用于信息探测,信息订阅和熟人社交场景中,各有各的优点。2、extra_info额外信息存储json,用于扩展周末小技|开发一个Feeds流系统——写扩散......
  • “回车”(Carriage Return)和“换行”(Line Feed)
    摘自:https://blog.csdn.net/wanghuiqi2008/article/details/8069775“回车”(CarriageReturn)和“换行”(LineFeed)这两个概念的来历和区别在计算机还没有出现之前,有一种叫......
  • 责任链,桥接,适配器,单例,命令哪个设计模式你最常用呢
    设计原则一、你都了解哪些设计原则,你对这些设计原则有哪些心得1、单一职责原则4、依赖倒置原则2、开闭原则5、里氏替换原则3、接口隔离原则6、迪米特法则1、单一......
  • 好友关注-Feed流实现方案
    当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的......
  • BizTalk 开发系列(四十) BizTalk WCF-SQL Adapter读取SQL Service Broker消息
    SQLServiceBroker是在SQLServer2005中新增的功能。ServiceBroker为SQLServer提供队列和可靠的消息传递,可以可用来建立以异步消息为基础的应用。当然从题目大家可......
  • 设计模式-适配器模式
    简单介绍适配器模式(AdapterPattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为......
  • (十五)适配器模式
    1概述适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在软件开发中,也就是......
  • Spring Cloud Azure 适配器参考
    微软AzureAzure适配器启动Spring云函数上下文,并从Azure引导函数调用框架到用户函数中,必要时使用Spring引导配置。AzureFunctions具有相当独特和侵入性编程模型,涉......