2

camel-twitter (The Twitter Component for Apache Camel: http://camel.apache.org/twitter.html ) の使用を検討しています。Twitterのストリーミング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

ストリーミングAPIは直接エンドポイントでは使用できないことに注意してください。サポートされているのはイベントとポーリングのみです。

APIの使用の観点からは、イベントとポーリングの両方が同じように機能します。単一のストリームリスナーが開かれ、維持されます。レート制限の考慮事項に違いはありません。

唯一の違いは、イベントエンドポイントがメッセージを受信するとすぐにメッセージごとに1つのイベントを送信することです。ポーリングは、受信したメッセージをキューに入れ、ポーリングごとにそれらを解放します。

したがって、違いは純粋にキャメル内での配信方法です。APIに関しては、両方のストリーミングエンドポイントは同じです。

于 2013-02-05T17:53:53.443 に答える
1

direct は、明示的な直接呼び出しを行って twitter をトリガーすることを意味します。たとえば、Camel の direct コンポーネントを使用して、twitter でルートを呼び出します。

イベントとは、検索で見つかった新しいツイートなどのイベントに Twitter が反応する、イベント駆動型の消費者を意味します。

例として、次の websocket twitter の例もあります: http://camel.apache.org/twitter-websocket-example.html

于 2013-02-01T08:04:07.187 に答える
0

Direct タイプは、エンドポイントが何らかの形でアクティブ化されるたびに Twitter に接続することをコンシューマー/プロデューサーに伝えます。データベースに保存されたスケジュールを使用して、Twitter で検索を行いたいとします。

  1. スケジューリング データを使用する JDBC/JPA エンドポイントを使用する
  2. DB からのスケジューリング データに基づいて、Quartz エンドポイントを動的に作成および登録します。
  3. その時点で検索を行うために Direct Twitter エンドポイントにメッセージを送信するように Quartz エンドポイントを構成します。

あなたは常に評価されます。ストリーミング、ダイレクト、ポーリングのいずれを使用しても構いません。ストリーミングを使用している場合は、Twitter Developer Center のこのFAQをお読みください。

于 2013-02-04T21:37:50.257 に答える