147.4. スケジュールされたポーリングコンシューマー

このコンポーネントは、ScheduledPollConsumer を実装します。指定された consumeUsers からの最後のメッセージのみが取得され、エクスチェンジボディーとして送信されます。次のポーリングで新しいメッセージがないときに同じメッセージを再度取得したくない場合は、以下に示すようにべき等コンシューマーを追加できます。ScheduledPollConsumer のすべてのオプションを使用して、コンシューマーをより詳細に制御することもできます。

@Override
public void configure() throws Exception {
 String hipchatEndpointUri = "hipchat://?authToken=XXXX&consumeUsers=@Joe,@John";
 from(hipchatEndpointUri)
  .idempotentConsumer(
    simple("${in.header.HipchatMessageDate} ${in.header.HipchatFromUser}"),
    MemoryIdempotentRepository.memoryIdempotentRepository(200)
  )
  .to("mock:result");
}

147.4.1. Hipchat コンシューマーによって設定されたメッセージヘッダー

ヘッダー定数タイプ説明

HipchatFromUser

HipchatConstants.FROM_USER

String

本文には、このユーザーから authToken の所有者に送信されたメッセージが含まれています

HipchatMessageDate

HipchatConstants.MESSAGE_DATE

String

メッセージが送信された日付。形式は、Hipchat の レスポンス にある ISO-8601 です。