@Override
    public void execute(List<AbstractEventListener> listenerList, EventContext eventContext) {
        if (listenerList == null || listenerList.size() == 0) {
            return;
        }
        if (eventContext == null) {
            return;
        }

        for (AbstractEventListener listener : listenerList) {
            try {
                if (log.isDebugEnabled()) {
                    log.debug(String.format("serial start trigger event=%s listener=%s", eventContext.getEventName(),
                                            listener.getClass()));
                }

                listener.response(eventContext);
                if (log.isDebugEnabled()) {
                    log.debug(String.format("serial end trigger event=%s listener=%s", eventContext.getEventName(),
                                            listener.getClass()));
                }
            } catch (EventException e) {
                log.error(String.format("serial trigger event=%s listener=%s exception", eventContext.getEventName(),
                                        listener.getClass()), e);
            } catch (Exception e) {
                log.error(e);
            }
        }
    }