instancia de proceso Activiti

I. Proceso de implementación (modo de archivo)

/ ** 
     * compresión de la bolsa proceso de implementación 
     * / 
    @test 
    pública  vacío deploymentByZip () {
         // Obtener el objeto processEngine 
        la ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
         // conseguir un objetivo RepositoryService 
        RepositoryService RepositoryService = processEngine.getRepositoryService ();
         / / definir un flujo de entrada, Zip archivo de carga 
        InputStream = flujoEntrada el este .getClass () getClassLoader () la getResourceAsStream ( "BPMN / holiday.zip.". );
         // definir un objetivo ZipInputStream 
        ZipInputStream ZipInputStream = nuevo nuevoZipInputStream (flujoEntrada);
         // Los procesos para 
        la Implementación Implementación = repositoryService.createDeployment () 
                .addZipInputStream (ZipInputStream) 
                .name ( "proceso de aprobación de petición" ) 
                .key ( "holidayKey" ) 
                la .deploy (); 
        System.out.println ( " nombre de proceso: "+ deploy.getName ()); 

    }

 


        
II. Definición del proceso Vista

/ ** 
     * Comprobar información de definición de flujo 
     * / 
    @test 
    pública  vacío getProDef () {
         // Obtener el objeto processEngine 
        la ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
         // conseguir un objetivo RepositoryService 
        RepositoryService RepositoryService = processEngine.getRepositoryService ();
         // Ver objetos obtenidos de definición de procesos processDefinitionQuery 
        processDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery ();
         // especificado visualización proceso processDefinitionKey () valores de clave especificadas en la definición del proceso de acuerdo con el número de versión definición orderByProcessDefinitionVersion proceso especie
        Lista <la ProcessDefinition> processDefinitionQuery.processDefinitionKey = vacaciones ( "myProcess_1" ) .orderByProcessDefinitionVersion () desc () lista (); ..
         Para (el ProcessDefinition PRODEF: vacaciones) { 
            System.out.println ( "definición del proceso de identificación:" + PRODEF. getId ()); 
            System.out.println ( "nombre de definición de proceso:" + proDef.getName ()); 
            System.out.println ( "definición de procesos clave:" + proDef.getKey ()); 
            el System.out .println ( "número de versión de definición de proceso:" + proDef.getVersion ()); 
        } 
    }

 

 

 

III. Proceso de borrado

            / ** 
             * proceso de borrado: 
             * asumir que cuando se elimina, en la actualidad tiene la instancia de proceso, que dará lugar a la eliminación falla 
             * Si obligatoria, puede utilizar repositoryService.deleteDeployment ( "1", true) ; verdadera representante de eliminaciones en cascada
              * / 
            @test 
            pública  vacío deleteDeployment () {
                 // Obtener el objeto processEngine 
                la processEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
                 // conseguir un objetivo RepositoryService 
                RepositoryService RepositoryService = processEngine.getRepositoryService ();
                 // proceso de eliminación 
                repositoryService.deleteDeployment ( "1" , true );
            }

 

 

 


        
IV. Obtiene procesos de base de datos de información de recursos

dependencia:

 

    < Dependencia > 
          < groupId > commons-io </ groupId > 
          < artifactId > commons-io </ artifactId > 
          < versión > 2.5 </ version > 
          < ámbito > prueba </ alcance > 
      </ dependencia >

 

 

 

    / ** 
     * lee los datos desde el archivo de recursos a un local de 
     * / 
    @test 
    pública  sin efecto la getResource () lanza IOException {
         // Obtener el objeto processEngine 
        la ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
         // conseguir un objetivo RepositoryService 
        RepositoryService RepositoryService = processEngine. getRepositoryService ();
         // entrar en el proceso el objeto de consulta 
        processDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery ();
         // entrar en el flujo de los recursos 
        processDefinitionQuery.processDefinitionKey ( "myProcess_1" );
        // Obtener un único resultado 
        la ProcessDefinition ProcessDefinition = processDefinitionQuery.singleResult ();
         // despliegue proceso ID 
        de cadena deploymentId = processDefinition.getDeploymentId ();
         // adquirido bpmnResource 
        el InputStream bpmnStream = repositoryService.getResourceAsStream (deploymentId, processDefinition.getResourceName ());
         // Obtener el PNG 
        InputStream pngStream = repositoryService.getResourceAsStream (deploymentId, processDefinition.getDiagramResourceName ());
         // crear el flujo de salida 
        del OutputStream bpmnOut = nuevo nuevo un FileOutputStream ( "E: la Prueba \\ \\" +; ProcessDefinition.getResourceName ()) 
        OutputStream PNGOUT = nuevo nuevo un FileOutputStream (: + "E Test \\ \\" processDefinition.getDiagramResourceName ());
         // los datos de salida en el disco, que 
        IOUtils.copy (bpmnStream, bpmnOut); 
        IOUtils.copy (pngStream, PNGOUT); 
        // el flujo de 
        pngOut.close (); 
        bpmnOut.close (); 
        pngStream.close (); 
        bpmnStream.close (); 
    }

 

