Could not initialize proxy

Pessoal,
Estou com um problema que nao consigo resolver, vou tentar explicar:

Na minha máquina local roda sem problemas, quando vai para produção funciona, mas depois de um certo tempo começa a dar esse erro:could not initialize proxy no session

esse erro começou pq tinha um processo que o usuario clicava em um botão que demorava uns 5 minutos pra rodar… e o sistema ficava travado … até o fim do processo… então fizemos uma thread para fazer esse processo e deixar o sistema rodando para o usuario!!!
depois que fizemos a thread local mesmo … começou a dar esse erro … ai mudei uma classe que estava mapeada com um atributo “fetch = FetchType.LAZY”(estava dando erro neste atributo)… mudei para “fetch = FetchType.EAGER”… ai começou a funcionar localmente…

mas na hora que sobe para produção … depois de um certo tempo começa a dar o mesmo erro q dava antes “could not initialize proxy no session”

alguem sabe se tem um limite de threads que pode rodar?? ou se tem alguma configuração no web.xml… que tenho q fazer???

grato

Pensei num negócio aqui mas é um chute…

Será que num desses processos que ficam rodando aí… nao deu timeout na conexao com o banco??

cara eu acho q não … pq o erro fala que a sessão está fechada
erro could not initialize proxy - the owning Session was closed"… parece que chega uma hora a conexão fecha … algo assim
uso spring e hibernate !!

minha thred nao estava como “synchronized”, coloquei agora mas não sei se vai funcionar… tem umas 6 pessoas acessando este processo simuntaneamente!!

Pode ter dado timeout na session entao?!

Essa classe tem alguma referencia recursiva??

Tenta trocar ao invés de usar FETCH EAGER… volta pra FETCH LAZY… e na sua query faz
left outer join fetch classeA.classeB

Assim o hibernate vai trazer tudo na mesma query… e nao vai precisar fazer o fetch depois… vai inclusive melhorar a performance

Como vc está usando a persistência? pelo spring? fecha as sessions no braço? e o controle de transação?..

Fabio quem controla as sessões é o Spring… mas receio que o erro está nesta configuração… não sei bem como funciona!!

rogelgarcia, está classe nao tem referencia recursiva!! então estava td como lazy… mas depois q foi feita a thread começou a dar pau… fui debugando e dava pau neste atributo q estava como lazy… o problema aconteceu por causa da thread

Onde vc cria a Thread? Na view ou no server?
A view é em swing?

A thread é criada no server mesmo… não é na visão…
mas em todo caso eu uso jsf

vlw

Vc usa hibernate, certo?
Usa o HibernateTransactionManager?

Se não me engano ele é thread-local, não sei como ele se comporta quando vc cria threads a partir da thread original.
Provavelmente quando a thread do teu request retorna pra view o spring tenta finalizar a session, mesmo que a outra thread esteja ativa.

isso usa o HibernateTransactionManager!!

vc tem alguma sugestão ??