You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2024/08/11 16:58:46 UTC

(cxf) 04/05: CXF-9041: CXF will only accept org.glassfish.jaxb.runtime.v2.ContextFactory (#1989)

This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 4.0.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 74424a9db1cb4582e975b6f0b2af99dc1aa4325d
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Sun Aug 11 12:22:05 2024 -0400

    CXF-9041: CXF will only accept org.glassfish.jaxb.runtime.v2.ContextFactory (#1989)
    
    * CXF-9041: CXF will only accept org.glassfish.jaxb.runtime.v2.ContextFactory
    
    * Address code review comment: use JAXBContext.newInstance instead of duplicating the JAXB discovery mechanism
    
    (cherry picked from commit 324c689a729f0f1e964b3dac8ae019160f8bb2ca)
---
 core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java b/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
index 448e7c9539..1aa817177e 100644
--- a/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
+++ b/core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java
@@ -1176,18 +1176,15 @@ public final class JAXBUtils {
         }
         return null;
     }
+    
+    @SuppressWarnings({ "deprecation", "removal" })
     public static JAXBContext createContext(final Set<Class<?>> classes,
                                             final Map<String, Object> map) throws JAXBException {
         JAXBContext ctx = null;
         try {
             ctx = AccessController.doPrivileged(new PrivilegedExceptionAction<JAXBContext>() {
                 public JAXBContext run() throws Exception {
-                    //This is a workaround for CXF-8675
-                    Class<?> factoryClass = ClassLoaderUtils.loadClass("org.glassfish.jaxb.runtime.v2.ContextFactory",
-                            JAXBContextCache.class);
-                    Method m = factoryClass.getMethod("createContext", Class[].class, Map.class);
-                    Object context = m.invoke(null, classes.toArray(new Class<?>[0]), map);
-                    return (JAXBContext) context;
+                    return JAXBContext.newInstance(classes.toArray(new Class<?>[0]), map);
                 }
             });
         } catch (PrivilegedActionException e2) {