Решение «Механизм процесса, к которому вы пытаетесь получить доступ, не существует» - PullRequest
2 голосов
/ 15 марта 2019

Я использую встроенный двигатель Camunda в моем приложении. Теперь я хотел бы запустить второй двигатель Camunda с кабиной на другой контейнер с той же базой данных. То, что я сделал, это в основном копирование-вставка моей основной конфигурации приложения, переключившей зависимость только с camunda-bpm-spring-boot-starter на camunda-bpm-spring-boot-starter-webapp. Я могу получить доступ к главной странице кабины, но мне сразу же предлагают The process engine you are trying to access does not exist, и я не понимаю, почему? При запуске я вижу, что создан мой SpringProcessEngineConfiguration bean, а также ProcessEngineFactoryBean bean. Однако:

BpmPlatform.getProcessEngineService().getProcessEngineNames();

возвращает пустой набор. Не могли бы вы взглянуть и указать мою ошибку?

основной класс приложения:

@SpringBootApplication
public class CamundaCockpitApplication {

public static void main(String[] args) {
    SpringApplication.run(CamundaCockpitApplication.class, args);
    BpmPlatform.getProcessEngineService().getProcessEngineNames();
}

Камунда конфинг:

@Configuration
@RequiredArgsConstructor
public class EngineConfiguration {

private final DataSource dataSource;

private final PlatformTransactionManager transactionManager;

private final ResourcePatternResolver resourcePatternResolver;

@Bean
public SpringProcessEngineConfiguration springProcessEngineConfiguration() {
    SpringProcessEngineConfiguration springConfiguration = new SpringProcessEngineConfiguration();
    springConfiguration.setDataSource(dataSource);
    springConfiguration.setTransactionManager(transactionManager);
    springConfiguration.setDatabaseSchemaUpdate("false");
    springConfiguration.setJobExecutorActivate(false);
    springConfiguration.setHistory("full");
    springConfiguration.setJdbcBatchProcessing(false);
    return springConfiguration;
}

@Bean
public ProcessEngineFactoryBean processEngineFactoryBean() {
    ProcessEngineFactoryBean engine = new ProcessEngineFactoryBean();
    engine.setProcessEngineConfiguration(springProcessEngineConfiguration());
    return engine;
}
}

1 Ответ

2 голосов
/ 15 марта 2019

Вам нужно добавить @EnableProcessApplication аннотацию к вашему основному классу.

см. https://docs.camunda.org/manual/7.9/user-guide/spring-boot-integration/process-applications/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...