Aplicación de los resultados:

 

 

 

 


        
        
sistemas y procesos de negocio V. asociados con el sistema de

    / ** 
     * Ejemplos y los sistemas de negocio asociados con el inicio del proceso 
     * Datos normales deben primero añadirlos a la tabla de negocios, se añade el identificador de clave principal para obtener los datos actuales, iniciar el proceso por ejemplo, el ID de clave primaria a BuessniessKkey 
     * sistemas y procesos representativos asociado 
     * / 
    @test 
    pública  vacío startInstance () {
         / ** 
         * dejar que Joe Smith presentó a la página, y luego obtener el ID 
         * / 


        / ** 
         * crear una instancia de la licencia proceso de Joe Smith 
         * / 
        // get processEngine orientar 
        la processEngine processEngine = ProcessEngines.getDefaultProcessEngine (); 
        runtimeService runtimeService = processEngine.getRuntimeService ();
         // proceso de generación de 
        la ProcessInstance runtimeService.startProcessInstanceByKey = Holiday ( "myProcess_1", "2" ); 

        / **
         * Joe Smith sometido a la aprobación de la licencia 
         * / 
        // obtener una TaskService objetos 
        TaskService TaskService = processEngine.getTaskService ();
         // obtener tarea de John 
        tarea Tarea = taskService.createTaskQuery () taskAssignee ( "zhangsan") processDefinitionKey ( "myProcess_1 .. " ) .singleResult ();
         // aprobación tarea 
        taskService.complete (task.getId ()); 
    }

 

 

 


        

VI. Activación de procesos y se bloquea

1. Todos pendientes de definición de procesos

    / ** 
     * Todos definición de procesos pendientes 
     * / 
    @test 
    pública  vacío allSuspend () {
         // Obtener el objeto processEngine 
        la ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
         // Obtener el objeto RepositoryService 
        la RepositoryService RepositoryService = processEngine.getRepositoryService ();
         // definición del proceso de adquisición 
        ProcessDefinition Holiday = repositoryService.createProcessDefinitionQuery () processDefinitionKey ( "myProcess_1." ) .singleResult ();
         // obtener la definición actual proceso si el estado de suspensión suspende el método se representantes verdaderos pausa se está ejecutando falsos 
        booleanos suspendido =holiday.isSuspended ();
         IF (suspendida) { 
            repositoryService.activateProcessDefinitionById (holiday.getId (), a verdadero , nula ); 
            System.out.println ( "define la activación de flujo" ); 
        } la otra cosa { 
            repositoryService.suspendProcessDefinitionById (holiday.getId (), a la verdadera , nula ); 
            System.out.println ( "suspender la definición del proceso" ); 
        } 
    }

 

 

 ejecutado de nuevo

 

 

 

2. Un proceso único ejemplo pendiente

    / ** 
     * pendiente de una sola instancia de proceso 
     * / 
    @test 
    pública  vacío singleSuspend () {
         // Obtener el objeto processEngine 
        la ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine ();
         // Obtener el objeto RuntimeService 
        RuntimeService runtimeService = processEngine.getRuntimeService (); 
        la ProcessInstance la processInstance runtimeService.createProcessInstanceQuery = () processInstanceId ( "22501." ) .singleResult ();
         // obtener la definición actual proceso si el estado de suspensión suspende el método es cierto representantes pausa se está ejecutando falsa 
        boolean suspendió = processInstance.isSuspended ();
         iF(Suspendida) { 
            runtimeService.activateProcessInstanceById ( "22501" ); 
            System.out.println ( "XX abandonan el proceso de activación" ); 
        } la otra cosa { 
            runtimeService.suspendProcessInstanceById ( "22501" ); 
            System.out.println ( "permiso en XX procesar cuelgue " ); 
        } 
    }

Tratando de procesar el procedimiento pendiente

Informar de un error

 

 

 

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/chx9832/p/12620855.html
Recomendado
Clasificación