JSF e OpenSessionInView - Problemas [RESOLVIDO]

Olá!

estou tendo problemas com OpenSessionInView e o JSF.

mesmo declarando o filtro do OpenSessionInView continua-se disparando a Lazy Initialization Exception

  • nos managedBeans declarados com o escopo request, OpenSessionInView funciona como esperado.
  • já nos manageds declarados com o escopo session, ai sim são sempre disparadas as Lazy Initialization Exception infomando que a sessao ja foi fechada.

a priori até q consegui resolver este problema informando ao filtro do OSIV, o parametro: singleSession=False
conforme declaracao do filtro abaixo:

<filter>
		<filter-name>hibernateFilter</filter-name>
		<filter-class>
			br.com.id5.legba.core.dao.openSessionInView.FlushingSpringSessionInViewFilter
		</filter-class>
		<init-param>
			<param-name>singleSession</param-name>
			<param-value>false</param-value>
		</init-param>
	</filter>

no entanto, após realizar 2 consultas simples a aplicacao para!

alguem sabe como fazer pro OSIV funcionar em managed com escopo: session?

Att. Dirceu Sobrinhi

Estando singleSession=false, a aplicacao trava, qdo paro o servidor eu recebo a seguinte msg:

INFO: Waiting for X instance(s) to be deallocated

Att. Dirceu Sobrinho

Nos managedBeans com escopo session, o problema foi resolvido alterando a navagecao do faces-config, da seguinte forma:

antes

<navigation-case>
   <from-outcome>irResultMoto</from-outcome>
   <to-view-id>/modulos/classificados/pages/busca/resultMoto.xhtml</to-view-id>
   <redirect/>
  </navigation-case>

removi a tag redirect é o OpenViewInSession funcionou normalmente nos manageds de escopo de sessao.

nos casos em que realmente o foi necessario, inicializei os relacionamento utilizando Hibernate.initialize(Object)

Pronto agora todos os relacionamento de minha aplicação estão com Fetch.LAZY

Att. Dirceu

Por que você está utilizando a tag nas tuas regras de navegação?

Evitar resubmissão do form no refresh da página?

[quote=rponte]Por que você está utilizando a tag nas tuas regras de navegação?

Evitar resubmissão do form no refresh da página?[/quote]

utilizo pq ele atualiza a url no browser, se eu nao coloco o , o Acegi-Spring deixa passar um usuario sem permissao de acesso a uma determinada página, ja como redirect ele bloqueia o acesso!

mas aí o problema não é do Acegi e sim da BIOS (…) tem que fazer a declaração certa das URLs para esse problema não acontecer

Como o Leozin comentou, você precisa configurar teu filtro corretamente no web.xml