2016-05-10 18 views
0

問題は単純ですが、実装は難解です。私はいくつかのセットアップPOSTをRESTサーバーに1回送信し、POSTが成功した直後にGETを使って5秒ごとにポーリングを開始したいと考えています。 Camel CXFRSコンポーネントを使用して、Camel Spring XMLのようにこの外観を実装するとどうなりますか?私は新しいコードやラクダのエンドポイントを書いたくないので、既存のラクダツールでこれをやりたいと思っています。Camel CXF REST:セットアップ後にポーリング

答えて

1

次のようなものを試すことができます。ラクダコンポーネントの詳細については、Apache camel documentation

<camelContext xmlns="http://camel.apache.org/schema/spring" 
    <route id="abc" shutdownRoute="Default" streamCache="true"> 
      <from uri="timer://foo?fixedRate=true&amp;period=100000" /> 
      <setHeader headerName="CamelHttpMethod"> 
       <constant>POST</constant> 
      </setHeader> 
      --setheader for Content-Type 
      <recipientList> 
       <simple>https4://post url</simple> 
      </recipientList> 
      <log message="After Transmission " loggingLevel="DEBUG" 
       logName="com.domain" /> 
      <recipientList> 
       <simple>https4://get url</simple> 
      </recipientList> 
      --unmarshall 
</route> 
</camelContext> 
+0

ありがとう@RamPrakash!しかし、これはサービスがいつもポストをしてからゲットするのではないでしょうか? – Thirlan

+0

申し訳ありませんが、私のコメントを明確にしましょう、あなたのコードは投稿をし、100000msごとに取得するでしょうか?私はおそらく2〜3回のPOSTを行い、その後は100,000msごとにGETを行うようにしていました。 – Thirlan

+0

@Thirlanはい。私の悪い、私はかなりあなたの要件を正しく取得していないように見えます。また、POSTとGETの間に遅延を使用することもできます。詳しくは、このドキュメントを参照してください。http://camel.apache.org/delayer.htmlまたはPOSTとGETのために複数のフローを書くことができます。あなたのタスク。 – RamPrakash

関連する問題