package com.zcx.springstudy.config;
import org.activiti.engine.*;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
import java.io.IOException;
@Configurationpublic classActivitiConfuguration {
@BeanpublicProcessEngine processEngine(DataSourceTransactionManager transactionManager, DataSource dataSource) throws IOException {
SpringProcessEngineConfiguration configuration= newSpringProcessEngineConfiguration();//自动部署已有的流程文件
Resource[] resources = new PathMatchingResourcePatternResolver().getResources(ResourceLoader.CLASSPATH_URL_PREFIX + "diagrams/*.png");
configuration.setTransactionManager(transactionManager);
configuration.setDataSource(dataSource);
configuration.setDatabaseSchemaUpdate("true");
configuration.setDeploymentResources(resources);
configuration.setDbIdentityUsed(false);returnconfiguration.buildProcessEngine();
}
@BeanpublicRepositoryService repositoryService(ProcessEngine processEngine) {returnprocessEngine.getRepositoryService();
}
@BeanpublicRuntimeService runtimeService(ProcessEngine processEngine) {returnprocessEngine.getRuntimeService();
}
@BeanpublicTaskService taskService(ProcessEngine processEngine) {returnprocessEngine.getTaskService();
}
@BeanpublicHistoryService historyService(ProcessEngine processEngine) {returnprocessEngine.getHistoryService();
}
@BeanpublicManagementService managementService(ProcessEngine processEngine) {returnprocessEngine.getManagementService();
}
@BeanpublicIdentityService identityService(ProcessEngine processEngine) {returnprocessEngine.getIdentityService();
}
}