我对骆驼很陌生,一直在努力了解如何在特定场景中使用骆驼。在这种情况下,有一个(基于 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 的。网页上说:“在实现自己的事件驱动消费者时,您必须确定一个类似的事件侦听器方法以在您的自定义消费者中实现。”
我想知道:如何识别类似的事件侦听器,以便在我的代理有操作时通知我的消费者。
非常感谢任何指向网页的建议/链接。