创建名称为' processEngine'的bean时出错在类路径资源

时间:2017-12-21 07:28:54

标签: java spring activiti

要在我的gradle项目中配​​置activiti,请输入以下错误,请帮我解决。

  

org.springframework.beans.factory.BeanCreationException:错误   用名称' processEngine'创建bean。在类路径资源中定义   [com / ioryx / config / ActivitiConfig.class]:Bean实例化通过   工厂方法失败;嵌套异常是   org.springframework.beans.BeanInstantiationException:失败   实例化[org.activiti.engine.ProcessEngine]:工厂方法   '流程引擎'抛出异常;嵌套异常是   java.lang.NoSuchMethodError:   org.activiti.engine.ProcessEngines.setInitialized(Z)V at   org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)   〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)   〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)   〜[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)   [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)   [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:303)   [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)   [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)   [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at   com.ioryx.IoryxApplication.main(IoryxApplication.java:30)[bin /:na]   引起:org.springframework.beans.BeanInstantiationException:   无法实例化[org.activiti.engine.ProcessEngine]:Factory   方法' processEngine'抛出异常;嵌套异常是   java.lang.NoSuchMethodError:   org.activiti.engine.ProcessEngines.setInitialized(Z)V at   org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] ... 18常见   框架省略引起:java.lang.NoSuchMethodError:   org.activiti.engine.ProcessEngines.setInitialized(Z)V at   org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:66)   〜[activiti-spring-5.17.0.jar:5.17.0] at   org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:60)   〜[activiti-spring-5.17.0.jar:5.17.0] at   com.ioryx.config.ActivitiConfig.processEngine(ActivitiConfig.java:41)   〜[bin /:na] at   com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10.CGLIB $ $的流程引擎4()   〜[bin /:na] at   com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10 $$ FastClassBySpringCGLIB $$ e95334d8.invoke()   〜[bin /:na] at   org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)   〜[spring-core-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)   〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at   com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10.processEngine()   〜[bin /:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native   方法)〜[na:1.8.0_144] at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)   〜[na:1.8.0_144] at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   〜[na:1.8.0_144] at java.lang.reflect.Method.invoke(Method.java:498)   〜[na:1.8.0_144] at   org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)   〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] ... 19常见   框架省略

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);
        }
    };

}

}

Activiti配置文件

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 个答案:

答案 0 :(得分:1)

尝试在您的案例变量def activitiVersion中将activiti引擎版本更改为5.17。