AnsweredAssumed Answered

User task, Timer Boundary Event And Spring

Question asked by aniket on Nov 3, 2017
Latest reply on Nov 6, 2017 by cjose

 We are having a problem with a boundary timer event not firing. We realize the typical issue for this is <property name="jobExecutorActivate" value="true"/> has not been set to true. That is not the issue here. But after 

setting jobExecutorActivate and AsyncExecutorActivate true the application is not getting up, also it does 

not give any specific error. Please find below configuration for more details

 

@Configuration
@EnableTransactionManagement
@EnableWebMvc
@ComponentScan(basePackages = "com.########.platform")
@PropertySource(value = { "classpath:activiti.properties" })
public class ActivitiConfiguration {
 
@Autowired
private DataSource dataSource;
 
@Autowired
@Qualifier("transactionManager")
private PlatformTransactionManager transactionManager;
 
@Value("${activiti.databasetype}")
private String dbType;
 
@Value("${activiti.history}")
private String history;
 
@Value("${activiti.schemaUpdate}")
private String schemaUpdate;
 
@Value("${activiti.transactionsExternallyManaged}")
private boolean transactionsExternallyManaged;
 
@Bean(name = "processEngine")
@DependsOn({ "processEngineFactoryBean" })
public ProcessEngine getProcessEngine() throws Exception {
final ProcessEngine processEngine = this.getProcessEngineFactoryBean().getObject();
return processEngine;
}
 
@Bean(name = "processEngineFactoryBean")
public ProcessEngineFactoryBean getProcessEngineFactoryBean() {
final ProcessEngineFactoryBean processEngine = new ProcessEngineFactoryBean();
processEngine.setProcessEngineConfiguration(this.getConfiguration());
return processEngine;
}
 
@Bean
@DependsOn({ "dataSource", "transactionManager" })
public SpringProcessEngineConfiguration getConfiguration() {
final SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();
config.setAsyncExecutorActivate(true);
config.setJobExecutorActivate(true);
config.setDataSource(this.dataSource);
config.setTransactionManager(this.transactionManager);
config.setDatabaseSchemaUpdate(this.schemaUpdate);
config.setHistory(this.history);
config.setTransactionsExternallyManaged(this.transactionsExternallyManaged);
config.setDatabaseType(this.dbType);
return config;
}
}
 
When process does not use Timer Boundary event than it works smoothly. We have seen relative problem descriptions on forum, but provided tips don't helped much. One more thing we are using external quartz scheduler in our application.
Is external quartz scheduler conflict with timer Boundary event scheduler? Can anyone please help to solve this.
Thanks.

Outcomes