-
1. Re: infinitive redirect loop
csenes Sep 27, 2010 8:25 AM (in response to csenes)I guess I found error , the filter I created cause it,but this filter is necessary for me,How can I fix it without delete this filter
package org.domain.kaliteyonsist.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.hibernate.SessionFactory; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Scope; import org.jboss.seam.log.Log; import org.jboss.seam.persistence.HibernateSessionFactory; @Scope(ScopeType.APPLICATION) public class HibernateSessionRequestFilter implements Filter{ @In(create=true) private HibernateSessionFactory hib = new HibernateSessionFactory(); @In(create=true) private SessionFactory sf; @In private static Log log; public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException{ try { sf.getCurrentSession().beginTransaction(); chain.doFilter(request,response); sf.getCurrentSession().getTransaction().commit(); } catch (Throwable ex) { // TODO: handle exception try { if(sf.getCurrentSession().getTransaction().isActive()) sf.getCurrentSession().getTransaction().rollback(); } catch (Exception e) { // TODO: handle exception log.error("Geri alim başarisiz"+e.getLocalizedMessage()); } throw new ServletException(ex); } } public void init(FilterConfig filterConfig) throws ServletException { try { sf = hib.getSessionFactory(); } catch (Exception e) { // TODO: handle exception log.error("hata burda cıkıyor" + e.getMessage()); } } @Override public void destroy() { // TODO Auto-generated method stub } }
-
2. Re: infinitive redirect loop
cosmo Sep 28, 2010 9:38 AM (in response to csenes)Are injections actually working inside that JSF filter?
If you find that to be the origin of errors you could try to use a seam servlet filter instead of a JSF one(extending from AbstractFilter rather than implementing Filter).
-
3. Re: infinitive redirect loop
njrich28 Sep 28, 2010 2:02 PM (in response to csenes)I agree with Aldo here - I can't see how the injections will actually work here without using the Seam @Filter annotation to install the filter (rather than defining it in web.xml as you appear to have done here). Also be careful with injectors in application-scoped components - application-scoped components aren't synchronized by Seam (it would be too expensive) so there is potential for concurrency issues.
On another issue, why do you require this filter? Surely it would be better to use Seam's built-in transaction control? You'd have much finer control over transaction demarcation than using a filter and is one Seam's major selling points.
-
4. Re: infinitive redirect loop
csenes Oct 1, 2010 4:58 AM (in response to csenes)thanks your reply , I use this filter to prevent LazyİnitializationException,