Spring bean injection inside a Service Task in Shared Engine fails

Hi,

I am pretty new to the Camunda Shared Engine. We have a Spring-based application that was running under an embedded engine and we decided to move it to a Shared one (the one that is inside the distributed community Tomcat 8).
We are able to execute bpmn processes, but we are not able to execute ‘Delegate Expression’ spring beans. Basically, beans are not found :frowning: I was able to inject this bean inside services, that are inside our context -just a try). We are using Java and not Xml Config.

Could anyone help us?
Thanks in advance!!!

Bpmn file:

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn">
  <bpmn:process id="Process_Service" name="Process_Service" isExecutable="true">
    <bpmn:startEvent id="StartEvent_1">
      <bpmn:outgoing>SequenceFlow_1mv0wiz</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:endEvent id="EndEvent_1rddhgq">
      <bpmn:incoming>SequenceFlow_0ask6md</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="SequenceFlow_0ask6md" sourceRef="ServiceTask_142dzbm" targetRef="EndEvent_1rddhgq" />
    <bpmn:sequenceFlow id="SequenceFlow_1mv0wiz" sourceRef="StartEvent_1" targetRef="ServiceTask_142dzbm" />
    <bpmn:serviceTask id="ServiceTask_142dzbm" name="Service Task" camunda:delegateExpression="${asyncTaskTest}">
      <bpmn:incoming>SequenceFlow_1mv0wiz</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0ask6md</bpmn:outgoing>
    </bpmn:serviceTask>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_Service">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="173" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_1rddhgq_di" bpmnElement="EndEvent_1rddhgq">
        <dc:Bounds x="474" y="102" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="447" y="138" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0ask6md_di" bpmnElement="SequenceFlow_0ask6md">
        <di:waypoint xsi:type="dc:Point" x="391" y="120" />
        <di:waypoint xsi:type="dc:Point" x="474" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="352" y="110" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1mv0wiz_di" bpmnElement="SequenceFlow_1mv0wiz">
        <di:waypoint xsi:type="dc:Point" x="209" y="120" />
        <di:waypoint xsi:type="dc:Point" x="291" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="187.5" y="110" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ServiceTask_142dzbm_di" bpmnElement="ServiceTask_142dzbm">
        <dc:Bounds x="291" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>

Service class:

package com.statlogics.ngc.decision.taskservice.test;

import.....
@Component("syncTaskTest")
public class SynchronousTest implements JavaDelegate {
	@Override
	public final void execute(final DelegateExecution execution) throws Exception {	
          .......
        }
}

Spring Configuration class:

@Configuration
@ComponentScan({ "com.statlogics.ngc.decision.engine", "com.statlogics.ngc.camunda", "com.statlogics.ngc.dmnservice.task.dmn", 
	             "com.statlogics.ngc.decision.engine.dbservice.config", **"com.statlogics.ngc.decision.taskservice"** })
public class DecisionEngineRootConfig {
....
}

Thanks in advance!

Hi @ediaz,

