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..53f6a6999e4dd 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 @@ -83,7 +83,7 @@ public static void main(String[] args) throws Exception { } finally { // Stop local cluster node. - ctx.destroy(); + ctx.close(); } } } diff --git a/modules/calcite/pom.xml b/modules/calcite/pom.xml index 945451239f846..e038a07db73e5 100644 --- a/modules/calcite/pom.xml +++ b/modules/calcite/pom.xml @@ -69,6 +69,12 @@ org.apache.calcite calcite-core ${calcite.version} + + + jakarta.transaction + jakarta.transaction-api + + diff --git a/modules/core/pom.xml b/modules/core/pom.xml index aebc94795a5f5..185ed07441c47 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -150,15 +150,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/test/webapp/WEB-INF/web.xml b/modules/core/src/test/webapp/WEB-INF/web.xml index e3523c76af007..1cc09dd6e0049 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_0.xsd" + version="6.0"> 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 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 { /** */ public GridUriDeploymentTestTask1() { - XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring1.xml", getClass().getClassLoader())); + DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); + new XmlBeanDefinitionReader(factory).loadBeanDefinitions( + new ClassPathResource("spring1.xml", getClass().getClassLoader())); factory.setBeanClassLoader(getClass().getClassLoader()); diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java index 1325efd17aa6e..cf661982b4a0e 100644 --- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java +++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.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; /** @@ -35,7 +36,8 @@ public class GridUriDeploymentTestTask2 extends ComputeTaskSplitAdapterhttp://ignite.apache.org + + + + true + + ${project.groupId} @@ -41,9 +47,9 @@ - javax.transaction - jta - 1.1 + jakarta.transaction + jakarta.transaction-api + 2.0.1 diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/CacheTmLookup.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/CacheTmLookup.java index 7f973848a8417..8a0659e2a9cf0 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/CacheTmLookup.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/CacheTmLookup.java @@ -17,7 +17,7 @@ package org.apache.ignite.cache.jta; -import javax.transaction.TransactionManager; +import jakarta.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.configuration.TransactionConfiguration; import org.jetbrains.annotations.Nullable; diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmFactory.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmFactory.java index 10f3f86c77960..b6c778c7ba641 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmFactory.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmFactory.java @@ -20,10 +20,10 @@ import java.util.Arrays; import java.util.Hashtable; import java.util.Map; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; import javax.naming.InitialContext; import javax.naming.NamingException; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.internal.util.typedef.internal.U; diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmLookup.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmLookup.java index dfd8b5e3cca65..db01b36d48440 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmLookup.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/jndi/CacheJndiTmLookup.java @@ -18,9 +18,9 @@ package org.apache.ignite.cache.jta.jndi; import java.util.List; +import jakarta.transaction.TransactionManager; import javax.naming.InitialContext; import javax.naming.NamingException; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.cache.jta.CacheTmLookup; import org.jetbrains.annotations.Nullable; diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/reflect/CacheReflectionTmLookup.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/reflect/CacheReflectionTmLookup.java index 25b06de220152..96cf03de0d61a 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/reflect/CacheReflectionTmLookup.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/reflect/CacheReflectionTmLookup.java @@ -18,7 +18,7 @@ package org.apache.ignite.cache.jta.reflect; import java.lang.reflect.InvocationTargetException; -import javax.transaction.TransactionManager; +import jakarta.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.cache.jta.CacheTmLookup; import org.apache.ignite.internal.util.typedef.internal.A; diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereLibertyTmFactory.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereLibertyTmFactory.java index aa579ade02f99..581078a97e2a5 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereLibertyTmFactory.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereLibertyTmFactory.java @@ -18,8 +18,8 @@ package org.apache.ignite.cache.jta.websphere; import java.lang.reflect.InvocationTargetException; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteException; /** diff --git a/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereTmFactory.java b/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereTmFactory.java index 85886df7eed0c..7276e12932fc6 100644 --- a/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereTmFactory.java +++ b/modules/jta/src/main/java/org/apache/ignite/cache/jta/websphere/WebSphereTmFactory.java @@ -21,16 +21,16 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; +import jakarta.transaction.HeuristicMixedException; +import jakarta.transaction.HeuristicRollbackException; +import jakarta.transaction.InvalidTransactionException; +import jakarta.transaction.NotSupportedException; +import jakarta.transaction.RollbackException; +import jakarta.transaction.Synchronization; +import jakarta.transaction.SystemException; +import jakarta.transaction.Transaction; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.HeuristicMixedException; -import javax.transaction.HeuristicRollbackException; -import javax.transaction.InvalidTransactionException; -import javax.transaction.NotSupportedException; -import javax.transaction.RollbackException; -import javax.transaction.Synchronization; -import javax.transaction.SystemException; -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; import javax.transaction.xa.XAResource; import org.apache.ignite.IgniteException; diff --git a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java index b98a7f8b006b4..854773ad259cf 100644 --- a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java +++ b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java @@ -18,11 +18,11 @@ package org.apache.ignite.internal.processors.cache.jta; import java.util.concurrent.atomic.AtomicReference; +import jakarta.transaction.RollbackException; +import jakarta.transaction.SystemException; +import jakarta.transaction.Transaction; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.RollbackException; -import javax.transaction.SystemException; -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.cache.jta.CacheTmLookup; import org.apache.ignite.configuration.CacheConfiguration; diff --git a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaResource.java b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaResource.java index 5b1b37a15db5f..81edfc40833d4 100644 --- a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaResource.java +++ b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaResource.java @@ -18,9 +18,9 @@ package org.apache.ignite.internal.processors.cache.jta; import java.util.concurrent.atomic.AtomicReference; +import jakarta.transaction.Status; +import jakarta.transaction.Synchronization; import javax.cache.CacheException; -import javax.transaction.Status; -import javax.transaction.Synchronization; import javax.transaction.xa.XAException; import javax.transaction.xa.XAResource; import javax.transaction.xa.Xid; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/CacheJndiTmFactorySelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/CacheJndiTmFactorySelfTest.java index f3781d4af58e3..8f3ba7014403e 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/CacheJndiTmFactorySelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/CacheJndiTmFactorySelfTest.java @@ -18,16 +18,16 @@ package org.apache.ignite.internal.processors.cache; import java.util.concurrent.Callable; +import jakarta.transaction.HeuristicMixedException; +import jakarta.transaction.HeuristicRollbackException; +import jakarta.transaction.InvalidTransactionException; +import jakarta.transaction.NotSupportedException; +import jakarta.transaction.RollbackException; +import jakarta.transaction.SystemException; +import jakarta.transaction.Transaction; +import jakarta.transaction.TransactionManager; import javax.naming.Context; import javax.naming.InitialContext; -import javax.transaction.HeuristicMixedException; -import javax.transaction.HeuristicRollbackException; -import javax.transaction.InvalidTransactionException; -import javax.transaction.NotSupportedException; -import javax.transaction.RollbackException; -import javax.transaction.SystemException; -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.cache.jta.jndi.CacheJndiTmFactory; import org.apache.ignite.testframework.GridTestUtils; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaConfigurationValidationSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaConfigurationValidationSelfTest.java index db41a0cd4e7e8..c79578918361c 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaConfigurationValidationSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaConfigurationValidationSelfTest.java @@ -18,7 +18,7 @@ package org.apache.ignite.internal.processors.cache; import java.util.concurrent.Callable; -import javax.transaction.TransactionManager; +import jakarta.transaction.TransactionManager; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.cache.jta.CacheTmLookup; import org.apache.ignite.configuration.CacheConfiguration; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaFactoryConfigValidationSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaFactoryConfigValidationSelfTest.java index ffb08e7da9145..e7617f531bc0c 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaFactoryConfigValidationSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheJtaFactoryConfigValidationSelfTest.java @@ -18,8 +18,8 @@ package org.apache.ignite.internal.processors.cache; import java.util.concurrent.Callable; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaLifecycleAwareSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaLifecycleAwareSelfTest.java index 695e9953298d6..c655cfaebe2c7 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaLifecycleAwareSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaLifecycleAwareSelfTest.java @@ -17,8 +17,8 @@ package org.apache.ignite.internal.processors.cache; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.TransactionManager; import org.apache.ignite.Ignite; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.jta.CacheTmLookup; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaTransactionManagerSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaTransactionManagerSelfTest.java index e85d196880f75..ecace1bbd0d8b 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaTransactionManagerSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/GridJtaTransactionManagerSelfTest.java @@ -19,9 +19,9 @@ import java.util.Arrays; import java.util.Collection; +import jakarta.transaction.Transaction; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; import org.apache.ignite.IgniteCache; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.TransactionConfiguration; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/AbstractCacheJtaSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/AbstractCacheJtaSelfTest.java index 8fb9f1e7b6c62..d6e3971dca60a 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/AbstractCacheJtaSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/AbstractCacheJtaSelfTest.java @@ -19,8 +19,8 @@ import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; -import javax.transaction.Status; -import javax.transaction.UserTransaction; +import jakarta.transaction.Status; +import jakarta.transaction.UserTransaction; import org.apache.ignite.IgniteCache; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.CacheConfiguration; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaFactorySelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaFactorySelfTest.java index ec9f8e8761def..0324e9bb74236 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaFactorySelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaFactorySelfTest.java @@ -17,8 +17,8 @@ package org.apache.ignite.internal.processors.cache.jta; +import jakarta.transaction.TransactionManager; import javax.cache.configuration.Factory; -import javax.transaction.TransactionManager; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.TransactionConfiguration; diff --git a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaLookupClassNameSelfTest.java b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaLookupClassNameSelfTest.java index 573a543318988..979f42c82ff75 100644 --- a/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaLookupClassNameSelfTest.java +++ b/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta/GridPartitionedCacheJtaLookupClassNameSelfTest.java @@ -18,7 +18,7 @@ package org.apache.ignite.internal.processors.cache.jta; import java.util.concurrent.Callable; -import javax.transaction.TransactionManager; +import jakarta.transaction.TransactionManager; import org.apache.ignite.IgniteException; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.jta.CacheTmLookup; diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml index 24610347ac09d..7770e6062b103 100644 --- a/modules/rest-http/pom.xml +++ b/modules/rest-http/pom.xml @@ -82,9 +82,17 @@ ${jetty.version} + + org.eclipse.jetty.ee11 + jetty-ee11-servlet + ${jetty.version} + + + org.eclipse.jetty - jetty-servlet + jetty-session ${jetty.version} @@ -95,8 +103,8 @@ - org.eclipse.jetty.toolchain - jetty-jakarta-servlet-api + jakarta.servlet + jakarta.servlet-api ${jetty-jakarta-servlet-api.version} diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java index dcb5d1d6e4bf5..c91ed3ec58762 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java @@ -31,13 +31,14 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.InjectableValues; -import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.ServletRequest; +import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.InjectableValues; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.IgniteSystemProperties; @@ -72,8 +73,6 @@ import org.apache.ignite.lang.IgniteClosure; import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.plugin.security.SecurityCredentials; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.handler.AbstractHandler; import org.jetbrains.annotations.Nullable; import static java.lang.String.format; @@ -93,7 +92,7 @@ /** * Jetty REST handler. The following URL format is supported: {@code /ignite?cmd=cmdName¶m1=abc¶m2=123} */ -public class GridJettyRestHandler extends AbstractHandler { +public class GridJettyRestHandler extends HttpServlet { /** */ public static final String IGNITE_CMD_PATH = "/ignite"; @@ -270,16 +269,13 @@ private static int intValue(String key, Map params, int dfltVal) } /** {@inheritDoc} */ - @Override public void handle(String target, Request req, HttpServletRequest srvReq, HttpServletResponse res) { - if (log.isDebugEnabled()) - log.debug("Handling request [target=" + target + ", req=" + req + ", srvReq=" + srvReq + ']'); + @Override protected void service(HttpServletRequest srvReq, HttpServletResponse res) { + String target = srvReq.getRequestURI(); - if (!target.startsWith(IGNITE_CMD_PATH)) - return; + if (log.isDebugEnabled()) + log.debug("Handling request [target=" + target + ", srvReq=" + srvReq + ']'); processRequest(target, srvReq, res); - - req.setHandled(true); } /** diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java index 2631840cc0b22..5bdad0701d9f7 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java @@ -44,20 +44,20 @@ import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.IgniteSpiException; +import org.eclipse.jetty.ee11.servlet.FilterHolder; +import org.eclipse.jetty.ee11.servlet.ServletContextHandler; +import org.eclipse.jetty.ee11.servlet.ServletHolder; import org.eclipse.jetty.server.AbstractNetworkConnector; import org.eclipse.jetty.server.Connector; -import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.NetworkConnector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.server.handler.HandlerList; -import org.eclipse.jetty.servlet.FilterHolder; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.util.MultiException; +import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.util.resource.Resource; +import org.eclipse.jetty.util.resource.ResourceFactory; import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.xml.XmlConfiguration; import org.jetbrains.annotations.Nullable; @@ -238,17 +238,6 @@ private boolean startJetty() throws IgniteCheckedException { catch (Exception e) { boolean failedToBind = e instanceof SocketException; - if (e instanceof MultiException) { - if (log.isDebugEnabled()) - log.debug("Caught multi exception: " + e); - - failedToBind = true; - - for (Object obj : ((MultiException)e).getThrowables()) - if (!(obj instanceof SocketException)) - failedToBind = false; - } - if (e instanceof IOException && X.hasCause(e, SocketException.class)) failedToBind = true; @@ -309,7 +298,7 @@ private void loadJettyConfiguration(@Nullable URL cfgUrl) throws IgniteCheckedEx XmlConfiguration cfg; try { - Resource rsrc = Resource.newResource(cfgUrl); + Resource rsrc = ResourceFactory.root().newResource(cfgUrl.toURI()); cfg = new XmlConfiguration(rsrc); } @@ -336,18 +325,27 @@ private void loadJettyConfiguration(@Nullable URL cfgUrl) throws IgniteCheckedEx assert httpSrv != null; - Handler extsHnd = loadExtensions(); - WelcomeHandler welcomeHnd = new WelcomeHandler(log); + ContextHandlerCollection hnds = new ContextHandlerCollection(); - httpSrv.setHandler(new HandlerList(jettyHnd, extsHnd, welcomeHnd)); + loadExtensions(hnds); + + // Main context serves the REST command endpoint and the welcome page. + // Its root context path ("/") is matched last, after the more specific extension contexts. + ServletContextHandler mainCtx = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); + + mainCtx.setContextPath("/"); + mainCtx.addServlet(new ServletHolder(jettyHnd), IGNITE_CMD_PATH + "/*"); + mainCtx.addServlet(new ServletHolder(new WelcomeHandler(log)), "/"); + + hnds.addHandler(mainCtx); + + httpSrv.setHandler(hnds); override(getJettyConnector()); } - /** */ - private Handler loadExtensions() throws IgniteCheckedException { - HandlerList extsHnd = new HandlerList(); - + /** Discovers REST extensions and registers a dedicated servlet context for each one. */ + private void loadExtensions(ContextHandlerCollection hnds) throws IgniteCheckedException { CommonUtils.loadService(IgniteRestExtension.class).forEach(exts::add); Set paths = new HashSet<>(); @@ -372,13 +370,11 @@ private Handler loadExtensions() throws IgniteCheckedException { A.ensure(!extCtx.isContextPathDefault(), "The context path must be configured: " + ext.getClass().getName()); A.ensure(paths.add(extCtx.getContextPath()), "Duplicate REST context path: " + extCtx.getContextPath()); - extsHnd.addHandler(extCtx); + hnds.addHandler(extCtx); if (log.isInfoEnabled()) log.info("Configured REST extension: " + ext.getClass().getName()); } - - return extsHnd; } /** diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtension.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtension.java index 275cac62c2274..ee4b749a4f9b2 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtension.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtension.java @@ -17,7 +17,7 @@ package org.apache.ignite.internal.processors.rest.protocols.http.jetty; -import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.ee11.servlet.ServletContextHandler; /** * Extension point for registering custom HTTP REST endpoints in the Jetty REST protocol. diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/WelcomeHandler.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/WelcomeHandler.java index 72b162b467ab6..bab9870add8d6 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/WelcomeHandler.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/WelcomeHandler.java @@ -19,16 +19,15 @@ import java.io.IOException; import java.io.InputStream; +import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.apache.ignite.IgniteLogger; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.handler.AbstractHandler; /** * Handles welcome page. */ -public class WelcomeHandler extends AbstractHandler { +public class WelcomeHandler extends HttpServlet { /** Default page. */ private final byte[] dfltPage; @@ -51,14 +50,15 @@ public WelcomeHandler(IgniteLogger log) { } /** {@inheritDoc} */ - @Override public void handle(String target, Request req, HttpServletRequest srvReq, HttpServletResponse res) throws IOException { + @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws IOException { if (dfltPage == null || favicon == null || logo == null) { res.setStatus(HttpServletResponse.SC_NOT_FOUND); - req.setHandled(true); return; } + String target = req.getRequestURI(); + if (target.startsWith("/favicon.ico")) { res.setContentType("image/x-icon"); res.getOutputStream().write(favicon); @@ -75,7 +75,6 @@ else if (target.startsWith("/logo.svg")) { res.getOutputStream().flush(); res.setStatus(HttpServletResponse.SC_OK); - req.setHandled(true); } /** */ diff --git a/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtensionTest.java b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtensionTest.java index c057aa5644362..7ea3a27cda535 100644 --- a/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtensionTest.java +++ b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/IgniteRestExtensionTest.java @@ -29,8 +29,8 @@ import org.apache.ignite.plugin.security.SecurityException; import org.apache.ignite.resources.IgniteInstanceResource; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee11.servlet.ServletContextHandler; +import org.eclipse.jetty.ee11.servlet.ServletHolder; import org.junit.Test; import static org.apache.ignite.cluster.ClusterState.INACTIVE; diff --git a/modules/spring/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSpringBeanInjector.java b/modules/spring/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSpringBeanInjector.java index 876e79fc09313..9013730063643 100644 --- a/modules/spring/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSpringBeanInjector.java +++ b/modules/spring/src/main/java/org/apache/ignite/internal/processors/resource/GridResourceSpringBeanInjector.java @@ -26,7 +26,7 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.context.ApplicationContext; -import org.springframework.util.StringUtils; +import org.springframework.util.ObjectUtils; /** * Spring bean injector implementation works with resources provided @@ -111,7 +111,7 @@ private Object getBeanByResourceAnnotation(SpringResource annotation) throws Ign String beanName = annotation.resourceName(); Class beanCls = annotation.resourceClass(); - boolean oneParamSet = !StringUtils.isEmpty(beanName) ^ beanCls != SpringResource.DEFAULT.class; + boolean oneParamSet = !ObjectUtils.isEmpty(beanName) ^ beanCls != SpringResource.DEFAULT.class; if (!oneParamSet) { throw new IgniteCheckedException("Either bean name or its class must be specified in @SpringResource, " + @@ -119,7 +119,7 @@ private Object getBeanByResourceAnnotation(SpringResource annotation) throws Ign } try { - return !StringUtils.isEmpty(beanName) ? springCtx.getBean(beanName) : springCtx.getBean(beanCls); + return !ObjectUtils.isEmpty(beanName) ? springCtx.getBean(beanName) : springCtx.getBean(beanCls); } catch (NoUniqueBeanDefinitionException e) { throw e; diff --git a/modules/spring/src/test/java/org/apache/ignite/internal/processors/resource/GridResourceProcessorSelfTest.java b/modules/spring/src/test/java/org/apache/ignite/internal/processors/resource/GridResourceProcessorSelfTest.java index e6739b07d9eec..753c693ea87e0 100644 --- a/modules/spring/src/test/java/org/apache/ignite/internal/processors/resource/GridResourceProcessorSelfTest.java +++ b/modules/spring/src/test/java/org/apache/ignite/internal/processors/resource/GridResourceProcessorSelfTest.java @@ -403,7 +403,7 @@ public void testInjectResourceGridTaskAndJob() throws Exception { try { // Should not be null if task has been completed successfully (meaning all resources have been injected). - Assert.notNull(g.compute().execute(TestTask.class, null)); + Assert.notNull(g.compute().execute(TestTask.class, null), "must not be null"); } finally { stopGrid(); diff --git a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringDocument.java b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringDocument.java index 0143537c52258..0a3159013515a 100644 --- a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringDocument.java +++ b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringDocument.java @@ -24,7 +24,7 @@ import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.spi.IgniteSpiException; import org.springframework.beans.BeansException; -import org.springframework.beans.factory.xml.XmlBeanFactory; +import org.springframework.beans.factory.support.DefaultListableBeanFactory; /** * Helper class which helps to read deployer and tasks information from @@ -32,7 +32,7 @@ */ class GridUriDeploymentSpringDocument { /** Initialized springs beans factory. */ - private final XmlBeanFactory factory; + private final DefaultListableBeanFactory factory; /** List of tasks from package description. */ private List>> tasks; @@ -42,7 +42,7 @@ class GridUriDeploymentSpringDocument { * * @param factory Configuration factory. */ - GridUriDeploymentSpringDocument(XmlBeanFactory factory) { + GridUriDeploymentSpringDocument(DefaultListableBeanFactory factory) { assert factory != null; this.factory = factory; diff --git a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringParser.java b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringParser.java index 842a8cf9be07c..f62ce2a146a33 100644 --- a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringParser.java +++ b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentSpringParser.java @@ -24,7 +24,8 @@ import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.IgniteSpiException; import org.springframework.beans.BeansException; -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.ByteArrayResource; import org.springframework.core.io.InputStreamResource; @@ -52,8 +53,8 @@ private GridUriDeploymentSpringParser() { * @param log Logger * @return Grid wrapper for the input stream. * @throws org.apache.ignite.spi.IgniteSpiException Thrown if incoming input stream could not be - * read or parsed by {@code Spring} {@link XmlBeanFactory}. - * @see XmlBeanFactory + * read or parsed by {@code Spring} {@link DefaultListableBeanFactory}. + * @see DefaultListableBeanFactory */ static GridUriDeploymentSpringDocument parseTasksDocument(InputStream in, IgniteLogger log) throws IgniteSpiException { @@ -65,7 +66,8 @@ static GridUriDeploymentSpringDocument parseTasksDocument(InputStream in, Ignite try { U.copy(in, out); - XmlBeanFactory factory = new XmlBeanFactory(new ByteArrayResource(out.toByteArray())); + DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); + new XmlBeanDefinitionReader(factory).loadBeanDefinitions(new ByteArrayResource(out.toByteArray())); return new GridUriDeploymentSpringDocument(factory); } diff --git a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java index b366d4fe2fa93..b7d7fb4c7ab06 100644 --- a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java +++ b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java @@ -30,6 +30,7 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.ResourceHandler; +import org.eclipse.jetty.util.resource.ResourceFactory; import org.junit.Test; /** @@ -86,7 +87,7 @@ public class GridHttpDeploymentSelfTest extends GridUriDeploymentAbstractSelfTes ResourceHandler hnd = new ResourceHandler(); - hnd.setDirectoriesListed(true); + hnd.setDirAllowed(true); String garPathTmp = GridTestProperties.getProperty("urideployment.path.tmp"); @@ -100,7 +101,7 @@ public class GridHttpDeploymentSelfTest extends GridUriDeploymentAbstractSelfTes rsrcBase = resourseBaseDir.getPath(); - hnd.setResourceBase(rsrcBase); + hnd.setBaseResource(ResourceFactory.root().newResource(rsrcBase)); srv.setHandler(hnd); diff --git a/modules/web/ignite-appserver-test/src/main/webapp/WEB-INF/web.xml b/modules/web/ignite-appserver-test/src/main/webapp/WEB-INF/web.xml index 6fe7358724e75..dc0ba867f5dbe 100644 --- a/modules/web/ignite-appserver-test/src/main/webapp/WEB-INF/web.xml +++ b/modules/web/ignite-appserver-test/src/main/webapp/WEB-INF/web.xml @@ -15,11 +15,11 @@ ~ limitations under the License. --> - - - + Archetype Created Web Application diff --git a/modules/web/ignite-websphere-test/pom.xml b/modules/web/ignite-websphere-test/pom.xml index 84dad0d4b6cff..6495420328842 100644 --- a/modules/web/ignite-websphere-test/pom.xml +++ b/modules/web/ignite-websphere-test/pom.xml @@ -43,12 +43,18 @@ ${project.groupId} ignite-jta + + + jakarta.transaction + jakarta.transaction-api + + - com.ibm.websphere.appserver.api - com.ibm.websphere.appserver.api.transaction - 1.1.113 + jakarta.transaction + jakarta.transaction-api + 2.0.1 diff --git a/modules/web/ignite-websphere-test/src/main/java/org/apache/ignite/webtest/TestJtaTxServlet.java b/modules/web/ignite-websphere-test/src/main/java/org/apache/ignite/webtest/TestJtaTxServlet.java index e7f33aa3fc31e..f859bfdab58ae 100644 --- a/modules/web/ignite-websphere-test/src/main/java/org/apache/ignite/webtest/TestJtaTxServlet.java +++ b/modules/web/ignite-websphere-test/src/main/java/org/apache/ignite/webtest/TestJtaTxServlet.java @@ -19,13 +19,13 @@ import java.io.IOException; import java.io.PrintWriter; -import javax.transaction.RollbackException; -import javax.transaction.TransactionManager; -import com.ibm.tx.jta.TransactionManagerFactory; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import jakarta.transaction.RollbackException; +import jakarta.transaction.UserTransaction; +import javax.naming.InitialContext; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.Ignition; @@ -56,7 +56,7 @@ public class TestJtaTxServlet extends HttpServlet { final IgniteCache cache = ignite.cache("tx"); - TransactionManager tmMgr = TransactionManagerFactory.getTransactionManager(); + UserTransaction tmMgr = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction"); tmMgr.begin(); diff --git a/modules/web/ignite-websphere-test/src/main/webapp/WEB-INF/web.xml b/modules/web/ignite-websphere-test/src/main/webapp/WEB-INF/web.xml index 94cb0cf6b6d3f..c4308fe038f4a 100644 --- a/modules/web/ignite-websphere-test/src/main/webapp/WEB-INF/web.xml +++ b/modules/web/ignite-websphere-test/src/main/webapp/WEB-INF/web.xml @@ -15,11 +15,11 @@ ~ limitations under the License. --> - - - + Archetype Created Web Application diff --git a/modules/web/pom.xml b/modules/web/pom.xml index d75e7d4542091..26c082bb43df7 100644 --- a/modules/web/pom.xml +++ b/modules/web/pom.xml @@ -47,8 +47,8 @@ - org.eclipse.jetty.toolchain - jetty-jakarta-servlet-api + jakarta.servlet + jakarta.servlet-api ${jetty-jakarta-servlet-api.version} @@ -65,15 +65,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/web/src/main/java/org/apache/ignite/cache/websession/WebSessionFilter.java b/modules/web/src/main/java/org/apache/ignite/cache/websession/WebSessionFilter.java index adbbc18690e54..cc24077eb07e5 100644 --- a/modules/web/src/main/java/org/apache/ignite/cache/websession/WebSessionFilter.java +++ b/modules/web/src/main/java/org/apache/ignite/cache/websession/WebSessionFilter.java @@ -21,10 +21,6 @@ import java.util.Collection; import java.util.Map; import java.util.Objects; -import javax.cache.CacheException; -import javax.cache.expiry.Duration; -import javax.cache.expiry.ExpiryPolicy; -import javax.cache.expiry.ModifiedExpiryPolicy; import jakarta.servlet.Filter; import jakarta.servlet.FilterChain; import jakarta.servlet.FilterConfig; @@ -35,6 +31,10 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequestWrapper; import jakarta.servlet.http.HttpSession; +import javax.cache.CacheException; +import javax.cache.expiry.Duration; +import javax.cache.expiry.ExpiryPolicy; +import javax.cache.expiry.ModifiedExpiryPolicy; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteClientDisconnectedException; diff --git a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java index 45b4ecf838fdf..c5c6e69902d73 100644 --- a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java +++ b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java @@ -57,12 +57,13 @@ import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.eclipse.jetty.ee11.servlet.ServletHolder; +import org.eclipse.jetty.ee11.webapp.WebAppContext; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.SecurityHandler; +import org.eclipse.jetty.security.authentication.BasicAuthenticator; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.ServletHolder; -import org.eclipse.jetty.util.security.Constraint; -import org.eclipse.jetty.webapp.WebAppContext; +import org.eclipse.jetty.util.resource.ResourceFactory; import org.jetbrains.annotations.Nullable; import org.junit.Ignore; import org.junit.Test; @@ -998,10 +999,10 @@ private Server startServerWithLoginService( HashLoginService hashLoginSrvc = new HashLoginService(); hashLoginSrvc.setName("Test Realm"); createRealm(); - hashLoginSrvc.setConfig("/tmp/realm.properties"); + hashLoginSrvc.setConfig(ResourceFactory.root().newResource("/tmp/realm.properties")); SecurityHandler securityHnd = ctx.getSecurityHandler(); // DefaultAuthenticatorFactory doesn't default to basic auth anymore. - securityHnd.setAuthMethod(Constraint.__BASIC_AUTH); + securityHnd.setAuthenticator(new BasicAuthenticator()); securityHnd.setLoginService(hashLoginSrvc); srv.setHandler(ctx); diff --git a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionServerStart.java b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionServerStart.java index b620085e09e16..a2d0ca6cd39ac 100644 --- a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionServerStart.java +++ b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionServerStart.java @@ -25,9 +25,9 @@ import jakarta.servlet.http.HttpSession; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; +import org.eclipse.jetty.ee11.servlet.ServletHolder; +import org.eclipse.jetty.ee11.webapp.WebAppContext; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.ServletHolder; -import org.eclipse.jetty.webapp.WebAppContext; /** * Server starter for web sessions caching test. diff --git a/modules/web/src/test/webapp2/WEB-INF/web.xml b/modules/web/src/test/webapp2/WEB-INF/web.xml index d51b87d27a621..16e9b4a4a6334 100644 --- a/modules/web/src/test/webapp2/WEB-INF/web.xml +++ b/modules/web/src/test/webapp2/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_0.xsd" + version="6.0"> diff --git a/parent/pom.xml b/parent/pom.xml index 164546afa1d78..5a3e49401f2e5 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -85,8 +85,8 @@ 1.0.0 1.0.6.Final 26.1.0 - 11.0.25 - 5.0.2 + 12.1.10 + 6.1.0 1.37 4.5.2 3.1.15 @@ -107,7 +107,7 @@ 42.7.3 2.0.17 1.1.10.7 - 5.3.39 + 6.2.19 3.5.6 10.0.27 0.8.3 @@ -683,6 +683,18 @@ [3.9.6,) + + + javax.transaction:jta + javax.transaction:javax.transaction-api + jakarta.transaction:jakarta.transaction-api:(,2.0.0) + + + Use jakarta.transaction:jakarta.transaction-api:2.0.1+ only. + Add <exclusions> to the transitive source if this fails. + + +