1

簡単なラクダの例を書こうとしています。ファイルから読み取り、そのコンテンツをキューに送信したいだけです。これは私の camelContext 宣言がどのように見えるかです:

<camel:camelContext>

    <camel:route id="FileToQueue">
        <camel:from uri="file:src/data/?delay=1000" />
        <camel:to uri="activemq:queue:foo" />
    </camel:route>

</camel:camelContext>

残念ながら、これは機能しません。キューには何も書き込まれません。ファイルシステムからの読み取りは期待どおりに機能します。すでに確認済みです。そのキューからの読み取りも正常に機能しました(activemq から管理 Web インターフェイスを使用してメッセージを送信し、そのメッセージを受信しました)。

問題は、例外が発生したり、その他のエラーが表示されなかったりすることです。私は camel と activemq に不慣れであることを認めなければならないので、何かを見落としている可能性が高いです。

また、あるキューから読み取り、このメッセージを別のキューに送信しようとしました。メッセージの読み取りは成功しましたが、送信しませんでした。メッセージは読んだ後に失われました。

私はラクダ 2.11.1 と activemq 5.8.0 を使用しています。

--- 更新 (解決済み): それは私の pom.xml の欠落部分でした (除外):

<dependency>
   <groupId>org.apache.activemq</groupId>
   <artifactId>activemq-camel</artifactId>
   <version>5.8.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-jms</artifactId>
        </exclusion>
    </exclusions>
</dependency>

あなたの考えに感謝します。よろしく、 ダニエル

4

1 に答える 1

0

両方の uri の間で body をログに記録すると、何が得られますか? ある時点で本体が null の場合。ところで、あなたの質問を編集して、activemq エンドポイントの定義方法を教えてもらえますか? (ブローカーのURLなど...単にそこに問題がある可能性があります)

于 2013-08-02T18:15:07.690 に答える