spring boot activiti integration

1.pom.xml

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter-basic</artifactId>
    <version>5.22.0</version>
</dependency>

New processes folder to put a file in the process xxx.bpmn 2. resources directory

3. java config arranged: config.activiti next new category ActivitiConfig:

Where the data sources and transaction manager in 3.spring boot mybatis druid multiple data sources already finished configuring, injected directly reference the name on it.

package com.yunchuang.config.activiti;
import org.activiti.spring.SpringAsyncExecutor;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.io.IOException;
/**
 * activiti配置文件
 * AbstractProcessEngineAutoConfiguration在activiti-spring-boot-starter-basic下
 *
 * @author 尹冬飞
 * @create 2017-04-10 10:30
 */
@Configuration
public class ActivitiConfig extends AbstractProcessEngineAutoConfiguration {
    static final String NAME = "master";
    //注入数据源和事务管理器
    @Bean
    public SpringProcessEngineConfiguration springProcessEngineConfiguration(
            @Qualifier(NAME + "DataSource") DataSource dataSource,
            @Qualifier(NAME + "TransactionManager") PlatformTransactionManager transactionManager,
            SpringAsyncExecutor springAsyncExecutor) throws IOException {
        return this.baseSpringProcessEngineConfiguration(dataSource, transactionManager, springAsyncExecutor);
    }
}

4. This service can be invoked directly related to the test code:

package com.yunchuang;
import org.activiti.engine.RuntimeService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class Demo8ApplicationTests {
    @Autowired
    RuntimeService runtimeService;
    @Test
    public void contextLoads() {
        long count = runtimeService.createProcessInstanceQuery()
                .count();
        System.out.println(count);
    }
}
Original Address: https: //www.jianshu.com/p/6c9882693f35

Guess you like

Origin www.cnblogs.com/jpfss/p/11084497.html