public void performOperation(final AtomicOperation executionOperation, final ExecutionEntity execution, final boolean performAsync) { AtomicOperationInvocation invocation = new AtomicOperationInvocation(executionOperation, execution, performAsync); queuedInvocations.add(0, invocation); performNext(); }
protected void writeInvocation(AtomicOperationInvocation invocation, StringWriter writer) { writer.write("\t"); writer.write(invocation.getActivityId()); writer.write(" ("); writer.write(invocation.getOperation().getCanonicalName()); writer.write(", "); writer.write(invocation.getExecution().toString()); if(invocation.isPerformAsync()) { writer.write(", ASYNC"); } if(invocation.getApplicationContextName() != null) { writer.write(", pa="); writer.write(invocation.getApplicationContextName()); } writer.write(")\n"); }
protected List<Map<String, String>> collectActivityTrace() { List<Map<String, String>> activityTrace = new ArrayList<Map<String, String>>(); for (AtomicOperationInvocation atomicOperationInvocation : perfromedInvocations) { String activityId = atomicOperationInvocation.getActivityId(); if(activityId == null) { continue; } Map<String, String> activity = new HashMap<String, String>(); activity.put("activityId", activityId); String activityName = atomicOperationInvocation.getActivityName(); if (activityName != null) { activity.put("activityName", activityName); } if(activityTrace.isEmpty() || !activity.get("activityId").equals(activityTrace.get(0).get("activityId"))) { activityTrace.add(0, activity); } } return activityTrace; }
@Override protected JobHandlerConfiguration resolveJobHandlerConfiguration(AtomicOperationInvocation context) { AsyncContinuationConfiguration configuration = new AsyncContinuationConfiguration(); configuration.setAtomicOperation(context.getOperation().getCanonicalName()); ExecutionEntity execution = context.getExecution(); PvmActivity activity = execution.getActivity(); if(activity != null && activity.isAsyncAfter()) { if(execution.getTransition() != null) { // store id of selected transition in case this is async after. // id is not serialized with the execution -> we need to remember it as // job handler configuration. configuration.setTransitionId(execution.getTransition().getId()); } } return configuration; }
protected ExecutionEntity resolveExecution(AtomicOperationInvocation context) { return context.getExecution(); }
protected void invokeNext() { AtomicOperationInvocation invocation = queuedInvocations.remove(0); try { invocation.execute(bpmnStackTrace); } catch(RuntimeException e) { // log bpmn stacktrace bpmnStackTrace.printStackTrace(Context.getProcessEngineConfiguration().isBpmnStacktraceVerbose()); // rethrow throw e; } }
public AtomicOperationInvocation(AtomicOperation operation, ExecutionEntity execution, boolean performAsync) { init(operation, execution, performAsync); }
@SuppressWarnings({"unchecked"}) public void scheduleAtomicOperationAsync(AtomicOperationInvocation executionOperationInvocation) { MessageJobDeclaration messageJobDeclaration = null; List<MessageJobDeclaration> messageJobDeclarations = (List<MessageJobDeclaration>) getActivity() .getProperty(BpmnParse.PROPERTYNAME_MESSAGE_JOB_DECLARATION); if (messageJobDeclarations != null) { for (MessageJobDeclaration declaration : messageJobDeclarations) { if (declaration.isApplicableForOperation(executionOperationInvocation.getOperation())) { messageJobDeclaration = declaration; break; } } } if (messageJobDeclaration != null) { MessageEntity message = messageJobDeclaration.createJobInstance(executionOperationInvocation); Context.getCommandContext().getJobManager().send(message); } else { throw LOG.requiredAsyncContinuationException(getActivity().getId()); } }
@Override protected JobHandlerConfiguration resolveJobHandlerConfiguration(AtomicOperationInvocation context) { AsyncContinuationConfiguration configuration = new AsyncContinuationConfiguration(); configuration.setAtomicOperation(context.getOperation().getCanonicalName()); ExecutionEntity execution = context.getExecution(); PvmActivity activity = execution.getActivity(); if(activity != null && activity.isAsyncAfter()) { if(execution.getTransition() != null) { // store id of selected transition in case this is async after. // id is not serialized with the execution -> we need to remember it as // job handler configuration. configuration.setTransitionId(execution.getTransition().getId()); } } return configuration; }
protected ExecutionEntity resolveExecution(AtomicOperationInvocation context) { return context.getExecution(); }
protected void invokeNext() { AtomicOperationInvocation invocation = queuedInvocations.remove(0); try { invocation.execute(bpmnStackTrace); } catch(RuntimeException e) { // log bpmn stacktrace bpmnStackTrace.printStackTrace(Context.getProcessEngineConfiguration().isBpmnStacktraceVerbose()); // rethrow throw e; } }
public AtomicOperationInvocation(AtomicOperation operation, ExecutionEntity execution, boolean performAsync) { init(operation, execution, performAsync); }
@SuppressWarnings({"unchecked"}) public void scheduleAtomicOperationAsync(AtomicOperationInvocation executionOperationInvocation) { MessageJobDeclaration messageJobDeclaration = null; List<MessageJobDeclaration> messageJobDeclarations = (List<MessageJobDeclaration>) getActivity() .getProperty(BpmnParse.PROPERTYNAME_MESSAGE_JOB_DECLARATION); if (messageJobDeclarations != null) { for (MessageJobDeclaration declaration : messageJobDeclarations) { if (declaration.isApplicableForOperation(executionOperationInvocation.getOperation())) { messageJobDeclaration = declaration; break; } } } if (messageJobDeclaration != null) { MessageEntity message = messageJobDeclaration.createJobInstance(executionOperationInvocation); Context.getCommandContext().getJobManager().send(message); } else { throw LOG.requiredAsyncContinuationException(getActivity().getId()); } }
protected void writeInvocation(AtomicOperationInvocation invocation, StringWriter writer) { writer.write("\t"); writer.write(invocation.getActivityId()); writer.write(" ("); writer.write(invocation.getOperation().getCanonicalName()); writer.write(", "); writer.write(invocation.getExecution().toString()); if(invocation.isPerformAsync()) { writer.write(", ASYNC"); } if(invocation.getApplicationContextName() != null) { writer.write(", pa="); writer.write(invocation.getApplicationContextName()); } writer.write(")\n"); }
@Override protected JobHandlerConfiguration resolveJobHandlerConfiguration(AtomicOperationInvocation context) { AsyncContinuationConfiguration configuration = new AsyncContinuationConfiguration(); configuration.setAtomicOperation(context.getOperation().getCanonicalName()); ExecutionEntity execution = context.getExecution(); PvmActivity activity = execution.getActivity(); if(activity != null && activity.isAsyncAfter()) { if(execution.getTransition() != null) { // store id of selected transition in case this is async after. // id is not serialized with the execution -> we need to remember it as // job handler configuration. configuration.setTransitionId(execution.getTransition().getId()); } } return configuration; }
protected List<Map<String, String>> collectActivityTrace() { List<Map<String, String>> activityTrace = new ArrayList<Map<String, String>>(); for (AtomicOperationInvocation atomicOperationInvocation : perfromedInvocations) { String activityId = atomicOperationInvocation.getActivityId(); if(activityId == null) { continue; } Map<String, String> activity = new HashMap<String, String>(); activity.put("activityId", activityId); String activityName = atomicOperationInvocation.getActivityName(); if (activityName != null) { activity.put("activityName", activityName); } if(activityTrace.isEmpty() || !activity.get("activityId").equals(activityTrace.get(0).get("activityId"))) { activityTrace.add(0, activity); } } return activityTrace; }
@Override protected MessageEntity newJobInstance(AtomicOperationInvocation context) { MessageEntity message = new MessageEntity(); message.setExecution(context.getExecution()); return message; }
public void performOperation(final AtomicOperation executionOperation, final ExecutionEntity execution, final boolean performAsync) { AtomicOperationInvocation invocation = new AtomicOperationInvocation(executionOperation, execution, performAsync); queuedInvocations.add(0, invocation); performNext(); }
protected void invokeNext() { AtomicOperationInvocation invocation = queuedInvocations.remove(0); try { invocation.execute(bpmnStackTrace); } catch(RuntimeException e) { // log bpmn stacktrace bpmnStackTrace.printStackTrace(Context.getProcessEngineConfiguration().isBpmnStacktraceVerbose()); // rethrow throw e; } }
public AtomicOperationInvocation(AtomicOperation operation, ExecutionEntity execution, boolean performAsync) { init(operation, execution, performAsync); }