users@jersey.java.net

Re: [Jersey] using multiple filters

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Sun, 31 May 2009 11:17:00 -0700

Hi Jon,

On May 31, 2009, at 11:05 AM, Jon Stritar wrote:

> How do you initialize the jersey servlet with multiple
> ContainerRequestFilters or ContainerResponseFilters? I've tried
> passing
> lists inside the init-param, but no luck. I'm guessing my syntax is
> wrong:
>
> <init-param>
> <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</
> param-name>
> <param-value>
> <list>
> <value>com.sun.jersey.api.container.filter.LoggingFilter</value>
> <value>com.test.TestFilter</value>
> </list>
> </param-value>
> </init-param>
>
>
> Each works individually, but when together Jersey interprets the names
> incorrectly:
>
> SEVERE: The class com.sun.jersey.api.container.filter.LoggingFilter
> com.test.TestFilter could not be found. This class is ignored.
>

See here:

https://jersey.dev.java.net/nonav/apidocs/1.1.0-ea/jersey/com/sun/jersey/api/core/ResourceConfig.html
#PROPERTY_CONTAINER_REQUEST_FILTERS

You need to use a ";" separate list of fully qualified class names:

<init-param>
      <param-
name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
      <param-
value
>
com.sun.jersey.api.container.filter.LoggingFilter;com.test.TestFilter</
param-value>
</init-param>

Paul.