我正在考虑使用camel-twitter(Apache Camel的Twitter组件:http://camel.apache.org/twitter.html)。我想使用Twitters Streaming API。
事件和直接类型之间的差异是什么?
对于使用事件驱动的消费者,是否有人示例代码? (到目前为止我只发现了这个https://fisheye6.atlassian.com/browse/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java)
答案 0 :(得分:1)
direct表示您执行明确的直接调用以触发twitter。例如,使用Camel中的直接组件来调用twitter的路由。
事件意味着事件驱动的消费者,您可以通过Twitter对事件做出反应,例如在搜索中找到的新推文等。
例如,我们还有这个websocket twitter示例:http://camel.apache.org/twitter-websocket-example.html
答案 1 :(得分:1)
请记住,Streaming API不能与直接端点一起使用 - 仅支持事件和轮询。
从API使用的角度来看,事件和投票工作相同。打开并维护单个流侦听器。速率限制注意事项没有区别。
唯一的区别是事件端点在收到每个消息后立即发送1个事件。轮询会对收到的消息进行排队,并在每次轮询时将其释放。
因此,差异纯粹是它们如何在Camel中传递。关于API,两个流端点都是相同的。
答案 2 :(得分:0)
Direct类型告诉消费者/生产者每次以某种方式激活端点时它将连接到Twitter。假设您想使用保存在数据库中的计划在Twitter上进行搜索:
您将始终被评为。无论您使用Streaming,Direct还是Polling。 如果您正在使用Streaming,请从Twitter开发人员中心阅读此FAQ