解决“您尝试访问的流程引擎不存在”

时间:2019-03-15 13:32:09

标签: java spring process bpmn camunda

我在我的应用程序中运行嵌入式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();
}

Camunda confing:

@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 个答案:

答案 0 :(得分:2)

您需要在主类中添加@EnableProcessApplication批注。

请参阅https://docs.camunda.org/manual/7.9/user-guide/spring-boot-integration/process-applications/