]
Stuart Douglas updated AS7-1406:
--------------------------------
Fix Version/s: 7.0.1.Final
Classloading / module issue with using resteasy-jackson-provider and
joda classes
---------------------------------------------------------------------------------
Key: AS7-1406
URL:
https://issues.jboss.org/browse/AS7-1406
Project: Application Server 7
Issue Type: Bug
Components: Modules
Affects Versions: 7.0.0.Final
Reporter: Sebastian Jancke
Assignee: Stuart Douglas
Labels: classloader, jodatime, resteasy
Fix For: 7.0.1.Final
Classes of org.joda.time cannot be deserialized from JSON with the standard, built-in
JodaDeserializer of org.codehaus.jackson, used by resteasy in the
resteasy-jackson-provider.
Cause: jackson-mapper-asl (and possibly others) have no module-dependency to a (missing)
module org.joda.time and thus cannot load the classes.
Stacktrace:
lang.ClassNotFoundException: org.joda.time.ReadableInstant from [Module
"org.codehaus.jackson.jackson-mapper-asl:main" from local module loader @4ce66
f56 (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)
at
org.codehaus.jackson.map.ext.JodaDeserializers.provide(JodaDeserializers.java:32)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.ext.OptionalHandlerFactory.findDeserializer(OptionalHandlerFactory.java:118)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.BasicDeserializerFactory.createBeanDeserializer(BasicDeserializerFactory.java:358)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:57)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createDeserializer(StdDeserializerProvider.java:342)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCache2(StdDeserializerProvider.java:264)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCacheValueDeserializer(StdDeserializerProvider.java:244)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider.findValueDeserializer(StdDeserializerProvider.java:111)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializer.findDeserializer(StdDeserializer.java:482)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.BeanDeserializer.resolve(BeanDeserializer.java:271)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._resolveDeserializer(StdDeserializerProvider.java:348)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCache2(StdDeserializerProvider.java:303)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCacheValueDeserializer(StdDeserializerProvider.java:244)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.StdDeserializerProvider.findValueDeserializer(StdDeserializerProvider.java:111)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:77)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:65)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:81)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:147)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:237)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:496)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:350)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:1961)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:889)
[jackson-mapper-asl-1.6.3.jar:1.6.3]
at
org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:410)
at
org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:105)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:61)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:61)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:168)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:114)
[resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
[resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)
[resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)
[resteasy-jaxrs-2.2.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
[resteasy-jaxrs-2.2.1.GA.jar:]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
[resteasy-jaxrs-2.2.1.GA.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
[weld-core-1.1.2.AS7.jar:2011-07-06 12
:26]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:480)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)
[jboss-as-web-7.0.0.Final.jar:7.0.0.Final]
at
org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49)
[jboss-as-jpa-7.0.0.Final.jar:7.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
[jbossweb-7.0.0.CR4.jar:7.0.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: