From 49a27d1b25e8ba79ce5d30aff41b1c1581a2bab8 Mon Sep 17 00:00:00 2001 From: Thomas Hepp Date: Mon, 11 Sep 2023 13:15:21 +0200 Subject: [PATCH] replace BeanManager::createInjectionTarget because it was deprecated in CDI 1.1 and removed in CDI 4.0 (Jakarta EE 10) --- .../main/java/org/apache/struts2/cdi/CdiObjectFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java b/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java index 31a27664b..61632f69f 100644 --- a/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java +++ b/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java @@ -26,6 +26,7 @@ import org.apache.logging.log4j.Logger; import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.inject.spi.BeanManager; import javax.enterprise.inject.spi.InjectionTarget; +import javax.enterprise.inject.spi.InjectionTargetFactory; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; @@ -173,7 +174,9 @@ public class CdiObjectFactory extends ObjectFactory { InjectionTarget result; result = injectionTargetCache.get(clazz); if (result == null) { - result = beanManager.createInjectionTarget(beanManager.createAnnotatedType(clazz)); + final InjectionTargetFactory injectionTargetFactory = + beanManager.getInjectionTargetFactory(beanManager.createAnnotatedType(clazz)); + result = injectionTargetFactory.createInjectionTarget(null); injectionTargetCache.put(clazz, result); }