@Transactional
	public void processMessage(ProcessInstance processInstance,
			Message<?> message, MessageMapper messageMapper) {
		Object context = getContextDAO().getContext(processInstance.getObjectInstance());
		processInstance.setStatus(TaskStatus.GO);
		try {
			messageMapper.unpackMessage(message, context);
		} catch (Exception e) {
			processInstance.setStatus(TaskStatus.ABORTING);
			processInstance.setComment(e.getMessage());
		}
		log.debug("set status to processInstance {} to {} {}",processInstance.getId(),processInstance.getStatus(),context);
		getContextDAO().mergeContext(context);
		getWorkflowDAO().mergeProcessInstance(processInstance);
		getWorkflowDAO().flush();
		if (log.isDebugEnabled()) {
			getWorkflowDAO().getActiveProcesses();
		}
	}
@ Transactional public void processMessage ( ProcessInstance processInstance , Message < ? > message , MessageMapper messageMapper ) { Object context = getContextDAO ( ) . getContext ( processInstance . getObjectInstance ( ) ) ; processInstance . setStatus ( TaskStatus . GO ) ; try { messageMapper . unpackMessage ( message , context ) ; } catch ( Exception e ) { processInstance . setStatus ( TaskStatus . ABORTING ) ; processInstance . setComment ( e . getMessage ( ) ) ; } log . debug ( "set status to processInstance {} to {} {}" , processInstance . getId ( ) , processInstance . getStatus ( ) , context ) ; getContextDAO ( ) . mergeContext ( context ) ; getWorkflowDAO ( ) . mergeProcessInstance ( processInstance ) ; getWorkflowDAO ( ) . flush ( ) ; if ( log . isDebugEnabled ( ) ) { getWorkflowDAO ( ) . getActiveProcesses ( ) ; } }
/* (non-Javadoc)
@see nz.co.senanque.workflow.WorkflowManager#processMessage(nz.co.senanque.workflow.instances.ProcessInstance, org.springframework.integration.Message, nz.co.senanque.messaging.MessageMapper)