Bootstrapping through {@link SpringProcessApplication}. In this case the spring application context
* is retrieved from the {@link SpringProcessApplication} class.
- *
Bootstrapping through {@link ServletProcessApplication}. In this case we have access to the {@link ServletContext}
+ *
Bootstrapping through {@link org.camunda.bpm.application.impl.ServletProcessApplication}. In this case we have access to the {@link ServletContext}
* which allows accessing the web application's application context through the WebApplicationContextUtils class.
*
*
@@ -63,8 +62,9 @@ public ELResolver getElResolver(AbstractProcessApplication processApplication) {
SpringProcessApplication springProcessApplication = (SpringProcessApplication) processApplication;
return new ApplicationContextElResolver(springProcessApplication.getApplicationContext());
- } else if (processApplication instanceof ServletProcessApplication) {
- ServletProcessApplication servletProcessApplication = (ServletProcessApplication) processApplication;
+ } else if (processApplication instanceof org.camunda.bpm.application.impl.ServletProcessApplication) {
+ // Using fully-qualified class name instead of import statement to allow for automatic transformation
+ org.camunda.bpm.application.impl.ServletProcessApplication servletProcessApplication = (org.camunda.bpm.application.impl.ServletProcessApplication) processApplication;
if(!ClassUtils.isPresent("org.springframework.web.context.support.WebApplicationContextUtils", processApplication.getProcessApplicationClassloader())) {
LOGGER.log(Level.FINE, "WebApplicationContextUtils must be present for SpringProcessApplicationElResolver to work");
diff --git a/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/autodeployment/SpringAutoDeployTest.java b/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/autodeployment/SpringAutoDeployTest.java
index 0bf3b0163d2..aa9c420db8d 100644
--- a/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/autodeployment/SpringAutoDeployTest.java
+++ b/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/autodeployment/SpringAutoDeployTest.java
@@ -18,7 +18,6 @@
import org.camunda.bpm.engine.RepositoryService;
import org.camunda.bpm.engine.impl.test.PvmTestCase;
-import org.camunda.bpm.engine.impl.util.IoUtil;
import org.camunda.bpm.engine.repository.CaseDefinition;
import org.camunda.bpm.engine.repository.Deployment;
import org.camunda.bpm.engine.repository.DeploymentQuery;
@@ -26,11 +25,9 @@
import org.camunda.bpm.engine.repository.ProcessDefinitionQuery;
import org.camunda.bpm.model.bpmn.Bpmn;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
-import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import java.net.URISyntaxException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -108,7 +105,7 @@ public void testNoRedeploymentForSpringContainerRestart() throws Exception {
assertEquals(3, processDefinitionQuery.count());
// Creating a new app context with same resources doesn't lead to more deployments
- ((AbstractXmlApplicationContext) applicationContext).destroy();
+ ((AbstractXmlApplicationContext) applicationContext).close();
applicationContext = new ClassPathXmlApplicationContext(CTX_PATH);
assertEquals(1, deploymentQuery.count());
assertEquals(3, processDefinitionQuery.count());
@@ -148,7 +145,7 @@ public void testDeployChangeOnly() throws Exception {
assertEquals(1, repositoryService.createDeploymentQuery().count());
// when
- ((AbstractXmlApplicationContext) applicationContext).destroy();
+ ((AbstractXmlApplicationContext) applicationContext).close();
DynamicResourceProducer.clearResources();
DynamicResourceProducer.addResource("a.bpmn", model2);
@@ -174,7 +171,7 @@ public void testResourceRedeploymentAfterProcessDefinitionChange() throws Except
createAppContext(CTX_DYNAMIC_DEPLOY_PATH);
assertEquals(1, repositoryService.createDeploymentQuery().count());
- ((AbstractXmlApplicationContext)applicationContext).destroy();
+ ((AbstractXmlApplicationContext)applicationContext).close();
// when
DynamicResourceProducer.clearResources();
diff --git a/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/transaction/UserBean.java b/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/transaction/UserBean.java
index b98400a9692..9e967d22b68 100644
--- a/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/transaction/UserBean.java
+++ b/engine-spring/core/src/test/java/org/camunda/bpm/engine/spring/test/transaction/UserBean.java
@@ -16,16 +16,16 @@
*/
package org.camunda.bpm.engine.spring.test.transaction;
+import static org.junit.Assert.assertEquals;
+
import javax.sql.DataSource;
import org.camunda.bpm.engine.RuntimeService;
import org.camunda.bpm.engine.TaskService;
-import org.springframework.beans.factory.annotation.Required;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.annotation.Transactional;
-import static org.junit.Assert.assertEquals;
-
/**
* @author Tom Baeyens
*/
@@ -33,24 +33,24 @@ public class UserBean {
/** injected by Spring */
private RuntimeService runtimeService;
-
+
/** injected by Spring */
private TaskService taskService;
-
+
/** injected by Spring */
private DataSource dataSource;
@Transactional
public void hello() {
// here you can do transactional stuff in your domain model
- // and it will be combined in the same transaction as
+ // and it will be combined in the same transaction as
// the startProcessInstanceByKey to the Activiti RuntimeService
runtimeService.startProcessInstanceByKey("helloProcess");
}
-
+
@Transactional
public void completeTask(String taskId) {
-
+
// First insert a record in the MY_TABLE table
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int results = jdbcTemplate.queryForObject("select count(*) from MY_TABLE", Integer.class);
@@ -66,20 +66,20 @@ public void completeTask(String taskId) {
}
// getters and setters //////////////////////////////////////////////////////
-
- @Required
+
+ @Autowired
public void setRuntimeService(RuntimeService runtimeService) {
this.runtimeService = runtimeService;
}
-
- @Required
+
+ @Autowired
public void setTaskService(TaskService taskService) {
this.taskService = taskService;
}
- @Required
+ @Autowired
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
-
+
}
diff --git a/engine-spring/pom.xml b/engine-spring/pom.xml
index 0c4ea665aa7..d256fa8257e 100644
--- a/engine-spring/pom.xml
+++ b/engine-spring/pom.xml
@@ -24,5 +24,18 @@
corecompatibility-test-spring4
+
+
+
+ jdk17
+
+ [17,)
+
+
+ core-6
+
+
+
+
diff --git a/parent/pom.xml b/parent/pom.xml
index 35a441a8665..662b4bec196 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -20,6 +20,7 @@
2.16.4.Final5.3.27
+ 6.0.92.7.123.15.6.Final2.34
diff --git a/qa/integration-tests-engine-jakarta/pom.xml b/qa/integration-tests-engine-jakarta/pom.xml
index 53722f80c55..98334822630 100644
--- a/qa/integration-tests-engine-jakarta/pom.xml
+++ b/qa/integration-tests-engine-jakarta/pom.xml
@@ -15,6 +15,7 @@
org.wildfly.arquillian5.0.0.Alpha6
+ ${version.spring.framework6}1.7.0.Alpha13
@@ -141,6 +142,12 @@
jakarta.transaction-apiprovided
+
+ jakarta.persistence
+ jakarta.persistence-api
+ 3.1.0
+ test
+ org.camunda.bpm.javaee
@@ -165,6 +172,12 @@
org.camunda.bpmcamunda-engineprovided
+
+
+ spring-beans
+ org.springframework
+
+
@@ -187,6 +200,19 @@
+
+ org.camunda.bpm
+ camunda-engine-spring-6
+ ${project.version}
+ provided
+
+
+ camunda-engine
+ org.camunda.bpm
+
+
+
+
org.camunda.spincamunda-spin-core
@@ -227,6 +253,29 @@
camunda-connect-core
+
+
+ org.springframework
+ spring-context
+
+
+ org.springframework
+ spring-jdbc
+
+
+ org.springframework
+ spring-tx
+
+
+ org.springframework
+ spring-orm
+
+
+ org.springframework
+ spring-web
+
+
org.codehaus.groovy
@@ -279,7 +328,7 @@
- **/spring/**/*.java,**/jpa/*.java,**/DeploymentHelper.java
+ **/DeploymentHelper.java,**/JavascriptScriptEngineSupportNashornTest.java
diff --git a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
index a485d2e4578..d51a2779806 100644
--- a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
+++ b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
@@ -22,7 +22,7 @@ public class DeploymentHelper extends AbstractDeploymentHelper {
protected static final String CAMUNDA_EJB_CLIENT = "org.camunda.bpm.javaee:camunda-ejb-client-jakarta";
protected static final String CAMUNDA_ENGINE_CDI = "org.camunda.bpm:camunda-engine-cdi-jakarta";
- protected static final String CAMUNDA_ENGINE_SPRING = "org.camunda.bpm:camunda-engine-spring";
+ protected static final String CAMUNDA_ENGINE_SPRING = "org.camunda.bpm:camunda-engine-spring-6";
public static JavaArchive getEjbClient() {
return getEjbClient(CAMUNDA_EJB_CLIENT);
diff --git a/qa/pom.xml b/qa/pom.xml
index ad04c643593..5da54326e84 100644
--- a/qa/pom.xml
+++ b/qa/pom.xml
@@ -77,7 +77,6 @@
tomcat-runtimeintegration-tests-webappsintegration-tests-engine
- integration-tests-engine-jakartatest-db-utiltest-db-instance-migrationtest-db-rolling-update
@@ -87,6 +86,16 @@
+
+ jdk17
+
+ [17,)
+
+
+ integration-tests-engine-jakarta
+
+
+
diff --git a/qa/wildfly-runtime/pom.xml b/qa/wildfly-runtime/pom.xml
index 8b31a9b03f9..eb7dc29a51a 100644
--- a/qa/wildfly-runtime/pom.xml
+++ b/qa/wildfly-runtime/pom.xml
@@ -12,6 +12,21 @@
7.20.0-SNAPSHOT
+
+
+
+
+ org.springframework
+ spring-beans
+ ${version.spring.framework6}
+
+
+ org.camunda.bpm
+ camunda-engine
+
+
+
+