RESOLVIDO NameNotFoundException hibernate not bound+Could not parse configuration hibernate.cfg.xml

6 respostas
romuloff

Olá galera.

Está acontecendo esta exceção na minha aplicação na hora q faz o lookup do sessionFactory
sessionFactory = ( SessionFactory ) ctx.lookup( "java:/hibernate/CTBCSessionFactory" );
"ERROR [LoggerStream.write():152] - javax.naming.NameNotFoundException: hibernate not bound"

Estou utilizando Jboss 4.2.2.GA (e o hibernate q vem nele).

hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

    <session-factory name="java:/hibernate/CTBCSessionFactory">

        <!-- Session Factory 
        <property name="hibernate.session_factory_name">java:/hibernate/CTBCSessionFactory</property>-->
        <!--
            <property name="hibernate.jndi.url">java:/hibernate</property> <property
            name="hibernate.jndi.class"></property>
        -->

        <!-- Data source -->
        <property name="connection.datasource">java:/SAN-DS</property>

        <!-- Database connection settings -->
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:XE</property>
        <property name="hibernate.connection.username">ctbcsan</property>
        <property name="hibernate.connection.password">xxxxxxxxxxx</property>

        <!-- SQL dialect -->
        <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
        
        <!-- Echo all executed SQL to stdout -->
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.use_sql_comments">true</property>

        <!-- Mapping classes -->
        <mapping class="br.com.ctbc.avalia.model.data.EmpresaTO" />

    </session-factory>
</hibernate-configuration>

Poderiam me ajudar ?
Já pesquisei bastante e nao acho nenhuma resposta

6 Respostas

romuloff

uma coisa que sei é que tenho um jndi name do data-source por exemplo: XXX-DS
Aí este dataSource aparece no jmx console do jboss.

Mas no mesmo local tento procurar por algo relacionado à hibernate e nao acho
Creio que da mesma forma q é necessario colocar o datasource.xml no deploy do jboss; devo fazer algo pra ele criar este jndi pro hibernate nao ?

Alguem ?

romuloff

tá dificil achar solução pelo google
espero que alguem possa me ajudar aqui

romuloff

analisando outra aplicação que tambem utiliza o hibernate achei que logo que se inicia o jboss ele já se configura de acordo com o hibernate.cfg.xml

Antes do jboss started … ele já aparece por exemplo:

“2009-06-01 08:53:19,296 DEBUG [org.hibernate.cfg.AnnotationConfiguration] java:/hibernate/LMSessionFactory<-org.dom4j.tree.DefaultAttribute@115e891 [Attribute: name class value “br.com.ctbc.dao.domain.contratacao.view.VwBairro”]
2009-06-01 08:53:19,312 INFO [org.hibernate.cfg.Configuration] Configured SessionFactory: java:/hibernate/LMSessionFactory”

O que dá pra perceber que logo que inicia o jboss já está configurando o session factory que na minha aplicação nao esta achando.
Mas nao estou entendendo o porque já que meu hibernate.cfg.xml está praticamente igual ao desta outra app.
Existe algum arquivo de configuração do jboss que devo mexer pra ele configurar este session factory do hibernate ?

romuloff

tb já tentei utilizando

Mas aí dá outro erro:

Sendo que o hibernate.cfg.xml está sim no path da aplicação; tanto que consigo acessá-lo utilizando a url:
http://localhost:8080/NomeAplicacao/hibernate.cfg.xml
(alem disso tb estou colocando o hibernate.cfg.xml em varios outros lugares por “precaução”. O mesmo arquivo se encontra na pasta do WebContent, na Web-INF e na raiz so JavaSource.)

romuloff

Sobre este erro do “Could not parse configuration” achei tres topicos (1,2,3) que a solução era sobre o cabeçalho do xml
Mas já usei com encoding utf-8 , ISO-8859-1 e tambem tentei removendo o encoding mas nenhum desses resolve o problema !

romuloff

[color=red]Resolvi o “Could not parse configuration” !!![/color]
O erro era devido à um jar (o projeto nao utiliza maven que droga hehe) dom4j*.jar que estava sendo empacotado no war.
Descobri pois havia um erro meio oculto no meio de tantos ‘could not parse configuration’:
“org.dom4j.DocumentException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory” :shock:

[color=red]Já o ‘NameNotFoundException: hibernate not bound’ foi resolvido[/color] colocando um hibernate plugin no struts-config que eu nunca havia visto fazer desta forma.
Enfim, o plugin no struts-config ficou assim:

<plug-in className="br.com.ctbc.common.persistence.plugin.HibernatePlugIn"> <set-property property="configFilePath" value="/hibernate.cfg.xml" /> <set-property property="storeInServletContext" value="true" /> </plug-in>
Pra mim isso nao era necessario pra usar hibernate mas funcionou.
[size=18]Se alguem souber outra alternativa que nao necessite deste hibernate plugin no struts, por favor poste aqui.[/size]

Criado 29 de maio de 2009
Ultima resposta 1 de jun. de 2009
Respostas 6
Participantes 1