I have a Spring application that can use two different persistence API:
When using Spring Data JPA, I
Ok, I sorted this out. My new "web.xml" uses DelegatingFilterProxy instead of org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter:
toggleOpenEntityManagerInViewFilter
org.springframework.web.filter.DelegatingFilterProxy
toggleOpenEntityManagerInViewFilter
/*
Then in my ApplicationContext, I create a bean named "toggleOpenEntityManagerInViewFilter" (which is the filter-name value). The trick is to instanciate a different class depending on the Spring profile:
The my.project.dal.utils.spring.DoNothingFilter is defined as:
public class DoNothingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
This seems to work.