Problema com transaction do Spring

Agradeço se alguem conseguir me ajudar.
Tenho uma aplicação relativamente grande de medicina funcionando bem com Spring 2.5, jpa, hibernate 3, jsf 1.2, richfaces 3.3 e servidor glassfish
Acontece que resolvi trabalhar nela melhorando performace, usabilidade e outras implementações. Resolvi tambem fazer um upgrade dos framewoks mudando pra Spring 3, jpa 2, jsf 2 com primeface e icefaces, ate aqui não tive problema de confrito ou cousa parecida a sistema faz o deploy numa boa. SO QUE: quando tento logar na aplicação fazendo o primeiro acesso a banco de dados para recuperar login/senha obtenho o seguinte erro:
“Could not open JPA EntityManager for transaction” / " Exception Description: Cannot use an EntityTransaction while using JTA."
O que é mais intrigante pra mim que isso so acontece com a aplicação rodando (WEB). Nada disso ocorre quanto faço o messo procedimento usando Junit ou ate mesmo rodando de uma Classe Principal.

Desde ja agradeço quem puder me ajudar.

segue os meus arquivos de configuraão e fragmento das classes envolvidas:

WEB.xml

<?xml version="1.0" encoding="UTF-8"?> FilterAutenticacao medicina.controle.FilterAutenticacao FilterAutenticacao /pages/telas/* openEntityManager org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath*:applicationContext.xml com.icesoft.faces.synchronousUpdate false com.icesoft.faces.doJSFStateManagement true org.jboss.seam.core.init.debug true com.icesoft.faces.uploadDirectory / com.icesoft.faces.standardRequestScope true javax.faces.PROJECT_STAGE Development javax.faces.STATE_SAVING_METHOD client facelets.DEVELOPMENT true javax.faces.DEFAULT_SUFFIX .xhtml Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf 30 index.jsp

CONFIGRAÇÂO DO SPRING

<?xml version="1.0" encoding="UTF-8"?>

<tx:annotation-driven transaction-manager=“transactionManager” />

Persistence.xml

<?xml version="1.0" encoding="UTF-8"?> org.eclipse.persistence.jpa.PersistenceProvider medicina.persistencia.Usuario medicina.persistencia.RazaoPessoa medicina.persistencia.Empresa medicina.persistencia.ItemMenu medicina.persistencia.LogAcesso medicina.persistencia.LogOperacao medicina.persistencia.Menu medicina.persistencia.Perfil medicina.persistencia.Permissao medicina.persistencia.Profissional medicina.persistencia.UsuariosAcessaEmpresas medicina.persistencia.Clinica medicina.persistencia.OpcaoItemMenu true

CARREGA AS CONFIGURAÇÕES DO SPRING

public class SpringBeans {

private static ApplicationContext springContext;

public static synchronized ApplicationContext getSpringContext(){
if (springContext == null){
springContext = new ClassPathXmlApplicationContext("/medicina/recursos/applicationContext.xml");
}
return springContext;
}

public static UsuarioRepository getUsuarioRepository() {
return ((UsuarioRepository) springContext.getBean(“usuario”));
}

public static MenuRepository getMenuRepository() {
return ((MenuRepository) springContext.getBean(“menu”));
}

public static ItemMenuRepository getItemMenuRepository() {
return ((ItemMenuRepository) springContext.getBean(“itemMenu”));
}

public static OpcaoItemMenuRepository getOpcaoItemMenuRepository() {
return ((OpcaoItemMenuRepository) springContext.getBean(“opcaoItemMenu”));
}

public static PerfilRepository getPerfilRepository() {
return ((PerfilRepository) springContext.getBean(“perfil”));
}

}

DAO GENERICO

@Transactional(readOnly = true)
@Repository()
public class GenericDao<PersistentObject, IDType extends Serializable> implements Dao<PersistentObject, IDType> {

private EntityManager em;

//Injeta EntityManager atravez do Spring
@PersistenceContext()
public void setEntityManager(EntityManager em) {
this.em = em;
}

//Obtem os EntityManager
public EntityManager getEntityManager() {
return em;
}

@Override
public PersistentObject buscarPorNamedQuery(String queryNome, Map<String, Object> params) {
Query query = em.createNamedQuery(queryNome);
for (String key : params.keySet()) {
query.setParameter(key, params.get(key));
}
return (PersistentObject) query.getSingleResult();
}

@Override
public PersistentObject buscarPorId(Class classe, IDType id) {
return em.find(classe, id);
}

@Override
public void close() {
{
em.close();
}

}

}

BEAN GERENCIADO DE LOGIN

@ManagedBean(name=“login”)
@RequestScoped()
public class MBLogin {

//@ManagedProperty(value="#{usuario}")
private Usuario usuario;
private int withDivEsquerdo = 500;
private int withDivDireito = 500;
private String navegacao = “/pages/telas/mso”;//?faces-redirect=true

public MBLogin(){
setUsuario(new Usuario());
}

public boolean validacao() {

//implementar
boolean valido = true;
return valido;
}

public String logar(){

SpringBeans.getSpringContext();

if (validacao() == false) {
return “login”;

} else {
try {
setUsuario(SpringBeans.getUsuarioRepository().buscarLoginSenha(getUsuario().getLogin(), Criptografia.criptografar(getUsuario().getSenha()),false,true));
//Coloca o Usuario na sessão
HttpServletRequest requestUser = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
requestUser.getSession().setAttribute(“userLogado”, getUsuario());

} catch (Exception e) {
return “login”;
}

return “/pages/telas/mso”;
}

}

Java Básico » Problemas com JSP e JSF » Ir para mensagem *****
Ola pessoal, sou novo aqui no forum e estou dando os primeiros passos no java e gostaria se possivel alguem me ajudasse a resolver um probleminha q estou tendo. Estou desenvolvendo uma aplicação web eclipse usanda: MYSQL, Heibernate e JSF. Meu grande problema são as JSPs com o JSF, Logo de cara dou um include na minha pagina principal e dai endiante tudo de errado acontece, ja tentei de tudo e não sei como resolver. Segue o erro e os fontes :

http://localhost:8080/catalogo/index.jsp

Errro******

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:4

1: <%@page pageEncoding=“Cp1252” contentType=“text/html; charset=Cp1252” %>
2:
3:
4: <jsp:include page=“menu.jsf” />
5:
6:
7:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

org.apache.jasper.JasperException: Exception in JSP: /menu.jsp:11

8:
9:
10:
11: <f:view>
12: <h:form>
13: <h:commandLink value=“Listar Revistas Cadastradas”
14: action=“mostrarrevistas”>

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:965)
org.apache.jsp.index_jsp._jspService(index_jsp.java:46)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: Cannot find FacesContext
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.menu_jsp._jspService(menu_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:965)
org.apache.jsp.index_jsp._jspService(index_jsp.java:46)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.jsp.JspException: Cannot find FacesContext
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:405)
com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:105)
org.apache.jsp.menu_jsp._jspx_meth_f_005fview_005f0(menu_jsp.java:95)
org.apache.jsp.menu_jsp._jspService(menu_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:965)
org.apache.jsp.index_jsp._jspService(index_jsp.java:46)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.

WEB.XML******

<?xml version="1.0" encoding="UTF-8"?>


Catalogo

com.sun.faces.verifyObjects
false


com.sun.faces.validateXml
true


javax.faces.STATE_SAVING_METHOD
client


Faces Servlet
javax.faces.webapp.FacesServlet
1


Faces Servlet
/faces/


Faces Servlet
.jsf


30


BASIC

faces-config.xml**

<?xml version="1.0" encoding="UTF-8"?> revistaControle br.com.catalogo.controle.RevistaControle session mostrarrevistas /pages/assinaturas/todasrevistas.jsp

**index.jsp

<%@page pageEncoding=“Cp1252” contentType=“text/html; charset=Cp1252” %>

Catálogo de Revistas

******menu.jsp

<%@ page contentType=“text/html; charset=Cp1252” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>