The Resteasy users guide says
21.4. Using Jackson 2.2.x Inside of JBoss AS7
If you want to use Jackson 2.2.x inside of JBoss AS7 you'll have to create a jboss-deployment-structure.xml file within your WEB-INF directory. By default AS7 includes the Jackson 1.9.x JAX-RS integration, so you'll want to exclude it from your dependencies, and add the jackson2 ones.
<jboss-deployment-structure> <deployment> <exclusions> <module name="org.jboss.resteasy.resteasy-jackson-provider"/> </exclusions> <dependencies> <module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import"/> </dependencies> </deployment> </jboss-deployment-structure>
Besides the fact that we're referring to AS 7 (maybe we should also address JBoss 4.2.3.Final, my favorite), I'm guessing that this step is no longer necessary. Can someone verify that?
And what about
To enable JacksonJsonpInterceptor in WildFly, you need to import annotations fromorg.jboss.resteasy.resteasy-jackson-provider
module using jboss-deployment-structure.xml:<jboss-deployment-structure> <deployment> <dependencies> <module name="org.jboss.resteasy.resteasy-jackson-provider" annotations="true"/> </dependencies> </deployment> </jboss-deployment-structure>
That also seems to be outdated. Thanks.
Hi Alessio, On 09/26/2016 05:45 PM, Alessio Soldano wrote:Il 26/09/2016 22:47, Ron Sigal ha scritto:I see in https://access.redhat.com/articles/2158031 "JBoss Enterprise Application Platform (EAP) 7 Included Modules" that jackson modules are listing as "private" and jackson2 modules are "public". Is that also true for Wildfly 10? I'm not sure how to tell. I see, though, that https://docs.jboss.org/author/display/WFLY10/Implicit+module+dependencies+for+deployments references org.jboss.resteasy.resteasy-jackson-provider. What I'm asking, really, is: Do we need to support jackson?Considering Jackson 2 was released in March 2012, I would say we should start moving away from jackson 1.x... (excluding the module in WildFly? marking it as deprecated?)Ok, so, given that jackson 2 is now the default in both EAP and Wildfly, I think we can remove it from resteasy-jboss-modules-wf-<version>.zip. If we do another 3.0.x release, we could deprecate it there and just remove it altogether from 3.1.0.Final. Any plans for another 3.0.x release?As for the implicit module dependencies, I usually go and check the code; for jaxrs subsystem that's in org.jboss.as.jaxrs.deployment.JaxrsDependencyProcessor (see the addDependency calls in deploy method).Ah, yes. I know about that class. I just never remember where it is. Thanks. ;-)Also, I've been meaning to suggest that we do away with resteasy-jboss-modules-<version>.zip(for AS 7) and rename resteasy-jboss-modules-wf8-<version>.zip to resteasy-jboss-modules-wf-<version>.zip (that is, get rid of the "8" in "wf8").+1, I would have done that in the very next future, so feel free to go ahead on this :-) This said, going back to RESTEASY-1486, please see my first comment there. I believe JacksonJsonpInterceptor / Jackson2JsonpInterceptor is not enabled by default, despite the jackson / jackson2 modules being implicitly added as dependencies to the user deployments [1]. The META-INF/services/javax.ws.rs.ext.Providers in there does not list the jsonp interceptor, so I believe the user needs to explicitly ask for the provider to be installed (in the web.xml or programmatically). Am I wrong?Right (as Katerina says later in this thread). In RESTEASY-1486, though, someone has created a war with resteasy-jackson2-provider-<version>.jar and deployed it to tomcat, and the Jackson2JsonpInterceptor gets installed. I haven't drilled all the way down, but I've replicated the behavior. So I've added a context parameter that has to be set to "true" for Jackson2JsonpInterceptor to append the function call.Cheers Alessio [1] note, the module dependency that's added to the deployment in the code has export=false.-Ron_______________________________________________ resteasy-dev mailing list resteasy-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/resteasy-dev
-- My company's smarter than your company (unless you work for Red Hat)