camunda BPM 7.0.0-alpha3 is out now! It packs a bunch of new features such as support for Spring Process Applications and correlation via the engine’s Java API.
First things first: Get it here!
Spring Process Applications
Use process engines, container-managed or embedded, from within your Spring application context (on Tomcat, Glassfish). See below an example from our getting started guide:
<!-- bind the process engine service as Spring Bean --> <bean name="processEngineService" class="org.camunda.bpm.BpmPlatform" factory-method="getProcessEngineService" /> <!-- bind the default process engine as Spring Bean --> <bean name="processEngine" factory-bean="processEngineService" factory-method="getDefaultProcessEngine" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/> <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService"/> <!-- bootstrap the process application --> <bean id="processApplication" class="org.camunda.bpm.engine.spring.application.SpringServletProcessApplication" />
BPMN offers two incoming message constructs that are supported by the engine: Message start events and intermediate catching message events. Now you have the possibility to deliver messages in one call.
Use the RuntimeService#correlateMessage methods to correlate messages to executions waiting for a specific message or start a new process instance. You do not need to know any longer, whether you deliver the message for a start or intermediate event. Correlation is done based on process instance variables and business keys. Our documentation on message events gives some details.
Shortly, we will also offer this through the REST API and publish a more detailed blog post covering this topic.
A number of bug fixes. Check our release notes to see what ships in alpha3.