2016-04-16 7 views
1

Ich möchte activiti im Frühjahr mvc verwenden. Meine Java-Konfiguration für activiti ist unten. wenn ich Projekt ausführen diese Ausnahme no processes deployed with key werfen. Ich habe one-vacation-process.bpmn20.xml in Ressourcen-Ordner. Was ist mein Problem? danke für die Hilfe.Activiti: keine Prozesse mit Schlüssel 'oneVacationProcess'

@Configuration 
    public class ActivitiConfig { 

@Bean 
public ProcessEngine processEngine(ProcessEngineConfigurationImpl pec, ApplicationContext applicationContext) throws Exception { 
    ProcessEngineFactoryBean pe = new ProcessEngineFactoryBean(); 
    pe.setProcessEngineConfiguration(pec); 
    pe.setApplicationContext(applicationContext); 

    return pe.getObject(); 
} 

@Bean 
public ProcessEngineConfigurationImpl getProcessEngineConfiguration(
     DataSource dataSource, 
     PlatformTransactionManager transactionManager, 
     ApplicationContext context) { 
    SpringProcessEngineConfiguration pec = new SpringProcessEngineConfiguration(); 

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

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

    return pec; 
} 

@Bean 
public RuntimeService getRuntimeService(ProcessEngine processEngine) { 
    return processEngine.getRuntimeService(); 
} 
@Bean 
public TaskService taskService(ProcessEngine processEngine) throws Exception { 
    return processEngine.getTaskService(); 
} 

Antwort

1

Sie müssen Ihren Prozess zuerst bereitstellen.

Es gibt API für verschiedene Anwendungsfälle, hier stelle ich einen Prozess, in den resourceName der Namen des Prozess xml (z one-vacation-process.bpmn20.xml) und content der tatsächliche Dateiinhaltes als String.

RepositoryService repositoryService = processEngine.getRepositoryService(); 
DeploymentBuilder builder = repositoryService.createDeployment().addString(resourceName, content); 
builder.enableDuplicateFiltering().deploy(); 

Werfen Sie einen Blick auf org.activiti.engine.repository.DeploymentBuilder wo API wie ist:

DeploymentBuilder addInputStream(String resourceName, InputStream inputStream); 
DeploymentBuilder addClasspathResource(String resource); 
DeploymentBuilder addString(String resourceName, String text); 
DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream); 
DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel); 
+0

Dank sehr viel. es ist hilfreich :). – Eric

Verwandte Themen