2016-05-31 11 views
0

ich eine Ausnahme no processes deployed with key 'Process_MohitWorkflow' während der Ausführung:Activiti: keine eingesetzten Prozesse mit Schlüssel

ProcessInstance instance = 
runtimeService.startProcessInstanceByKey(workflowName, businessKey, variables); 

habe ich einen Eintrag in meinem act_re_procdef Tabelle für diesen Workflow

"Process_MohitWorkflow: 1: 14" ; "http://www.activiti.org/processdef"; "Mohit Vertrauen"; "Process_MohitWorkflow"; 1; "11"; "MyBPMN.bpmn20.xml"; "MyBPMN.Process_MohitWorkflow.png"; ""; FALSE; TRUE; 1; "603 "

<code>enter image description here</code>

ich entfalteten meine MyBPMN.bpmn20.xml Datei mit dem folgenden Code:

 public void deployProcessFile(String name, InputStream io, long tenantId) { 
     RepositoryService repositoryService = processEngine.getRepositoryService(); 
     repositoryService.createDeployment() 
       .addInputStream(name, io) 
       .name(name.substring(0, name.indexOf("."))) 
       .enableDuplicateFiltering() 
       .tenantId(String.valueOf(tenantId)) 
       .deploy(); 
     } 

Stacktrace:

Caused by: org.activiti.engine.ActivitiObjectNotFoundException: no processes deployed with key 'Process_MohitWorkflow' 
    at org.activiti.engine.impl.persistence.deploy.DeploymentManager.findDeployedLatestProcessDefinitionByKey(DeploymentManager.java:125) 
    at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:79) 
    at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:37) 
    at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24) 
    at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57) 
    at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31) 
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) 
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) 
    at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:81) 
    at com.vernuso.trust.server.service.ProcessService.startWorkFlowInstanceForEntity(ProcessService.java:265) 
    at com.vernuso.trust.server.service.ProcessService.startOnboardingForOrganisation(ProcessService.java:221) 
    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:70) 
    at com.vernuso.trust.server.governance.client.OnboardOrganisationActionHandler.executeTransaction(OnboardOrganisationActionHandler.java:44) 
    at com.vernuso.trust.server.governance.client.OnboardOrganisationActionHandler.executeTransaction(OnboardOrganisationActionHandler.java:25) 
    at com.vernuso.trust.server.SecuredActionHandler.execute(SecuredActionHandler.java:31) 
    at com.gwtplatform.dispatch.rpc.server.AbstractDispatchImpl.doExecute(AbstractDispatchImpl.java:154) 
    ... 48 more 

Irgendwelche Gedanken auf, was ich vielleicht fehlen?

Grüße.

+0

können Sie den Workflow starten mit: startProcessInstanceByKey (String processDefinitionKey)? –

+0

@ flavio.donze Nein, ich bekomme den gleichen Fehler. – EMM

Antwort

1

habe ich es geschafft, dieses Problem zu lösen, indem sie mit:

ProcessInstance instance = runtimeService.startProcessInstanceByKey(
    workflowName, businessKey, variables, tenantId); 

Statt:

ProcessInstance instance = runtimeService.startProcessInstanceByKey(
    workflowName, businessKey, variables); 

Anfangs habe ich nur auf wurde unter Berufung:

processEngine.getRepositoryService().createProcessDefinitionQuery() .processDefinitionTenantId(tenantId) .singleResult()

zum Ausfiltern Die Prozesse basieren auf mieterId, aber ich denke, es war nicht ausreichend.

Nicht sicher, wie das funktioniert (warum müssen wir extra param documentIndance) oder was ich getan hätte, um dies zu sehen, bevor Sie hier posten.

-1

Versuchen subprocess zusammen mit ursprünglichen Prozess zu implementieren:

repositoryService.createDeployment() 
       .addClasspathResource("diagrams/Process.bpmn") 
       .deploy(); 

repositoryService.createDeployment() 
       .addClasspathResource("diagrams/Process_Subprocess.bpmn") 
       .deploy(); 

ich das jetzt in JUnit und seine Arbeit tue.

Verwandte Themen