我发送一些事件来更新Esper中的侦听器方法,我收到了对象,但 update()方法将其包装到某个Hashmap中。我无法从那里检索对象。
public static class CEPListener implements UpdateListener {
public void update(EventBean[] newData, EventBean[] oldData) {
// put some condition here before sending to crowd.......
System.out.println("Event received: "
+ newData[0].getUnderlying());
System.out.println("Sending event to crowd.........");
}
}
在上面的函数中,我可以在 newData 中获取我想要的对象,但它包含在某个地图中,我无法找到从中检索对象的方法。在下面的屏幕中 newData [0] .getUnderlying()有各种属性,我需要红色矩形下的值对象,我无法按object methods访问。将感谢您的帮助。
答案 0 :(得分:0)
确定。我有答案。
for (EventBean eb : newData) {
if (eb instanceof MapEventBean) {
//MapEvent event = null;
if (eb.getUnderlying() instanceof Map<?, ?>) {
Map<?, ?> alert = (Map<?, ?>) eb.getUnderlying();
for (Entry<?, ?> entry : alert.entrySet())
{
System.out.println(entry.getValue());
}
}