Package com.google.inject.persist
Class PersistFilter
- java.lang.Object
-
- com.google.inject.persist.PersistFilter
-
- All Implemented Interfaces:
jakarta.servlet.Filter
public final class PersistFilter extends Object implements jakarta.servlet.Filter
Apply this filter to enable the HTTP Request unit of work and to have guice-persist manage the lifecycle of active units of work. The filter automatically starts and stops the relevantPersistService
uponFilter.init(jakarta.servlet.FilterConfig)
andFilter.destroy()
respectively.To be able to use the open session-in-view pattern (i.e. work per request), register this filter once in your Guice
ServletModule
. It is important that you register this filter before any other filter.For multiple providers, you should register this filter once per provider, inside a private module for each persist module installed (this must be the same private module where the specific persist module is itself installed).
Example configuration:
public class MyModule extends ServletModule { public void configureServlets() { filter("/*").through(PersistFilter.class); serve("/index.html").with(MyHtmlServlet.class); // Etc. } }
This filter is thread safe and allows you to create injectors concurrently and deploy multiple guice-persist modules within the same injector, or even multiple injectors with persist modules withing the same JVM or web app.
This filter requires the Guice Servlet extension.
-
-
Constructor Summary
Constructors Constructor Description PersistFilter(UnitOfWork unitOfWork, PersistService persistService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
void
doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain)
void
init(jakarta.servlet.FilterConfig filterConfig)
-
-
-
Constructor Detail
-
PersistFilter
@Inject public PersistFilter(UnitOfWork unitOfWork, PersistService persistService)
-
-
Method Detail
-
init
public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException
- Specified by:
init
in interfacejakarta.servlet.Filter
- Throws:
jakarta.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroy
in interfacejakarta.servlet.Filter
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException
- Specified by:
doFilter
in interfacejakarta.servlet.Filter
- Throws:
IOException
jakarta.servlet.ServletException
-
-