2

我正在考虑使用 camel-twitter(Apache Camel 的 Twitter 组件:http: //camel.apache.org/twitter.html)。我想使用 Twitters Streaming API。

eventdirect类型有什么区别

有人有使用事件驱动消费者示例代码吗?(到目前为止我只找到了这个https://fisheye6.atlassian.com/browse/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java

4

3 回答 3

1

直接意味着你做一个明确的直接调用来触发推特。例如使用 Camel 中的直接组件通过 twitter 调用路由。

事件是指事件驱动的消费者,您可以在其中让 Twitter 对事件做出反应,例如在搜索中发现的新推文等。

例如,我们还有这个 websocket twitter 示例:http ://camel.apache.org/twitter-websocket-example.html

于 2013-02-01T08:04:07.187 回答
1

请记住,Streaming API 不能与直接端点一起使用——仅支持事件和轮询。

从 API 使用的角度来看,事件和轮询的工作方式相同。打开并维护单个流侦听器。速率限制注意事项没有区别。

唯一的区别是事件端点在收到消息后立即为每条消息发送 1 个事件。轮询将收到的消息排队并在每次轮询时释放它们。

因此,差异纯粹是它们在 Camel 内部的传递方式。就 API 而言,两个流式处理端点是相同的。

于 2013-02-05T17:53:53.443 回答
0

Direct 类型告诉消费者/生产者,每次端点以某种方式被激活时,它将连接到 Twitter。假设您想使用保存在数据库中的时间表在 Twitter 上进行搜索:

  1. 使用消耗调度数据的 JDBC/JPA 端点
  2. 根据数据库中的调度数据动态创建和注册 Quartz 端点
  3. 配置您的 Quartz 端点以向您的 Direct Twitter 端点发送消息以在该时刻进行搜索

你会被评价,永远。无论您使用流式传输、直接传输还是轮询。如果您使用的是流媒体,请阅读Twitter 开发人员中心的此常见问题解答

于 2013-02-04T21:37:50.257 回答