Генератор последовательности для камунды

Как я могу установить свой собственный IdGenerator для camunda через процессы.xml. Перед тем, как переключиться на process.xml, я использовал

  ProcessEngineConfiguration.setIdGenerator(IdGenerator);

Которая использует последовательность базы данных оракула.


person red13    schedule 23.10.2015    source источник


Ответы (1)


1) Реализуйте ProcessEnginePlugin

    package com.example;
    
    import org.camunda.bpm.engine.ProcessEngine;
    import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
    import org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin;
    
    public class IdGeneratorPlugin implements ProcessEnginePlugin {
    
      public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
        processEngineConfiguration.setIdGenerator(new CustomIdGenerator());
      }

      public void postInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
      }
    
      public void postProcessEngineBuild(ProcessEngine processEngine) {
      }
    }

2) Зарегистрируйте плагин в processes.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <process-application
      xmlns="http://www.camunda.org/schema/1.0/ProcessApplication"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.camunda.org/schema/1.0/ProcessApplication http://www.camunda.org/schema/1.0/ProcessApplication ">

      <process-engine name="default">
        ...
        <properties>
          ...
        </properties>

        <plugins>
          <plugin>
            <class>com.example.IdGeneratorPlugin</class>
          </plugin>
        </plugins>
      </process-engine>

      <process-archive name="pa">
        <properties>
          ...
        </properties>
      </process-archive>
    </process-application>

3) Убедитесь, что плагин находится в пути к классам camunda-engine или пути к классам вашего приложения-процесса.

Источник: https://docs.camunda.org/manual/7.3/api-references/deployment-descriptors/#descriptors-processesxml

person thorben    schedule 23.10.2015