Do you include the camunda-engine-spring module as a library in your application (see https://docs.camunda.org/manual/latest/user-guide/spring-framework-integration/)?

Cheers,
Thorben

Also, do you have a ProcessApplication class defined and a processes.xml?

Hi @thorben,

Thanks for your quick reply!
The engine is included in the pom file as you can see below. I can execute bpmn processes without any spring injections. Beans that implement the JavaDelegate interface work fine was well.
Here you have our pom file:

4.0.0

com.statlogics.ngc
decision-engine
0.0.2-SNAPSHOT

com.statlogics.ngc.decision-engine
decision-engine-server
war
${project.artifactId}



org.camunda.bpm
camunda-engine
${camunda.version}
provided


org.camunda.bpm
camunda-engine-spring
${camunda.version}

	<!-- Common NGC -->
	<dependency>
		<groupId>com.statlogics.ngc.common</groupId>
		<artifactId>communication-protocol</artifactId>
		<version>${communication-protocol.version}</version>
	</dependency>
			<dependency>
		<groupId>com.statlogics.ngc</groupId>
		<artifactId>decision-db-service</artifactId>
		<version>${decision-db-service.version}</version>
	</dependency>
	<dependency>
		<groupId>com.statlogics.ngc.decision-engine</groupId>
		<artifactId>decision-engine-dmn-services</artifactId>
		<version>${decision-engine-dmn-services.version}</version>
		<exclusions>
			<exclusion>
				<groupId>ro.isdc.wro4j</groupId>
				<artifactId>wro4j-core</artifactId>
			</exclusion>
			<exclusion>
				<groupId>ro.isdc.wro4j</groupId>
				<artifactId>wro4j-extensions</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>com.statlogics.ngc.common</groupId>
		<artifactId>camunda-service</artifactId>
		<version>${camunda-service.version}</version>
		<exclusions>
			<exclusion>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>com.statlogics.ngc.common</groupId>
		<artifactId>db-config</artifactId>
		<version>${db-config.version}</version>
	</dependency>
	<dependency>
		<groupId>com.statlogics.ngc</groupId>
		<artifactId>decision-task-service</artifactId>
		<version>${decision-task-service.version}</version>
	</dependency>

	<!-- Oracle -->
	<dependency>
		<groupId>com.oracle</groupId>
		<artifactId>ojdbc6</artifactId>
		<version>${oracle.ojdbc6.version}</version>
	</dependency>
	<!-- Include ActiveMQ -->
	<dependency>
		<groupId>org.apache.activemq</groupId>
		<artifactId>activemq-broker</artifactId>
		<version>${activemq.version}</version>
	</dependency>
	<!-- Hikari datasource -->
	<dependency>
		<groupId>com.zaxxer</groupId>
		<artifactId>HikariCP</artifactId>
		<version>${hikaricp.version}</version>
	</dependency>

	<!-- Spring -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!--dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${spring.version}</version>
	</dependency-->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-tx</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jms</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<!-- Spring Integration -->
	<dependency>
		<groupId>org.springframework.integration</groupId>
		<artifactId>spring-integration-core</artifactId>
		<version>${spring.integration.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework.integration</groupId>
		<artifactId>spring-integration-jms</artifactId>
		<version>${spring.integration.version}</version>
	</dependency>

	<!-- Servlet -->
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<version>${javax.servlet.servlet-api.version}</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet.jsp</groupId>
		<artifactId>javax.servlet.jsp-api</artifactId>
		<version>${javax.servlet.jsp-api.version}</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>${jstl.version}</version>
	</dependency>

	<!-- Other -->
	<dependency>
		<groupId>org.codehaus.jackson</groupId>
		<artifactId>jackson-xc</artifactId>
		<version>${jackson.version}</version>
	</dependency>
	<dependency>
		<groupId>net.sf.ehcache</groupId>
		<artifactId>ehcache-web</artifactId>
		<version>${ehcache-web.version}</version>
	</dependency>
	<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>${guava.version}</version>
	</dependency>
	<!--dependency>
		<groupId>com.h2database</groupId>
		<artifactId>h2</artifactId>
		<version>${h2.version}</version>
	</dependency-->
	<dependency>
		<groupId>com.statlogics.ngc.common</groupId>
		<artifactId>test-framework</artifactId>
		<version>${test-framework.version}</version>
		<scope>test</scope>
	</dependency>

</dependencies>

<build>
	<plugins>

		<plugin>
			<groupId>org.wildfly.plugins</groupId>
			<artifactId>wildfly-maven-plugin</artifactId>
		</plugin>

		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<configuration>
				<failOnMissingWebXml>false</failOnMissingWebXml>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
		</plugin>

	</plugins>
</build>

Parent pom.xml:

<?xml version="1.0" encoding="UTF-8"?>


4.0.0
com.statlogics.ngc
parent
0.0.2-SNAPSHOT
pom

<!-- PLEASE MAINTAIN ABC ORDER -->
<properties>
	<!-- NGC  -->
	<camunda-middleware.version>0.0.2-SNAPSHOT</camunda-middleware.version>
	<camunda-service.version>0.0.2-SNAPSHOT</camunda-service.version>
	<communication-protocol.version>0.0.2-SNAPSHOT</communication-protocol.version>
	<db-config.version>0.0.2-SNAPSHOT</db-config.version>
	<decision-admin-services.version>0.0.2-SNAPSHOT</decision-admin-services.version>
	<decision-engine-dmn-services.version>0.0.2-SNAPSHOT</decision-engine-dmn-services.version>
	<service-repository.version>0.0.2-SNAPSHOT</service-repository.version>
	<runtime-exception-logger.version>0.0.2-SNAPSHOT</runtime-exception-logger.version>
	<test-framework.version>0.0.2-SNAPSHOT</test-framework.version>
	<decision-db-service.version>0.0.2-SNAPSHOT</decision-db-service.version>
	<decision-task-service.version>0.0.2-SNAPSHOT</decision-task-service.version>

	<!-- OTHER VERSIONS -->
	<activemq.version>5.13.3</activemq.version>
	<aspectjtools.version>1.8.9</aspectjtools.version>
	<camunda.version>7.4.0</camunda.version>
	<com.relevantcodes.extentreports.version>2.40.2</com.relevantcodes.extentreports.version>
	<commons-codec.version>1.9</commons-codec.version>
	<camunda-common.version>0.0.1-SNAPSHOT</camunda-common.version>
	<commons-dbcp2.version>2.1.1</commons-dbcp2.version>
	<commons-fileupload.version>1.3.1</commons-fileupload.version>
	<commons-io.version>2.4</commons-io.version>
	<commons-lang3.version>3.4</commons-lang3.version>
	<cxf.version>2.7.5</cxf.version>
	<de.odysseus.juel.juel.version>2.1.3</de.odysseus.juel.juel.version>
	<disruptor.version>3.3.0</disruptor.version>
	<dozer.version>5.4.0</dozer.version>
	<ehcache.verison>3.0.0.m4</ehcache.verison>
	<ehcache-web.version>2.0.4</ehcache-web.version>
	<google-collections.version>1.0</google-collections.version>
	<groovy.version>2.4.5</groovy.version>
	<guava.version>14.0.1</guava.version>
	<hamcrest-all.version>1.3</hamcrest-all.version>
	<hibernate.version>5.1.0.Final</hibernate.version>
	<hibernate-validator.version>5.2.4.Final</hibernate-validator.version>
	<hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version>
	<hikaricp.version>2.4.5</hikaricp.version>
	<h2.version>1.4.191</h2.version>
	<jackson-databind.version>2.5.3</jackson-databind.version>
	<jackson.fasterxml.version>2.7.3</jackson.fasterxml.version>
	<jackson-jaxrs.version>1.9.0</jackson-jaxrs.version>
	<jackson.version>1.9.11</jackson.version>
	<jasperreports-fonts.version>6.0.0</jasperreports-fonts.version>
	<jasperreports.version>6.2.0</jasperreports.version>
	<jasper-compiler-jdt.version>5.5.15</jasper-compiler-jdt.version>
	<javax.el.api.version>3.0.0</javax.el.api.version>
	<javax.jms.version>1.1</javax.jms.version>
	<javax.servlet.jsp-api.version>2.3.1</javax.servlet.jsp-api.version>
	<javax.servlet.jsp.jsp-api.version>2.1</javax.servlet.jsp.jsp-api.version>
	<javax.servlet.servlet-api.version>2.5</javax.servlet.servlet-api.version>
	<javax.servlet.version>3.1.0</javax.servlet.version>
	<javax.validation.api.version>1.1.0.Final</javax.validation.api.version>
	<jsf.version>2.1.25</jsf.version>
	<json-path.version>2.2.0</json-path.version>
	<jstl.version>1.2</jstl.version>
	<lesscss-maven-plugin.version>1.7.0.1.1</lesscss-maven-plugin.version>
	<log4j.slf4j.version>2.4</log4j.slf4j.version>
	<log4j2.version>2.5</log4j2.version>
	<maven.buildTime>${maven.build.timestamp}</maven.buildTime>
	<maven.build.timestamp.format>yyyy.MM.dd.HH.mm.ss</maven.build.timestamp.format>
	<oracle.ojdbc6.version>11.2.0.3</oracle.ojdbc6.version>
	<org.seleniumhq.selenium.version>2.53.0</org.seleniumhq.selenium.version>
	<powermock.version>1.6.4</powermock.version>
	<presentation-framework.version>3.0.0-SNAPSHOT</presentation-framework.version>
	<primefaces.version>5.2</primefaces.version>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<spring.version>4.2.3.RELEASE</spring.version>
	<springsecurity.version>4.0.3.RELEASE</springsecurity.version>
	<spring.boot.version>1.2.7.RELEASE</spring.boot.version>
	<spring.data.version>1.9.0.RELEASE</spring.data.version>
	<spring.integration.version>4.2.2.RELEASE</spring.integration.version>
	<spring-ldap-core.version>2.0.4.RELEASE</spring-ldap-core.version>
	<spring-mock-mvc.version>2.8.0</spring-mock-mvc.version>
	<statlogics.library.version>3.0.0</statlogics.library.version>
	<testng.version>6.9.10</testng.version>
	<validation-api.version>1.1.0.Final</validation-api.version>
	<xbean.version>4.4</xbean.version>
	<yuicompressor-maven-plugin.version>1.5.1</yuicompressor-maven-plugin.version>
	<wro4j.version>1.7.0</wro4j.version>
	<dozer.spring.version>5.5.1</dozer.spring.version>
</properties>

<distributionManagement>
	<repository>
		<id>releases</id>
		<url>http://nexus.statlogics.local:9090/nexus/content/repositories/releases</url>
	</repository>
	<snapshotRepository>
		<id>snapshots</id>
		<url>http://nexus.statlogics.local:9090/nexus/content/repositories/snapshots</url>
	</snapshotRepository>
</distributionManagement>

<build>
	<pluginManagement>

		<plugins>

			<plugin>
				<!-- http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html 
					for all attributes -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<disableXmlReport>true</disableXmlReport>
					<reportsDirectory>${basedir}/test-output</reportsDirectory>
					<suiteXmlFiles>
						<suiteXmlFile>src/test/resources/test-suite.xml</suiteXmlFile>
					</suiteXmlFiles>
					<properties>
						<property>
							<name>usedefaultlisteners</name>
							<value>false</value> <!-- disabling default listeners is optional -->
						</property>
						<property>
							<name>reporter</name>
							<value>com.statlogics.ngc.test.report.NgcExtentReporter</value>
						</property>
					</properties>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<executions>
					<execution>
						<id>site</id>
						<phase>pre-site</phase>
						<goals>
							<goal>clean</goal>
						</goals>
					</execution>
					<execution>
						<id>instrument</id>
						<phase>site</phase>
						<goals>
							<goal>instrument</goal>
							<goal>cobertura</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<instrumentation>
						<excludes>
							<exclude>com/statlogics/ngc/**/dto/*</exclude>
							<exclude>com/statlogics/ngc/**/config/*</exclude>
							<exclude>com/statlogics/ngc/**/model/entity/**</exclude>
							<exclude>com/statlogics/ngc/**/constant/*</exclude>
							<!-- The following classes are excluded because the try-with-resource 
								usage and low coverage report -->
							<exclude>com/statlogics/ngc/**/Zipper.class</exclude>
						</excludes>
					</instrumentation>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<compilerArgument>-Xlint:all</compilerArgument>
					<showDeprecation>true</showDeprecation>
					<showWarnings>true</showWarnings>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<!-- To avoid automatic system configuration we exclude context.xml -->
					<warSourceExcludes>META-INF/context.xml</warSourceExcludes>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.wildfly.plugins</groupId>
				<artifactId>wildfly-maven-plugin</artifactId>
				<version>1.0.2.Final</version>
				<configuration>
					<hostname>${wildfly.hostname}</hostname>
					<port>${wildfly.port}</port>
					<username>${wildfly.username}</username>
					<password>${wildfly.password}</password>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<url>${tomcat.url}</url>
					<path>/${project.artifactId}-${project.version}</path>
					<username>${tomcat.username}</username>
					<password>${tomcat.password}</password>
				</configuration>
			</plugin>
		</plugins>
	</pluginManagement>

	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-enforcer-plugin</artifactId>
			<version>1.3.1</version>
			<inherited>false</inherited>
			<dependencies>
				<dependency>
					<groupId>com.statlogics.enforcer.rule</groupId>
					<artifactId>enforcer-rule-version</artifactId>
					<version>1.0.1</version>
				</dependency>
			</dependencies>
			<executions>
				<execution>
					<id>enforce</id>
					<configuration>
						<rules>
							<versionRule implementation="com.statlogics.enforcer.rule.VersionRule" />
						</rules>
					</configuration>
					<goals>
						<goal>enforce</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

<profiles>
	<!-- TOMCAT DEPLOYMENT PROFILES -->
	<profile>
		<id>LOCALHOST-TOMCAT</id>
		<activation>
			<property>
				<name>env-tomcat</name>
				<value>localhost</value>
			</property>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<deploy.env>LOCALHOST-TOMCAT</deploy.env>
			<tomcat.url>http://localhost:8181/manager/text</tomcat.url>
			<tomcat.username>jenkins</tomcat.username>
			<tomcat.password>jenkins</tomcat.password>
		</properties>
	</profile>
	<profile>
		<id>DEV-TOMCAT8</id>
		<activation>
			<property>
				<name>env-tomcat</name>
				<value>dev8</value>
			</property>
		</activation>
		<properties>
			<deploy.env>DEV-TOMCAT8</deploy.env>
			<tomcat.url>http://cl2-acq-sbox-01.statlogics.local:8369/manager/text</tomcat.url>
			<tomcat.username>jenkins</tomcat.username>
			<tomcat.password>jenkins</tomcat.password>
		</properties>
	</profile>
	<profile>
		<id>DEV-TOMCAT7</id>
		<activation>
			<property>
				<name>env-tomcat</name>
				<value>dev7</value>
			</property>
		</activation>
		<properties>
			<deploy.env>DEV-TOMCAT7</deploy.env>
			<tomcat.url>http://cl2-acq-sbox-01.statlogics.local:9090/manager/text</tomcat.url>
			<tomcat.username>jenkins</tomcat.username>
			<tomcat.password>jenkins</tomcat.password>
		</properties>
	</profile>
	<profile>
		<id>INTEGRATION-TOMCAT8</id>
		<activation>
			<property>
				<name>env-tomcat</name>
				<value>integration8</value>
			</property>
		</activation>
		<properties>
			<deploy.env>INTEGRATION-TOMCAT8</deploy.env>
			<tomcat.url>http://cl2-acq-sbox-01.statlogics.local:9091/manager/text</tomcat.url>
			<tomcat.username>jenkins</tomcat.username>
			<tomcat.password>jenkins</tomcat.password>
		</properties>
	</profile>
	
	<!-- WILDFLY DEPLOYMENT PROFILES -->
	<profile>
		<id>LOCALHOST-WILDFLY</id>
		<activation>
			<property>
				<name>env-wildfly</name>
				<value>localhost</value>
			</property>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<deploy.env>LOCALHOST-WILDFLY</deploy.env>
			<wildfly.hostname>localhost</wildfly.hostname>
			<wildfly.port>9990</wildfly.port>
			<wildfly.username>admin</wildfly.username>
			<wildfly.password>admin</wildfly.password>
		</properties>
	</profile>
	<profile>
		<id>DEV-WILDFLY</id>
		<activation>
			<property>
				<name>env-wildfly</name>
				<value>dev</value>
			</property>
		</activation>
		<properties>
			<deploy.env>DEV-WILDFLY</deploy.env>
			<wildfly.hostname>cl2-acq-sbox-01.statlogics.local</wildfly.hostname>
			<wildfly.port>9990</wildfly.port>
			<wildfly.username>admin</wildfly.username>
			<wildfly.password>admin</wildfly.password>
		</properties>
	</profile>

</profiles>

<reporting>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-project-info-reports-plugin</artifactId>
			<version>2.7</version>
			<configuration>
				<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
				<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>cobertura-maven-plugin</artifactId>
			<version>2.7</version>
			<configuration>
				<formats>
					<format>html</format>
					<format>xml</format>
				</formats>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-javadoc-plugin</artifactId>
			<version>2.10.3</version>
		</plugin>

	</plugins>
</reporting>

Hi @hawky4s,

Thanks for your quick response!
This is the process.xml file we have inside the META-INF folder. It was taken from a camunda.org example.
Is this OK?
Thanks!

<?xml version="1.0" encoding="UTF-8" ?>

<process-archive name="loan-approval">
	<process-engine>default</process-engine>
	<properties>
		<property name="isDeleteUponUndeploy">false</property>
		<property name="isScanForProcessDefinitions">true</property>
	</properties>
</process-archive>

Do you also have a bean which is annotated with @ProcessApplication and extends SpringProcessApplication or SpringServletProcessApplication?

Cheers,
Christian

Hi,

Thanks again!
Yes, we have a ProcessApplication bean that is initialized by a Spring @Configuration class.
Nevertheless, I have checked out a working example from Camunda, which works properly in my computer. It looks we have something miss-configured in our Application.
Thanks!

@Configuration
public class SharedBpmnEngineConfig {

@Bean
public ProcessEngineService processEngineService() {
	return BpmPlatform.getProcessEngineService();
}

@Bean
public SpringServletProcessApplication processApplication() {
	logger.info("create bean for process application");
	return new BpmnDefaultProcessApplication();
}

}

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.camunda.bpm.application.PostDeploy;
import org.camunda.bpm.application.PreUndeploy;
import org.camunda.bpm.application.ProcessApplication;
import org.camunda.bpm.engine.ProcessEngine;
import org.camunda.bpm.engine.spring.application.SpringServletProcessApplication;

@ProcessApplication
public class BpmnDefaultProcessApplication extends SpringServletProcessApplication {
/** logger. */
private static final Logger logger = LogManager.getLogger(BpmnDefaultProcessApplication.class);

@PostDeploy
public void startup(ProcessEngine engine) {
	logger.info("process engine name:" + engine.getName());
}

@PreUndeploy
public void stopAndUndeploy() {
	logger.info("stop and shutdown process application now");
}

}

Hi guys,

I could get it working. The @Configuration class was inside a (dependency) jar file. I moved it to the main (war) project and everything started working perfectly. Frankly, I don’t know the reason why, as I don’t know the inside of the engine, as I was able to work with those @Bean inside our context. Is there any explanation for it?

Anyhow, thank you guys for your suggestions, I really appreciated them.
Thanks,
ediaz