[resteasy-dev] RESTEASY-1486 and jackson

Ron Sigal rsigal at redhat.com
Tue Sep 27 13:17:07 EDT 2016


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 from |org.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.

On 09/27/2016 12:10 PM, Ron Sigal wrote:
> 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/resteasy-dev

-- 
My company's smarter than your company (unless you work for Red Hat)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/resteasy-dev/attachments/20160927/88353998/attachment.html 


More information about the resteasy-dev mailing list