Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-1408

Missing module-dependency breacks reconfiguring jackson ObjectMapper with using resteasy-jackson-provider

    XMLWordPrintable

Details

    • Hide

      reconfigure Jackson Object-Mapper in resteasy to use annotations of jackson and jaxb (a standard jackson feature!)

      @Provider
      public class CustomJacksonContextResolver implements ContextResolver<ObjectMapper> {
      private ObjectMapper objectMapper;

      public MolsServerJsonWithJacksonContextResolver() throws Exception

      { this.objectMapper = new ObjectMapper(); AnnotationIntrospector primary = new JacksonAnnotationIntrospector(); AnnotationIntrospector secondary = new JaxbAnnotationIntrospector(); AnnotationIntrospector pair = new AnnotationIntrospector.Pair(primary, secondary); this.objectMapper.getDeserializationConfig().setAnnotationIntrospector(pair); this.objectMapper.getSerializationConfig().setAnnotationIntrospector(pair); }

      }

      Show
      reconfigure Jackson Object-Mapper in resteasy to use annotations of jackson and jaxb (a standard jackson feature!) @Provider public class CustomJacksonContextResolver implements ContextResolver<ObjectMapper> { private ObjectMapper objectMapper; public MolsServerJsonWithJacksonContextResolver() throws Exception { this.objectMapper = new ObjectMapper(); AnnotationIntrospector primary = new JacksonAnnotationIntrospector(); AnnotationIntrospector secondary = new JaxbAnnotationIntrospector(); AnnotationIntrospector pair = new AnnotationIntrospector.Pair(primary, secondary); this.objectMapper.getDeserializationConfig().setAnnotationIntrospector(pair); this.objectMapper.getSerializationConfig().setAnnotationIntrospector(pair); } }

    Description

      When using resteasy with resteasy-jackson-provider, classloading from jackson-xc to jackson-core-asl is not working because the module-dependency is missing.

      Stacktrace:
      17:12:24,479 WARN [org.jboss.modules] (MSC service thread 1-8) Failed to define class org.codehaus.jackson.xc.JaxbAnnotationIntrospector in Module "org.codehaus.jackson.jackson-xc:main" from local module loader @4ce66f56 (roots: OBFUSCATED\jboss-as-7.0.0.Final\modules): java.lang.LinkageError: Failed
      to link org/codehaus/jackson/xc/JaxbAnnotationIntrospector (Module "org.codehaus.jackson.jackson-xc:main" from local module loader @4ce66f56 (roots:
      OBFUSCATED\jboss-as-7.0.0.Final\modules))
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401)
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261)
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76)
      at org.jboss.modules.Module.loadModuleClass(Module.java:588)
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:183)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:101)
      at java.lang.Class.getDeclaredFields0(Native Method) [:1.6.0_24]
      at java.lang.Class.privateGetDeclaredFields(Class.java:2291) [:1.6.0_24]
      at java.lang.Class.getDeclaredFields(Class.java:1743) [:1.6.0_24]
      at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:116) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:112) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:67) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.util.reflection.SecureReflections.getDeclaredFields(SecureReflections.java:111) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:163) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:124) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:54) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:42) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206) [guava-r07.jar:]
      at com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:100) [guava-r07.jar:]
      at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:515) [guava-r07.jar:]
      at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:183) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:96) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:133) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:191) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:368) [weld-core-1.1.2.AS7.jar:2011-07-06 12:26]
      at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:81) [jboss-as-weld-7.0.0.Final.jar:7.0.0.Final]
      at org.jboss.as.weld.services.WeldService.start(WeldService.java:89) [jboss-as-weld-7.0.0.Final.jar:7.0.0.Final]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
      at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_24]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_24]
      at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
      Caused by: java.lang.NoClassDefFoundError: org/codehaus/jackson/Versioned
      at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_24]
      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) [:1.6.0_24]
      at java.lang.ClassLoader.defineClass(ClassLoader.java:616) [:1.6.0_24]
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [:1.6.0_24]
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397)
      ... 35 more
      Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.Versioned from [Module "org.codehaus.jackson.jackson-xc:main" from local module loader @4ce66f56 (roots: OBFUSCATED\jboss-as-7.0.0.Final\modules)]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:101)
      ... 40 more

      FIX [module org.codehaus.jackson.jackson-xc]
      <module xmlns="urn:jboss:module:1.0" name="org.codehaus.jackson.jackson-xc">
      <resources>
      <resource-root path="jackson-xc-1.6.3.jar"/>
      <!-- Insert resources here -->
      </resources>

      <dependencies>
      <module name="javax.api" />
      <module name="javax.activation.api" />
      <module name="javax.xml.bind.api" />
      <module name="org.codehaus.jackson.jackson-mapper-asl" />
      <module name="org.codehaus.jackson.jackson-core-asl" />
      </dependencies>
      </module>

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              SebastianJancke Sebastian Jancke (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: