我對駱駝非常陌生,並且一直在努力瞭解如何在特定場景中使用駱駝。 在這種情況下,有一個(基於Java的)代理程序會不時生成操作。我需要一個事件驅動的消費者來獲得這些事件的通知。這些事件將被路由到「文件」製作者(暫時)。如何在駱駝中實現事件驅動消費者
在駱駝書中,示例是針對投票的消費者。我無法找到針對事件驅動型消費者的通用解決方案。 我碰到一個類似的實現來抓JMX:
public class JMXConsumer extends DefaultConsumer implements NotificationListener {
JMXEndpoint jmxEndpoint;
public JMXConsumer(JMXEndpoint endpoint, Processor processor) {
super(endpoint, processor);
this.jmxEndpoint = endpoint;
}
public void handleNotification(Notification notification, Object handback) {
try {
getProcessor().process(jmxEndpoint.createExchange(notification));
} catch (Throwable e) {
handleException(e);
}
}
}
這裏,每當JMX通知到達的handleNotification被調用。
我相信我必須做類似的事情才能讓我的消費者在代理生成操作時得到通知。但是,上面的handleNotification方法是JMX特有的。該網頁上說:「在實現您自己的事件驅動的消費者時,您必須確定一個類似的事件偵聽器方法,以便在您的自定義消費者中實現。」
我想知道:如何識別類似的事件偵聽器,以便我的客戶在我的代理有動作時得到通知。
任何意見/鏈接到網頁非常感謝。
非常感謝您的回覆。我特別想知道如何發送活動。感謝您解釋這一點。將盡快嘗試。 (我是JEE的新手,所以可能需要一段時間才能弄清楚這一切) – sura 2012-08-14 20:07:09
好。更新了關於不同傳輸的答案,即嵌入了Seda和ActiveMQ。 – 2012-08-14 21:40:17