2014-01-06 27 views
0

我是駱駝和ActiveMQ的新手。 我有嘗試通過ActiveMQ的消耗從不同的應用程序的一些消息一些Java代碼:當ActiveMQ未啓動時,爲什麼我的War文件(使用駱駝代碼)無法在JBoss 7上部署?

ConsumerTemplate consumer; 
@Consume(uri="activemq:somename") 
public void process(Map<String, String> map) { 

//do some fancy stuff 
} 

包含該代碼的類是在戰爭文件;當我的ActiveMQ服務器運行時,它在JBoss 7上部署得非常好,並且代碼被正確調用。當服務器沒有運行,部署失敗,我得到以下錯誤:

Did not receive a response to the deployment operation 
within the allowed timeout period [300 seconds]. 

有日誌中沒有其他錯誤。 該消耗是整個應用程序中唯一的ActiveMQ參考; 並且部署失敗。

所以我的問題是:爲什麼不啓動,如果沒有啓動ActiveMQ服務器,我怎麼才能使它啓動,即使服務器沒有啓動?

回答

1

代碼有消費者ActiveMQ代理與此代碼

@Consume(uri="activemq:somename") 

當消費者開始把它連接到代理,如果失敗則可能掛了一段時間。你可以告訴駱駝啓動監聽異步與

@Consume(uri="activemq:somename?asyncStartListener=true") 

查看更多詳細信息,在駱駝JMS文檔