Erro em aplicação com JSF 2.0 + Spring 3 + Hibernate + JBoss 6 Final

14 respostas
donny

Tenho uma aplicação com JSF 2.0 + PrimeFaces + Spring 3 + Hibernate. O JBoss 6 final faz deploy da aplicação se erros, porém quando tento efetuar login na página da aplicação ocorre o erro abaixo: No TomCat 7 a aplicação roda sem problemas. Eu tirei todos os JAR do Hibernate do WAR antes de fazer deploy. As demais bibliotecas estão no WAR.

SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-127.0.0.1-8080-5) java.lang.LinkageError: loader constraint violation: when resolving interface method ?org.hibernate.engine.SessionFactoryImplementor.getTransactionManager()Ljavax/transaction/TransactionManager;? the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, org/springframework/orm/hibernate3/SessionFactoryUtils, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for resolved class, org/hibernate/engine/SessionFactoryImplementor, have different Class objects for the type javax/transaction/TransactionManager used in the signature: javax.faces.el.EvaluationException: java.lang.LinkageError: loader constraint violation: when resolving interface method ?org.hibernate.engine.SessionFactoryImplementor.getTransactionManager()Ljavax/transaction/TransactionManager;? the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, org/springframework/orm/hibernate3/SessionFactoryUtils, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for resolved class, org/hibernate/engine/SessionFactoryImplementor, have different Class objects for the type javax/transaction/TransactionManager used in the signature
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [:2.0.2-FCS]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [:2.0.2-FCS]
at javax.faces.component.UICommand.broadcast(UICommand.java:315) [:2.0.2-FCS]
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775) [:2.0.2-FCS]
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267) [:2.0.2-FCS]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) [:2.0.2-FCS]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [:2.0.2-FCS]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [:2.0.2-FCS]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) [:2.0.2-FCS]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_05]
Caused by: java.lang.LinkageError: loader constraint violation: when resolving interface method ?org.hibernate.engine.SessionFactoryImplementor.getTransactionManager()Ljavax/transaction/TransactionManager;? the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, org/springframework/orm/hibernate3/SessionFactoryUtils, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for resolved class, org/hibernate/engine/SessionFactoryImplementor, have different Class objects for the type javax/transaction/TransactionManager used in the signature
at org.springframework.orm.hibernate3.SessionFactoryUtils.getJtaTransactionManager(SessionFactoryUtils.java:172) [:3.1.0.M1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.registerJtaSynchronization(SessionFactoryUtils.java:443) [:3.1.0.M1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:344) [:3.1.0.M1]
at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:233) [:3.1.0.M1]
at org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457) [:3.1.0.M1]
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:393) [:3.1.0.M1]
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) [:3.1.0.M1]
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512) [:3.1.0.M1]
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506) [:3.1.0.M1]
at br.com.rkam.dao.BaseGenericDAO.buscar(BaseGenericDAO.java:29) [:]
at br.com.rkam.web.util.ControleMB.logar(ControleMB.java:64) [:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_05]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_05]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_05]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_05]
at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.0.0.Final]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:6.0.0.Final]
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98) [:2.0.2-FCS]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [:2.0.2-FCS]
? 30 more

Se trata de conflito de bibliotecas, pelo que entendi. Alguém saberia me informar que bibliotecas devo usar.

Att,
Donizete Waterkemper

14 Respostas

donny

As bibliotecas que estou usando no projeto são:
Abaixo segue todas as bibliotecas que uso na aplicação. Rodo o projeto no TomCat7 com todas essas bibliotecas sem problemas:
antlr-2.7.6.jar
aopalliance.jar
commons-beanutils-1.8.0.jar
commons-collections-3.1.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-core.jar
hibernate-entitymanager.jar
hibernate-tools.jar
hibernate3.jar
javassist-3.9.0.GA.jar
3 jcommon-1.0.16.jar
jfreechart-1.0.13.jar
jsf-api.jar
jsf-impl.jar
jstl.jar
jta-1.1.jar
mysql-connector-java-5.1.6-bin.jar
ojdbc14.jar
org.springframework.aop-3.0.5.RELEASE.jar
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.aspects-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.context.support-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
org.springframework.instrument-3.0.5.RELEASE.jar
org.springframework.instrument.tomcat-3.0.5.RELEASE.jar
org.springframework.jdbc-3.0.5.RELEASE.jar
org.springframework.jms-3.0.5.RELEASE.jar
org.springframework.orm-3.0.5.RELEASE.jar
org.springframework.oxm-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar
org.springframework.web-3.0.5.RELEASE.jar
primefaces-2.2.1.jar
slf4j-api-1.5.2.jar
slf4j-nop-1.5.2.jar

