Генераторы идентификаторов

Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine

Все персистентные сущности, управляемые процессным движком (экземпляры процессов, задачи, …​), имеют уникальные идентификаторы (Ids). Эти идентификаторы однозначно определяют отдельную задачу, экземпляр процесса и т.д. При сохранении этих сущностей в базе данных идентификаторы используются в качестве первичных ключей в соответствующих таблицах базы данных.

«Из коробки» процессный движок предоставляет две реализации генераторов идентификаторов.

Генератор идентификаторов базы данных

Генератор идентификаторов базы данных реализован с использованием генератора последовательностей (sequence generator) поверх таблицы ACT_GE_PROPERTY.

Этот генератор идентификаторов удобен для отладки и тестирования, так как он создаёт человекочитаемые идентификаторы.

Генератор идентификаторов базы данных никогда не должен использоваться в продуктивной среде, так как он не способен обрабатывать высокий уровень конкурентного доступа (concurrency).

UUID-генератор

StrongUuidGenerator использует генератор UUID, который внутренне опирается на библиотеку Java UUID Generator (JUG).

Всегда используйте StrongUuidGenerator в продуктивных окружениях.

В OpenBPM Engine Full Distributions StrongUuidGenerator уже предварительно сконфигурирован и используется процессным движком как генератор идентификаторов по умолчанию.

Если вы используете встроенную конфигурацию процессного движка (embedded process engine configuration) и настраиваете процессный движок с помощью Spring, необходимо добавить следующие строки в конфигурацию Spring, чтобы включить StrongUuidGenerator:

<bean id="processEngineConfiguration" class="io.openbpm.bpm.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">

  [...]

  <property name="idGenerator">
    <bean class="io.openbpm.bpm.engine.impl.persistence.StrongUuidGenerator" />
  </property>

</bean>

Дополнительно требуется следующая зависимость Maven:

<dependency>
  <groupId>com.fasterxml.uuid</groupId>
  <artifactId>java-uuid-generator</artifactId>
  <scope>provided</scope>
  <version>3.1.2</version>
</dependency>

Лицензия и атрибуция

Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .

Оригинал документации: https://docs.camunda.org