Search in sources :

Example 1 with ProcessMessageResult

use of org.bedework.calsvc.MesssageHandler.ProcessMessageResult in project bw-calendar-engine by Bedework.

the class InoutSched method action.

@Override
public void action(final SysEvent ev) throws NotificationException {
    if (ev == null) {
        return;
    }
    try {
        if (debug) {
            debug("Received message" + ev);
        }
        if (ev instanceof EntityQueuedEvent) {
            counts.total++;
            final EntityQueuedEvent eqe = (EntityQueuedEvent) ev;
            for (int ct = 1; ct <= retryLimit; ct++) {
                if ((ct - 1) > counts.maxRetries) {
                    counts.maxRetries = ct - 1;
                }
                final ProcessMessageResult pmr = handler.processMessage(eqe);
                if (pmr == ProcessMessageResult.PROCESSED) {
                    counts.processed++;
                    return;
                }
                if (pmr == ProcessMessageResult.NO_ACTION) {
                    counts.noaction++;
                    return;
                }
                if (pmr == ProcessMessageResult.STALE_STATE) {
                    counts.staleState++;
                    counts.retries++;
                    if (ct == 1) {
                        counts.retried++;
                    }
                }
                if (pmr == ProcessMessageResult.FAILED_NORETRIES) {
                    counts.failedNoRetries++;
                    return;
                }
                if (pmr == ProcessMessageResult.FAILED) {
                    counts.failed++;
                    counts.retries++;
                    if (ct == 1) {
                        counts.retried++;
                    }
                }
            }
            /* Failed after retries */
            counts.failedRetries++;
        }
    } catch (final Throwable t) {
        error("Error processing message " + ev);
        error(t);
    }
}
Also used : EntityQueuedEvent(org.bedework.sysevents.events.EntityQueuedEvent) ProcessMessageResult(org.bedework.calsvc.MesssageHandler.ProcessMessageResult)

Example 2 with ProcessMessageResult

use of org.bedework.calsvc.MesssageHandler.ProcessMessageResult in project bw-calendar-engine by Bedework.

the class ChgProc method action.

@Override
public void action(final SysEvent ev) {
    if (ev == null) {
        return;
    }
    try {
        if (debug) {
            debug("Received message with syscode " + ev.getSysCode());
        }
        if (isAuditLoggerEnabled()) {
            audit(ev.toString());
        }
        counts.total++;
        for (int ct = 1; ct <= retryLimit; ct++) {
            if ((ct - 1) > counts.maxRetries) {
                counts.maxRetries = ct - 1;
            }
            final ProcessMessageResult pmr = handler.processMessage(ev);
            if (pmr == ProcessMessageResult.PROCESSED) {
                counts.processed++;
                return;
            }
            if (pmr == ProcessMessageResult.IGNORED) {
                counts.ignored++;
                return;
            }
            if (pmr == ProcessMessageResult.NO_ACTION) {
                counts.noaction++;
                return;
            }
            if (pmr == ProcessMessageResult.STALE_STATE) {
                counts.staleState++;
                counts.retries++;
                if (ct == 1) {
                    counts.retried++;
                }
            }
            if (pmr == ProcessMessageResult.FAILED_NORETRIES) {
                counts.failedNoRetries++;
                return;
            }
            if (pmr == ProcessMessageResult.FAILED) {
                counts.failed++;
                counts.retries++;
                if (ct == 1) {
                    counts.retried++;
                }
            }
            /* Failed after retries */
            counts.failedRetries++;
        }
    } catch (final Throwable t) {
        error("Error processing message " + ev);
        error(t);
    }
}
Also used : ProcessMessageResult(org.bedework.calsvc.MesssageHandler.ProcessMessageResult)

Aggregations

ProcessMessageResult (org.bedework.calsvc.MesssageHandler.ProcessMessageResult)2 EntityQueuedEvent (org.bedework.sysevents.events.EntityQueuedEvent)1