Att,
Donizete Waterkemper

K

Donizete,

a classe TransactionManager está presenta no jta-1.1.jar, se vc usa o eclipse um truque rápido seria fazer um crtl+shift+T e digitar a classe TransactionManager.

Ela vai aparecer em todas os jar’s pertencentes na sua app e no server caso ja exista algum incorporado. Dá uma olhada e ve se esse mesmo jar se encontra na pasta LIB do Jboss em uma outra versao.

[]'s

donny

Boa tarde kubanacan,

O JBoss 6 final que estou usando não encontrei o jta-1.1.jar nas pasta [JBOSS_HOME]\lib e na pasta [JBOSS_HOME]\common\lib. Então adicionei o jta-1.1.jar em common\lib.

Agora o erro é outro:

javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: br.com.empresa.modelo.CategoriaComercial; nested exception is org.hibernate.MappingException: Unknown entity: br.com.empresa.modelo.CategoriaComercial
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)


root cause 

javax.faces.el.EvaluationException: org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: br.com.empresa.modelo.CategoriaComercial; nested exception is org.hibernate.MappingException: Unknown entity: br.com.empresa.modelo.CategoriaComercial
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)


root cause 

org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: br.com.empresa.modelo.CategoriaComercial; nested exception is org.hibernate.MappingException: Unknown entity: br.com.empresa.modelo.CategoriaComercial
	org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
	org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
	org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
	org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512)
	org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506)
	br.com.empresa.dao.BaseGenericDAO.buscar(BaseGenericDAO.java:29)
	br.com.empresa.web.util.ControleMB.logar(ControleMB.java:64)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.el.parser.AstValue.invoke(AstValue.java:196)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)


root cause 

org.hibernate.MappingException: Unknown entity: br.com.empresa.modelo.CategoriaComercial
	org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:691)
	org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:92)
	org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)
	org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)
	org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:519)
	org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
	org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
	org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512)
	org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506)
	br.com.empresa.dao.BaseGenericDAO.buscar(BaseGenericDAO.java:29)
	br.com.empresa.web.util.ControleMB.logar(ControleMB.java:64)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.el.parser.AstValue.invoke(AstValue.java:196)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)


note The full stack trace of the root cause is available in the JBoss Web/3.0.0-CR1 logs.

Att,
Donizete Waterkemper

K

pelo msg de erro ele parece nao tem encontrado a entidade CategoriaComercial… deve está faltando no seu persistence.xml declarar ela la nao?

[]s

donny

Sim está declarado. Foi o que tbm imaginei. Segue abaixo o meu arquivo spring.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
						http://www.springframework.org/schema/context 
						http://www.springframework.org/schema/context/spring-context-3.0.xsd 
						http://www.springframework.org/schema/tx 
						http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
						http://www.springframework.org/schema/aop 
						http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
	<!-- habilita a configuração por annotations -->
    <context:annotation-config />
	<!-- define os pacotes/subpacotes que onde serão procurados beans do spring -->
    <context:component-scan base-package="br.com.empresa" />
	<!-- Parâmetros de conexão com o banco de dados -->
    <bean id="dataSource" class="br.com.empresa.config.Conexao" />
	<!-- Propriedades do hibernate -->
    <bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>br.com.empresa.modelo.Usuario</value>
                <value>br.com.empresa.modelo.BaseGFKCidades</value>
                <value>br.com.empresa.modelo.BaseScan</value>
                <value>br.com.empresa.modelo.CategoriaUnidade</value>
                <value>br.com.empresa.modelo.CategoriaComercial</value>
                <value>br.com.empresa.modelo.Negocio</value>
                <value>br.com.empresa.modelo.CategoriaVolumeMercado</value>
                <value>br.com.empresa.modelo.CategoriaVolumeUnidade</value>
                <value>br.com.empresa.modelo.BaseInternos</value>
                <value>br.com.empresa.modelo.AssociacaoProduto</value>
                <value>br.com.empresa.modelo.Item</value>
                <value>br.com.empresa.modelo.Concorrentes</value>
                <value>br.com.empresa.modelo.DadosInternos</value>
                <value>br.com.empresa.modelo.PosicionamentoPreco</value>
            </list>
        </property>
    </bean>
	<!-- Injeta uma sessão do hibernate -->
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="baseGFKCidadesDAO" class="br.com.empresa.dao.BaseGFKCidadesDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="baseScanDAO" class="br.com.empresa.dao.BaseScanDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="categoriaUnidadeDAO" class="br.com.empresa.dao.CategoriaUnidadeDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="usuarioDAO" class="br.com.empresa.dao.UsuarioDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="categoriaComercialDAO" class="br.com.empresa.dao.CategoriaComercialDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="negocioDAO" class="br.com.empresa.dao.NegocioDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="categoriaVolumeUnidadeDAO" class="br.com.empresa.dao.CategoriaVolumeUnidadeDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="baseInternosDAO" class="br.com.empresa.dao.BaseInternosDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="categoriaVolumeMercadoDAO" class="br.com.empresa.dao.CategoriaVolumeMercadoDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="associacaoProdutoDAO" class="br.com.empresa.dao.AssociacaoProdutoDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="concorrentesDAO" class="br.com.empresa.dao.ConcorrentesDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="posicionamentoPrecoDAO" class="br.com.empresa.dao.PosicionamentoPrecoDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="dadosIternosDAO" class="br.com.empresa.dao.DadosIternosDAO">
		<!-- Injeta o hibernateTemplate na classe DAO -->
        <property name="sessionFactory" ref="sessionFactory" />
        <property name="posicionamentoDAO" ref="posicionamentoPrecoDAO" />
    </bean>
	<!-- View scope -->
    <bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
        <property name="scopes">
            <map>
                <entry key="view">
                    <bean class="br.com.empresa.web.util.ViewScope" />
                </entry>
            </map>
        </property>
    </bean>
