@Override public void enableEventsInFailure(final ActivityInstanceUUID activityUUID) { final EventService eventService = EnvTool.getEventService(); eventService.enableEventsInFailureIncomingEvents(activityUUID); }
@Override public void enablePermanentEventInFailure(final ActivityDefinitionUUID activityUUID) { final EventService eventService = EnvTool.getEventService(); eventService.enablePermanentEventsInFailure(activityUUID); }
static void deleteBoundaryEvents(final ActivityInstanceUUID activityUUID) { final EventService eventService = EnvTool.getEventService(); for (final IncomingEventInstance incoming : eventService.getBoundaryIncomingEvents(activityUUID)) { eventService.removeEvent(incoming); } for (final OutgoingEventInstance outgoing : eventService.getBoundaryOutgoingEvents(activityUUID)) { eventService.removeEvent(outgoing); } }
static void deleteEvents(final String eventName, final String processName, final String activityName, final ActivityInstanceUUID activityUUID) { final EventService eventService = EnvTool.getEventService(); for (final IncomingEventInstance incoming : eventService.getIncomingEvents(eventName, processName, activityName, activityUUID)) { eventService.removeEvent(incoming); } for (final OutgoingEventInstance outgoing : eventService.getOutgoingEvents(eventName, processName, activityName, activityUUID)) { eventService.removeEvent(outgoing); } }
public static void createJob(final EventService eventService, final EventCoupleId eventCoupleId) { final IncomingEventInstance ie = eventService.getIncomingEvent(eventCoupleId.getIncoming()); final OutgoingEventInstance oe = eventService.getOutgoingEvent(eventCoupleId.getOutgoing()); final boolean isStartEvent = EventConstants.START.equals(job.getEventPosition()); if (!isStartEvent || (eventSubProcessRootInstanceUUID != null && isStartEvent)) { eventService.removeEvent(ie); } else { ie.setLocked(false); eventService.removeEvent(oe); } else { job.setOutgoingEvent(oe); eventService.storeJob(job); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Job with eventCoupleId: " + eventCoupleId + " created.");
@Override public void deleteEvent(final CatchingEventUUID eventUUID) throws EventNotFoundException { final EventService eventService = EnvTool.getEventService(); final long id = Long.parseLong(eventUUID.getValue()); final Job job = eventService.getJob(id); if (job == null) { throw new EventNotFoundException("Event " + id + "does not exist."); } eventService.removeJob(job); EnvTool.getEventExecutor().refreshEventMatcher(); }
activityUUID, overdue); ActivityUtil.addCorrelationKeys(outgoingEvent, eventInstance, activityUUID); eventService.fire(eventInstance); final List<IncomingEventInstance> messageSubProcessesIncomingEvents = eventService.getMessageEventSubProcessIncomingEvents(instanceUUID, eventInstance.getId()); if (!messageSubProcessesIncomingEvents.isEmpty()) {
@Override public void executeEvent(final CatchingEventUUID eventUUID) throws EventNotFoundException { final EventService eventService = EnvTool.getEventService(); final long id = Long.parseLong(eventUUID.getValue()); final Job job = eventService.getJob(id); if (EventConstants.TIMER.equals(job.getEventType())) { updateExpirationDate(job, new Date()); } }
@Override protected List<Job> getLockedJobs(final String processUUID) { final EventService eventService = EnvTool.getEventService(); return eventService.getExecutableJobs(processUUID); }
@Override public Set<EventCoupleId> execute(final Environment environment) throws Exception { final Set<Long> usedIncomings = new HashSet<Long>(); final Set<Long> usedOutgoings = new HashSet<Long>(); final EventService eventService = EnvTool.getEventService(); final List<EventCouple> couples = eventService.getCorrelationKeyMessageEventCouples(maxCouples); if (couples.isEmpty()) { return Collections.emptySet(); } final Set<EventCoupleId> result = new HashSet<EventCoupleId>(); for (final EventCouple couple : couples) { final IncomingEventInstance incoming = couple.getIncoming(); final OutgoingEventInstance outgoing = couple.getOutgoing(); final long incomingId = incoming.getId(); final long outgoingId = outgoing.getId(); if (!usedIncomings.contains(incomingId) && !usedOutgoings.contains(outgoingId)) { usedIncomings.add(incomingId); usedOutgoings.add(outgoingId); final EventCoupleId eventCoupleId = EventCoupleHandling.createEventCouple(incoming, outgoing); result.add(eventCoupleId); } } if (LOG.isLoggable(Level.INFO)) { LOG.info("Correlation event matcher: New event couples to execute: " + result.toString()); } return result; }
@Override public void updateExpirationDate(final CatchingEventUUID eventUUID, final Date expiration) throws EventNotFoundException { final EventService eventService = EnvTool.getEventService(); final long id = Long.parseLong(eventUUID.getValue()); final Job job = eventService.getJob(id); if (job == null) { throw new EventNotFoundException("Event " + id + "does not exist."); } updateExpirationDate(job, expiration); }
@Override public CatchingEvent getEvent(final CatchingEventUUID eventUUID) throws EventNotFoundException { final EventService eventService = EnvTool.getEventService(); final long jobId = Long.parseLong(eventUUID.getValue()); final Job job = eventService.getJob(jobId); if (job == null) { throw new EventNotFoundException("Event " + jobId + "does not exist."); } return getEvent(job); }
@Override public String execute(final Environment environment) throws Exception { // serialize the stack trace final StringWriter sw = new StringWriter(); exception.printStackTrace(new PrintWriter(sw)); final Job job = EnvTool.getEventService().getJob(jobId); if (job.getExecutionUUID() != null) { final Execution execution = EnvTool.getJournal().getExecutionWithEventUUID(job.getExecutionUUID()); if (execution != null) { if (!Execution.STATE_ACTIVE.equals(execution.getState())) { execution.unlock(); } execution.lock(execution.getState()); } } final int decrementedRetries = job.getRetries() - 1; if (LOG.isLoggable(Level.INFO)) { LOG.info("Decrementing retries on job: " + job + ": " + decrementedRetries); } job.setRetries(decrementedRetries); job.setException(sw.toString()); return job.getProcessUUID(); }