Dear all,
I have following structure in my WAR archive:
|-- my-app.war
|-- WEB-INF
|-- classes
|-- META-INF/processes.xml
|-- process.bpmn
|-- lib
|-- customer.jar
|-- customer-process.bpmn
and this is my ProcessApplication class:
@Singleton
@Startup
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
@TransactionAttribute(TransactionAttributeType.REQUIRED)
@ProcessApplication("MyBpmProcessStarter")
@Local(ProcessApplicationInterface.class)
public class LuminBpmProcessStarter extends EjbProcessApplication {
@PostConstruct
public void start() {
deploy();
}
@PostDeploy
public void onPostDeploy(ProcessApplicationInfo processApplicationInfo,
ProcessEngine defaultProcessEngine,
List<ProcessEngine> processEngines) {
logger.infof("injected '%d' processEngines", processEngines.size());
// -> injected '4' processEngines ???
}
}
When calling deploy()
in my ProcessApplication class the process.bpmn
will automatically be deployed, because in processes.xml
i have <property name="isScanForProcessDefinitions">true</property>
Additionally I have a customer.jar
bundled with my-app.war
also containing a BPMN Model.
So the question is: how do I get the customer-process.bpmn
also automatically be deployed? Do I have to set the resourceRootPath
in the processes.xml
accordingly and how?
And why are there more than 1 process engines injected in onPostDeploy()
method?
Thanks and regards,
Rainer