How to configure flowable-rest.war using JNDI

Hi …

You’re correct. The commented out section is not updated with the latest way to initialize the separate engines (dmn, form and content) and inject them into the process engine.

Take a look at this flowable-custom-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
       
	<bean id="dbProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	    <property name="locations">
            <list>
                <value>classpath:db.properties</value>
            </list>
        </property>
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="ignoreResourceNotFound" value="true" />
	</bean>

	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
		<property name="driverClass" value="${datasource.driver}" />
		<property name="url" value="${datasource.url}" />
		<property name="username" value="${datasource.username}" />
		<property name="password" value="${datasource.password}" />
	</bean>

	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
    <!-- start new -->
	<bean id="dmnEngineConfigurator" class="org.flowable.dmn.spring.configurator.SpringDmnEngineConfigurator" />
	<bean id="formEngineConfigurator" class="org.flowable.form.spring.configurator.SpringFormEngineConfigurator" />
	<bean id="contentEngineConfigurator" class="org.flowable.content.spring.configurator.SpringContentEngineConfigurator" />
    <!-- end new -->

	<bean id="processEngineConfiguration" class="org.flowable.spring.SpringProcessEngineConfiguration">
		<property name="dataSource" ref="dataSource" />
		<property name="transactionManager" ref="transactionManager" />
		<property name="databaseSchemaUpdate" value="true" />
		<property name="mailServerHost" value="localhost" />
		<property name="mailServerPort" value="5025" />

		<!-- start new -->
		<property name="configurators">
			<list>
				<ref bean="dmnEngineConfigurator" />
				<ref bean="formEngineConfigurator" />
				<ref bean="contentEngineConfigurator" />
			</list>
		</property>
		<!-- end new -->
	</bean>

	<bean id="processEngine" class="org.flowable.spring.ProcessEngineFactoryBean">
		<property name="processEngineConfiguration" ref="processEngineConfiguration" />
	</bean>

	<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="formService" factory-bean="processEngine" factory-method="getFormService" />
    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
    <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
    <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />

	<!-- start new -->
    <bean id="formRepositoryService" factory-bean="processEngine" factory-method="getFormEngineRepositoryService" />
    <bean id="formEngineService" factory-bean="processEngine" factory-method="getFormEngineFormService" />
    <bean id="dmnRepositoryService" factory-bean="processEngine" factory-method="getDmnRepositoryService" />
    <bean id="dmnRuleService" factory-bean="processEngine" factory-method="getDmnRuleService" />
    <bean id="contentService" factory-bean="processEngine" factory-method="getContentService" />
	<!-- end new -->
</beans>

Also don’t forget to remove the @Configuration annotation from the org.flowable.rest.conf.FlowableEngineConfiguration class.

Let me know if this helps.
I’ll make sure this ends up in the repo before the next release.

Regards,

Yvo