当前位置: 首页 > 知识库问答 >
问题:

创建在类路径资源中定义了名称为“Process Engine”的bean时出错

洪彬
2023-03-14

尝试在我的分级项目中配置活动,遇到以下错误,请帮助我修复它。

IORYXApplication.Class

package com.ioryx;

import java.util.HashMap;
import java.util.Map;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.core.Ordered;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

import com.mongodb.MongoClientOptions;

@SpringBootApplication
@EnableScheduling
public class IoryxApplication extends SpringBootServletInitializer {

public static void main(String[] args) throws Exception {
    SpringApplication.run(IoryxApplication.class, args);

}



@Bean
public CommandLineRunner init(final RepositoryService repositoryService, final RuntimeService runtimeService,
        final TaskService taskService) {

    return new CommandLineRunner() {
        @Override
        public void run(String... strings) throws Exception {
            Map<String, Object> variables = new HashMap<String, Object>();
            variables.put("applicantName", "John Doe");
            variables.put("email", "john.doe@activiti.com");
            variables.put("phoneNumber", "123456789");
            runtimeService.startProcessInstanceByKey("myProcess", variables);
        }
    };

}
package com.ioryx.config;

import javax.sql.DataSource;

import org.activiti.engine.FormService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.IdentityService;
import org.activiti.engine.ManagementService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.spring.ProcessEngineFactoryBean;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import org.springframework.transaction.PlatformTransactionManager;

@Configuration
public class ActivitiConfig  {
@Bean
public DataSource dataSource() {
    SimpleDriverDataSource inMemoryDataSource = new SimpleDriverDataSource();
    inMemoryDataSource.setUsername("sa");
    inMemoryDataSource.setPassword("");
    inMemoryDataSource.setUrl("jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000");
    inMemoryDataSource.setDriverClass(org.h2.Driver.class);

    return inMemoryDataSource;
}
@Bean
public ProcessEngine processEngine(ProcessEngineConfigurationImpl pec, PlatformTransactionManager transactionManager,ApplicationContext applicationContext) throws Exception {
    ProcessEngineFactoryBean pe = new ProcessEngineFactoryBean();
    pe.setProcessEngineConfiguration(getProcessEngineConfiguration( transactionManager,applicationContext));
    pe.setApplicationContext(applicationContext);

    return pe.getObject();
}
@Bean
public ProcessEngineConfigurationImpl getProcessEngineConfiguration(PlatformTransactionManager transactionManager,ApplicationContext applicationContext) {
    SpringProcessEngineConfiguration pec = new SpringProcessEngineConfiguration();

    pec.setDataSource(dataSource());
    pec.setDatabaseSchemaUpdate("true");
    pec.setJobExecutorActivate(true);
    pec.setHistory("full");
    pec.setMailServerPort(2025);
    pec.setDatabaseType("h2");

    pec.setTransactionManager(transactionManager);
    pec.setApplicationContext(applicationContext);

    return pec;
}
@Bean
public RepositoryService repositoryService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getRepositoryService();
}

@Bean
public RuntimeService runtimeService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getRuntimeService();
}

@Bean
public HistoryService historyService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getHistoryService();
}

@Bean
public ManagementService managementService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getManagementService();
}

@Bean
public IdentityService identityService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getIdentityService();
}

@Bean
public FormService formService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getFormService();
}

@Bean
public TaskService taskService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
    return processEngineFactoryBean.getObject().getTaskService();
}

依赖关系

dependencies {
def activitiVersion='5.15.1'

compile("org.activiti:activiti-engine:$activitiVersion"){
exclude group: 'commons-logging', module: 'commons-logging'
}
compile group: 'org.activiti', name: 'activiti-spring', version: '5.17.0'
compile group: 'com.h2database', name: 'h2', version: '1.4.193'
compile ('org.codehaus.groovy:groovy-all:2.0.5')



    compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.6.1'
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.6.1'
    compile('org.springframework.boot:spring-boot-starter-security')
    compile('org.keycloak:keycloak-spring-boot-starter')
    compile ('org.codehaus.groovy:groovy-all:2.0.5')
    compile('com.spaneos:dtssp2-core:0.0.2-SNAPSHOT')
    compile('com.spaneos:dtssp2-mongo:0.0.2-SNAPSHOT')
    compile group: 'com.spaneos', name:'googlechart-core', version:'0.0.2-SNAPSHOT'
    compile group: 'com.spaneos', name:'googlechart-mongo', version:'0.0.2-SNAPSHOT'
    compile group: 'org.keycloak', name: 'keycloak-admin-client', version: '3.4.0.Final'


    compile group: 'org.jboss.resteasy', name: 'resteasy-client', version: '3.1.4.Final'
    compile group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider', version: '3.1.4.Final'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.2'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.2'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.2'
    compile group: 'com.fasterxml.jackson.jaxrs', name: 'jackson-jaxrs-json-provider', version: '2.9.2'

}

共有1个答案

何麻雀
2023-03-14

尝试将activiti引擎版本更改为5.17(在您的情况下使用变量def ActivitiVersion)。

 类似资料: