Informacao/Duvida sobre cofig de DataSource / Struts / Hibernate

1 resposta
sudeval

Ola pessoal,

estou com algumas dúvidas, estou utilizando o Hibernate e Struts, gostaria de configurar um DataSource, então:

vi que no struts-config.xml existe uma “tag” para configurar o datasouce, mas não sei se o correto era configurar ele no tomcat, no struts-config.xml ou se tenho que configurar no tomcat e no struts-config.xml.

no meu arquivo de contexto da aplicação eu configurei o meu datasource da seguinte forma:

<Resource 
    name="jdbc/postgres" 
    auth="Container" 
    type="javax.sql.DataSource" 
    driverClassName="org.postgresql.Driver" 
    url="jdbc:postgresql://127.0.0.1:5432/savDB" 
    username="sav" password="sav" 
    maxActive="20" 
    maxIdle="10" 
    maxWait="-1" 
    removeAbandoned="true" 
    removeAbandonedTimeout="60" 
    logAbandoned="true" />

[color=green]essa configuração está OK?[/color]

[color=green]não incluir nenhuma informação no struts-config.xml do datasource, preciso ?[/color]

ao configurar o hibernate, eu coloquei o arquivo hibernate.properties abaixo:

## PostgreSQL
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.username = sav
hibernate.connection.password = sav
hibernate.connection.datasource = jdbc/postgres
# hibernate.jndi.url = jdbc:postgresql://127.0.0.1:5432/savDB sera que eh isso ?
# hibernate.jndi.class = org.postgresql.Driver sera que eh isso ?

[color=green]essas informações estão corretas ?[/color]

[color=green]eu querendo obter o DataSource de dentro de alguma classe da minha aplicação, seria assim ?[/color]

InitialContext initContext = new InitialContext();    
Context envContext  = (Context)initContext.lookup("java:/comp/env");  // porque é java:/comp/env ?
DataSource ds = (DataSource)envContext.lookup("jdbc/postgres");  
con = ds.getConnection();

[color=green]porque é java:/comp/env no (Context)initContext.lookup(“java:/comp/env”); ? [/color]

t+

1 Resposta

sudeval

na verdade o meu DataSource no TomCat estava OK,
dessa informações a configuração do Hibernate que está errada.
eu precisaria alterar o datasource para

hibernate.connection.datasource = java:/comp/env/jdbc/postgres

e no final eu deixei assim:

## PostgreSQL 
hibernate.connection.datasource = java:/comp/env/jdbc/postgres
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.transaction.factory_class = \org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_lookup_class = \org.hibernate.transaction.JBossTransactionManagerLookup

as dúvidas restantes são:
1 - eu preciso colocar algo no struts-config.xml na parte do datasource ? ( acredito que não ne, não é papel dele, e ja que está no tomcat e funcionando :slight_smile: )
2 - o que vem a ser o “java:/comp/env/” ?

Criado 24 de dezembro de 2007
Ultima resposta 24 de dez. de 2007
Respostas 1
Participantes 1