我在我的应用程序中运行嵌入式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;
}
}
答案 0 :(得分:2)
您需要在主类中添加@EnableProcessApplication
批注。
请参阅https://docs.camunda.org/manual/7.9/user-guide/spring-boot-integration/process-applications/