2013-08-02 88 views
0

我想寫一個簡單的駱駝例子。我只想從文件讀取並將其內容發送到隊列。這是我的camelContext聲明的樣子:路由到activemq端點不起作用

<camel:camelContext> 

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

</camel:camelContext> 

不幸的是,這不起作用。沒有任何信息寫入隊列。從文件系統讀取按預期工作,我已經檢查過。從該隊列讀取也工作正常(我發送一條消息使用管理Web界面從ActiveMQ和收到該消息)。

問題是沒有出現異常或顯示任何其他錯誤。我必須承認,我是駱駝和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> 

我很欣賞你的看法。 問候, 丹尼爾

+0

您確定要將文件放到正確的目錄嗎?當您從「file:src/data /?delay = 1000」創建路徑到另一個具有不同目錄的文件時。它工作嗎? – balent

+0

是的,我已經檢查過了。從該目錄讀取不是問題。 – Phillip

回答

0

如果你記錄身體之間的兩個uri,你有什麼?如果屍體在某一點上爲空。 順便說一下,你可以編輯你的問題,向我們展示如何定義activemq端點? (經紀人網址等...它可能只是一個問題)

+1

伐木是一個偉大的提示!我不知道這可以輕鬆完成。日誌記錄顯示了一個異常:java.lang.NoSuchMethodError:org.apache.camel.util.ObjectHelper.notNull 問題是,activemq-camel將它自己的camel作爲依賴關係,它是2.10.3。但我使用駱駝2.11.1,這意味着,我的課程路徑中有兩個不同的駱駝版本。我把pom中的「舊」駱駝版本排除在外,它很有效。更多的幫助在這裏: http://camel.465427.n5.nabble.com/camel-2-11-release-with-activemq-camel-5-8-td5733244.html – Phillip

+0

哈,舊的依賴衝突問題:p我也因此失去了時間和精力。現在這是我檢查的第一件事;) – jlb