diff --git a/checkstyle/checkstyle.xml b/checkstyle/checkstyle.xml
index d1423237dadf6..7bb56603bc603 100644
--- a/checkstyle/checkstyle.xml
+++ b/checkstyle/checkstyle.xml
@@ -64,7 +64,7 @@
-
+
diff --git a/examples/src/main/java/org/apache/ignite/examples/misc/springbean/SpringBeanExample.java b/examples/src/main/java/org/apache/ignite/examples/misc/springbean/SpringBeanExample.java
index 66b22fa8681a9..d514db2512c0b 100644
--- a/examples/src/main/java/org/apache/ignite/examples/misc/springbean/SpringBeanExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/misc/springbean/SpringBeanExample.java
@@ -53,11 +53,9 @@ public static void main(String[] args) throws Exception {
System.out.println();
System.out.println(">>> Spring bean example started.");
- // Initialize Spring factory.
- ClassPathXmlApplicationContext ctx =
- new ClassPathXmlApplicationContext("org/apache/ignite/examples/misc/springbean/spring-bean.xml");
-
- try {
+ // Initialize Spring factory (closed automatically, which stops the local cluster node).
+ try (ClassPathXmlApplicationContext ctx =
+ new ClassPathXmlApplicationContext("org/apache/ignite/examples/misc/springbean/spring-bean.xml")) {
// Get ignite from Spring (note that local cluster node is already started).
Ignite ignite = (Ignite)ctx.getBean("mySpringBean");
@@ -81,9 +79,5 @@ public static void main(String[] args) throws Exception {
System.out.println(">>> Check all nodes for output (this node is also part of the cluster).");
System.out.println(">>>");
}
- finally {
- // Stop local cluster node.
- ctx.destroy();
- }
}
}
diff --git a/modules/calcite/pom.xml b/modules/calcite/pom.xml
index 945451239f846..8abb473c21d41 100644
--- a/modules/calcite/pom.xml
+++ b/modules/calcite/pom.xml
@@ -69,6 +69,12 @@
org.apache.calcite
calcite-core
${calcite.version}
+
+
+ org.apache.commons
+ commons-dbcp2
+
+
diff --git a/modules/clients/src/test/resources/jetty/rest-jetty-ssl-client-auth.xml b/modules/clients/src/test/resources/jetty/rest-jetty-ssl-client-auth.xml
index 00158a85cc226..b95d81dd1ef29 100644
--- a/modules/clients/src/test/resources/jetty/rest-jetty-ssl-client-auth.xml
+++ b/modules/clients/src/test/resources/jetty/rest-jetty-ssl-client-auth.xml
@@ -19,7 +19,7 @@
-
+
5
10
@@ -76,17 +76,6 @@
-
-
-
-
- -
-
-
-
-
-
-
false
diff --git a/modules/clients/src/test/resources/jetty/rest-jetty-ssl.xml b/modules/clients/src/test/resources/jetty/rest-jetty-ssl.xml
index d84df0d48b3e8..d34d2c9ada2a8 100644
--- a/modules/clients/src/test/resources/jetty/rest-jetty-ssl.xml
+++ b/modules/clients/src/test/resources/jetty/rest-jetty-ssl.xml
@@ -20,7 +20,7 @@
-
+
10
@@ -38,7 +38,7 @@
-
+
/src/test/keystore/server.jks
123456
123456
@@ -77,18 +77,5 @@
-
-
-
-
-
- -
-
-
-
-
-
-
-
false
diff --git a/modules/clients/src/test/resources/jetty/rest-jetty.xml b/modules/clients/src/test/resources/jetty/rest-jetty.xml
index d84bf8ae49c17..c4dcc0f37afe2 100644
--- a/modules/clients/src/test/resources/jetty/rest-jetty.xml
+++ b/modules/clients/src/test/resources/jetty/rest-jetty.xml
@@ -20,7 +20,7 @@
-
+
20
@@ -61,17 +61,5 @@
-
-
-
-
- -
-
-
-
-
-
-
-
false
diff --git a/modules/clients/src/test/resources/jetty/router-jetty-ssl.xml b/modules/clients/src/test/resources/jetty/router-jetty-ssl.xml
index 093fa181535cc..85081526a7d33 100644
--- a/modules/clients/src/test/resources/jetty/router-jetty-ssl.xml
+++ b/modules/clients/src/test/resources/jetty/router-jetty-ssl.xml
@@ -20,7 +20,7 @@
-
+
10
@@ -38,7 +38,7 @@
-
+
/src/test/keystore/server.jks
123456
123456
@@ -77,18 +77,5 @@
-
-
-
-
-
- -
-
-
-
-
-
-
-
false
diff --git a/modules/clients/src/test/resources/jetty/router-jetty.xml b/modules/clients/src/test/resources/jetty/router-jetty.xml
index 8815431069b75..eecb262972c17 100644
--- a/modules/clients/src/test/resources/jetty/router-jetty.xml
+++ b/modules/clients/src/test/resources/jetty/router-jetty.xml
@@ -20,7 +20,7 @@
-
+
20
@@ -61,17 +61,5 @@
-
-
-
-
- -
-
-
-
-
-
-
-
false
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 54de1b5d825da..080d157a21104 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -156,15 +156,15 @@
- org.eclipse.jetty
- jetty-servlets
+ org.eclipse.jetty.ee11
+ jetty-ee11-servlets
${jetty.version}
test
- org.eclipse.jetty
- jetty-webapp
+ org.eclipse.jetty.ee11
+ jetty-ee11-webapp
${jetty.version}
test
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
index 8e9e483af45ef..6a895088bf711 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
@@ -208,7 +208,7 @@ public T createIfInClassPath(GridKernalContext ctx, boolean mandatory)
try {
Class.forName(cls);
}
- catch (ClassNotFoundException e) {
+ catch (ClassNotFoundException | LinkageError e) {
if (mandatory)
throw componentException(e);
@@ -263,7 +263,7 @@ private T createOptional0(@Nullable GridKernalContext ctx) throws IgniteChec
try {
cls = Class.forName(clsName);
}
- catch (ClassNotFoundException ignored) {
+ catch (ClassNotFoundException | LinkageError ignored) {
try {
cls = Class.forName(noOpClsName);
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
index a7e0cc58d9d27..e417ede2f6e99 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
@@ -1017,6 +1017,10 @@ private void startHttpProtocol() throws IgniteCheckedException {
log.debug("Failed to initialize HTTP REST protocol (consider adding ignite-rest-http " +
"module to classpath).");
}
+ catch (LinkageError e) {
+ U.warn(log, "Failed to initialize HTTP REST protocol (consider adding ignite-rest-http " +
+ "module and its dependencies to classpath).", e);
+ }
catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
throw new IgniteCheckedException("Failed to initialize HTTP REST protocol.", e);
}
diff --git a/modules/core/src/test/webapp/WEB-INF/web.xml b/modules/core/src/test/webapp/WEB-INF/web.xml
index e3523c76af007..a1451584cc434 100644
--- a/modules/core/src/test/webapp/WEB-INF/web.xml
+++ b/modules/core/src/test/webapp/WEB-INF/web.xml
@@ -17,11 +17,11 @@
limitations under the License.
-->
-
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd"
+ version="6.1">
diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GarHelloWorldTask.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GarHelloWorldTask.java
index df71641a54255..1bcb94160f011 100644
--- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GarHelloWorldTask.java
+++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GarHelloWorldTask.java
@@ -29,8 +29,8 @@
import org.apache.ignite.compute.ComputeTaskName;
import org.apache.ignite.compute.ComputeTaskSplitAdapter;
import org.jetbrains.annotations.Nullable;
-import org.springframework.beans.factory.support.AbstractBeanFactory;
-import org.springframework.beans.factory.xml.XmlBeanFactory;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.ClassPathResource;
/**
@@ -43,7 +43,8 @@ public class GarHelloWorldTask extends ComputeTaskSplitAdapter {
/** {@inheritDoc} */
@Override public Collection extends ComputeJob> split(int gridSize, String arg) throws IgniteException {
// Create Spring context.
- AbstractBeanFactory fac = new XmlBeanFactory(
+ DefaultListableBeanFactory fac = new DefaultListableBeanFactory();
+ new XmlBeanDefinitionReader(fac).loadBeanDefinitions(
new ClassPathResource("org/apache/ignite/spi/deployment/uri/tasks/gar-spring-bean.xml", getClass().getClassLoader()));
fac.setBeanClassLoader(getClass().getClassLoader());
diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask1.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask1.java
index d95c411e74c23..1348d7f8066ba 100644
--- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask1.java
+++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask1.java
@@ -23,7 +23,8 @@
import org.apache.ignite.compute.ComputeJob;
import org.apache.ignite.compute.ComputeJobResult;
import org.apache.ignite.compute.ComputeTaskSplitAdapter;
-import org.springframework.beans.factory.xml.XmlBeanFactory;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.ClassPathResource;
/**
@@ -32,7 +33,9 @@
public class GridUriDeploymentTestTask1 extends ComputeTaskSplitAdapter