users@jersey.java.net

Re: [Jersey] Filter Spring beans by package before registering as resource

From: Frédéric Bouquet <bouquet.frederic_at_gmail.com>
Date: Mon, 26 Jul 2010 16:31:19 +0200

> Hi,
>
> I'm using Jersey and basically what I want to accomplish is having
> multiple servlet mappings deployed within the same Spring context with
> each containing a different set of Spring beans.
>
> Currently each SpringServlet will register every Spring annotated root
> resource. I would like to have a way of specifying what package should
> belong to each servlet, i.e. like this (but it scan the Spring beans
> instead of scanning the classpath)
>
> <servlet>
>   <servlet-name>jersey-one</servlet-name>
>   <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
>   <init-param>
>      <param-name>com.sun.ws.rest.config.property.packages</param-name>
>      <param-value>my.package.for.jersey.one</param-value>
>   </init-param>
> </servlet>
> <servlet>
>   <servlet-name>jersey-two</servlet-name>
>   <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
>   <init-param>
>      <param-name>com.sun.ws.rest.config.property.packages</param-name>
>      <param-value>my.package.for.jersey.two</param-value>
>   </init-param>
> </servlet>
>
> Any hints on how I can accomplish this?
>
> Thanks in advance,
>
> Regards,
> John

Hi,

I don't know spring but maybe something like this to declare the "set"
of resources to share :

<servlet>
  <servlet-name>jersey-set</servlet-name>
  <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
  <init-param>
     <param-name>com.sun.ws.rest.config.property.packages</param-name>
     <param-value>my.package.for.jersey</param-value>
  </init-param>
</servlet>

and then to map the servlets to resources :

<servlet-mapping>
    <servlet-name>jersey-set</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>


Does it work ?


-- 
Frédéric Bouquet
http://www.espacedefouille.org/