无法在更新侦听器方法

时间:2017-01-30 13:17:12

标签: java events listener esper

我发送一些事件来更新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访问。将感谢您的帮助。 Attributes of newData[0].getUnderlying()

1 个答案:

答案 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());
                        }


                    }