Upgraded from Activiti 5.22 to 6.0.1, how to get RuntimeServices from script task

cancel
Showing results for 
Search instead for 
Did you mean: 
Member II

Upgraded from Activiti 5.22 to 6.0.1, how to get RuntimeServices from script task

Took over some existing models that were used with Activiti 5.22 that made calls similar to this:

    execution.getEngineServices().getRuntimeService().setVariables(

      execution.getId(),

      {'blah1': execution.getVariable('blah1'), 'blah2Key': 'blah2Val'});

getEngineServices is not part of DelegateExecution in Activiti 6, so not sure how to change so the results are identical to what we were doing in 5.22.

I'm guessing the following call would result in variables being set on a different scope:

execution.setVariables({'...': '...'});

2 Replies
Highlighted
Senior Member II

Re: Upgraded from Activiti 5.22 to 6.0.1, how to get RuntimeServices from script task

execution.setVariables({'...': '...'}) should just work! 

Also, did you try runtimeService.setVariables( execution.getId(), {});? The runtimeService bean should be available in the script context.

Highlighted
Member II

Re: Upgraded from Activiti 5.22 to 6.0.1, how to get RuntimeServices from script task

Thanks for the response.

I did get it to work by using Context:

org.activiti.engine.impl.context.Context.getProcessEngineConfiguration().getRuntimeService().setVariables(...);

I didn't realize runtimeService was directly available to the script, so removing Context.getProcessEngineConfiguration() works great. Much cleaner solution. Thank you.