</beans>

O que pode ser?

Att,
Donizete Waterkemper

K

Seguinte… na msg de erro está mostrando o pacote

br.com.[b]rkam[/b].modelo.CategoriaComercial

RKAM… é outra classe e nao a q está declarada…

aproveitando… vc pode me ajudar tbm…

Vc está usando JNDI ? Usando o DS q fica na pasta deploy ou JDBC dentro da classe conexao?

[]'s

donny

Boa noite! Apenas havia alterado o nome da empresa. Se trata da mesma classe. Ainda não consegui resolver o problema.

Respondendo a sua pergunta: O TomCat7 usa JDBC da classe classe conexão e o JBoss 6 usa a *-ds.xml. Se você tiver mais dúvidas é só perguntar.

Se você poder dar mais umas dicas para resolver esse meu problema tbm ficaria grato.

Att,
Donizete Waterkemper

K

Fala ai Donizete…

Eu tbm estou tendo em levantar minha aplicao… porém meu erro é outro… uso arquivo *-ds.xml

Pode me passar teu persistence.xml, web.xml ? e tua classe de conexao…

o que sua classe br.com.empresa.config.Conexao faz?

P ve se consigo subir minha app aki… até p saber se vou ter o mesmo erro que vc.

[]'ss

donny

Ok!

Segui esse tutorial: http://javafaces.wordpress.com/2010/12/02/exemplo-jsf-2-hibernate-3-spring-3/

No Arquivo web.xml vc adiciona as linhas abaixo:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>

O segundo arquivo de configuração que uso é o spring.xml, que já postei anteriormente nesse post.

No arquivo faces-config.xml adicionei o código abaixo:

<application>
	<el-resolver>
                 org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
</application>

Att,
Donizete Waterkemper

donny

Abaixo o código da classe Conexao:

import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.stereotype.Component;

@Component("dataSource")
public class Conexao extends DriverManagerDataSource {
    static {
        try {
            System.getProperties().load(Conexao.class.getResourceAsStream("/config.properties"));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public Conexao() {
        this.setDriverClassName(System.getProperty("DriverClassName"));
        this.setUrl(System.getProperty(ControleMB.AMBIENTE + ".Url"));
        this.setUsername(System.getProperty(ControleMB.AMBIENTE + ".Username"));
        this.setPassword(System.getProperty(ControleMB.AMBIENTE + ".Password"));
    }
}

Código do arquivo config.properties:

homolog.Url=jdbc:oracle:thin:@localhost:1521:c0828dvm
homolog.Username=usuário
homolog.Password=senha
K

Fala ai brother… entao to fazendo as configurações que vc passou…

Mas queria entender o fluxo da conexao…

Nao entendo pq uma classe conexao… as suas DAO’s fazem referencia a ela? extende? ou ela só serve p spring abrir a conexao??

Se for apenas para abrir conexao com BD deve ter algum parametro p vc passar pelo XML nao?

[]s

donny

Opá! Uso a classe conexão apenas para o spring abrir conexão. A classe conexão pega os dados do arquivo config.properties. Se preferir, mande-me um e-mail, que está abaixo da minha assinatura, que respondo com a estrutura do meu projeto em anexo para vc analisar.

Att,
Donizete Waterkemper

donny

kubanacan, se quiser tbm pode me adicionar no msn: [email removido]

Att,
Donizete Waterkemper

K

ja add vc no MSN

[]'s

Criado 28 de março de 2011
Ultima resposta 29 de mar. de 2011
Respostas 14
Participantes 2