首页 > 解决方案 > camunda spring boot 外部任务不并行运行

问题描述

我用 spring boot 创建了一个小的 camunda 应用程序。所有任务都是外部的。问题是,我的任务是否不并行运行。一次只完成一项任务。直到我关闭了 Spring Boot 应用程序,其中一项任务才完成。请帮助将以下内容添加到 application.yml 并没有解决问题 spring.task.execution.pool: core-size: 10 max-size: 20 spring.task.scheduling: pool.size: 20

@Component @ExternalTask​​Subscription("getCustomers") // 为这个主题名创建订阅 public class GetCustomers implements ExternalTask​​Handler {

@Resource(name = "amlDataSourceJdbcTemplate")
private JdbcTemplate jdbc;

public void execute(ExternalTask​​ externalTask​​, ExternalTask​​Service externalTask​​Service) { Logger.getLogger("GetCustomers").log(Level.INFO, "worker: GetCustomers started" );

String sql = "SELECT cust_i_id FROM CUSTOMERS";

List<String> customersList =  jdbc.query(
        sql,
        (rs, rowNum) ->
                new String(
                        rs.getString("cust_i_id")
                )
);



// we could call an external service to create the loan documents here

// complete the external task
VariableMap variables = Variables.createVariables();
variables.put(Common.VAR_NAME_CUSTOMERS_LIST, customersList);
 

Logger.getLogger("GetCustomers").log(Level.INFO, "worker: GetCustomers finished" );
// complete the external task
externalTaskService.complete(externalTask, variables);

// externalTask​​Service.complete(externalTask​​); Logger.getLogger("GetCustomers").log(Level.INFO, "worker: GetCustomers Task completed" );

}

}

标签: spring-boottaskexternalcamunda

解决方案


推荐阅读