Załączyłem jako dodatkowy moduł silnik activiti, udało mi się podłączyć konfigurację do niego. Niestety, kiedy próbuję dodać nowy proces program nie wyrzuca wyjątków ale proces się nie dodaje do bazy danych.
Tutaj kod, który jest odpowiedzialny za dodanie procesu:
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode editorNode = objectMapper.createObjectNode();
editorNode.put("id", "canvas");
editorNode.put("resourceId", "canvas");
ObjectNode stencilSetNode = objectMapper.createObjectNode();
stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
editorNode.put("stencilset", stencilSetNode);
Model modelData = repositoryService.newModel();
ObjectNode modelObjectNode = objectMapper.createObjectNode();
modelObjectNode.put("name", "aaaaaaa");
modelObjectNode.put("revision", 1);
modelObjectNode.put("description", "");
modelData.setMetaInfo(modelObjectNode.toString());
modelData.setName(this.processDefinitionName);
repositoryService.saveModel(modelData);
repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));
Pierwsza linijka tworzy domyślną definicję procesu poprzez wstrzyknięcie zależności do beana:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:postgresql://localhost:5432/activiti" />
<property name="jdbcDriver" value="org.postgresql.Driver" />
<property name="jdbcUsername" value="****" />
<property name="jdbcPassword" value="****" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
<property name="asyncExecutorEnabled" value="true" />
<property name="asyncExecutorActivate" value="false" />
</bean>
</beans>
Jak już wspomniałem całość przechodzi bez żadnych wyjątków ale baza danych jest pusta. Sprawdzam to przez wyciągnięcie listy procesów z bazy danych. Lista jest równa 0.
Nazwa bazy danych się zgadza, tak samo jak username oraz password.