Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

15.18. RESTEasy/Spring Integration

15.18.1. RESTEasy/Spring integration

Prerequisites

  • Your application must have an existing JAX-WS service and client configuration.

Procedure 15.9. Enable the RESTEasy/Spring integration functionality

  • RESTEasy integrates with Spring 3.0.x.
    Maven users must use the resteasy-spring artifact. Alternatively, the jar is available as a module in JBoss EAP 6.
    RESTEasy comes with its own Spring ContextLoaderListener that registers a RESTEasy specific BeanPostProcessor that processes JAX-RS annotations when a bean is created by a BeanFactory.This means that RESTEasy will automatically scan for @Provider and JAX-RS resource annotations on your bean class and register them as JAX-RS resources.

    Example 15.27. Edit web.xml

    Add the following to your web.xml file to enable the RESTEasy/Spring integration functionality:
    <web-app>
    	<display-name>
    			Archetype Created Web Application
    	</display-name>
    	<listener>
       	<listener-class>
       		org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
      	</listener-class>
    	</listener>
    
    	<listener>
    	  <listener-class>
      	 		org.jboss.resteasy.plugins.spring.SpringContextLoaderListener
       	</listener-class>
    	</listener>
    
    	<servlet>
      	<servlet-name>Resteasy
      	</servlet-name>
      		<servlet-class>
      			org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
      		</servlet-class>
    	</servlet>
    
    	<servlet-mapping>
      	<servlet-name>
      		Resteasy
      	</servlet-name>
      	<url-pattern>/*</url-pattern>
    	</servlet-mapping>
    </web-app>
    
    
    The SpringContextLoaderListener must be declared after ResteasyBootstrap as it uses ServletContext attributes initialized by it.
For more information regarding RestEasy and Spring integration, see http://docs.jboss.org/resteasy/docs/2.3.7.Final/userguide/html_single/