oyentes de tareas que pueden fluir y servicio de Java problema de inyección de dependencia entre tareas

Registrar un servicio de preguntas y java tareas relacionadas con el uso reciente de los oyentes de tareas que pueden fluir

Los oyentes de tareas

TaskListener principalmente para supervisar la situación de usertask, escucha para el evento de los eventos son cuatro:
la creación de Crear
asignación de personas asignar
completa completa
Eliminar Eliminar

xml:

<userTask id="USERTASK" name="USERTASK" >
  <extensionElements>
    <activiti:taskListener event="complete" class="com.github.flowable.delegate.MyListener"/>
  </extensionElements>
</userTask>

código:

public class MyListener implements TaskListener {

    @Override
    public void notify(DelegateTask delegateTask) {

        System.out.println("===========执行监听器============");
    }

}

Habrá un problema, cuando hay inyección de dependencias primavera, recibirá menos, debe ser considerado cuando se arranca el motor de procesos, la inyección de dependencias de inicialización no se ha completado, porque es maravilloso y Java se utilizan en ingeniería mezclado con, puede este problema existirá

inyección de dependencia

Aquí resuelto por otro camino, a modo de ejemplo de la adquisición de la interfaz de Application Context ApplicationContextAware

@Component
public class MyListener implements TaskListener, ApplicationContextAware {

    private static  ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext arg0) throws BeansException {
        applicationContext = arg0;
    }

    @Override
    public void notify(DelegateTask delegateTask) {

        String processInsId = delegateTask.getProcessInstanceId();
        MyService myService = (MyService) applicationContext.getBean("myService");

        // TODO 执行service方法
        
        System.out.println("==========执行监听器======");
    }

}

misión de servicio java

Del mismo modo las tareas de servicio de Java no son el problema
xml:

    <serviceTask id="classservicetask" name="class方式" flowable:class="com.github.flowable.delegate.ClassImplementsJavaDelegate">
    </serviceTask>

código:

@Component
public class ClassImplementsJavaDelegate implements JavaDelegate, ApplicationContextAware {

	private static ApplicationContext applicationContext;

	@Override
	public void setApplicationContext(ApplicationContext arg0) throws BeansException {
		applicationContext = arg0;
	}
	
	public void execute(DelegateExecution execution) {

		String processInsId = execution.getProcessInstanceId();
		MyService myService = (MyService) applicationContext.getBean("myService");
		System.out.println("=====================指定实现了JavaDelegate的类=====================");
	}
}

Supongo que te gusta

Origin www.cnblogs.com/DF-Kyun/p/12669095.html
Recomendado
Clasificación