JBoss + Hibernate

dae gente,

Seguinte, estou integrando o hibernate2.1.4 com o JBoss3… (Estou usando o PostgreSql). A principio estou seguindo o passos indicados pelo pessoal do hibernate e do jboss: “Using Hibernate with JBoss” (http://www.hibernate.org/66.html).

Segui todos os passos:
Copiei as libs necessárias descritas no link acima.
Criei o arquivo .sar com o jboss-service no META-INF:

<server>
<mbean code=“net.sf.hibernate.jmx.HibernateService” name=“jboss.jca:service=HibernateFactory, name=HibernateFactory”>
<depends>jboss.jca:service=RARDeployer</depends>
<depends>jboss.jca:service=LocalTxCM,name=PostgresDS</depends>
br.com.ksisolucoes.vo.basico.Atividade.hbm
java:/hibernate/HibernateFactory
java:/PostgresDS
net.sf.hibernate.dialect.PostgreSQLDialect
false
true
UserTransaction
net.sf.hibernate.transaction.JTATransactionFactory
net.sf.hibernate.transaction.JBossTransactionManagerLookup
</mbean>
</server>

Criei o data source:

<datasources>
<local-tx-datasource>
<jndi-name>PostgresDs</jndi-name>
<connection-url>jdbc:postgresql://192.168.0.13:5432/banco_ksi</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
login
<password>senha</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
0
<track-statements>true</track-statements>
</local-tx-datasource>
</datasources>

Fiz o Deploy, mas quanto vou levantar o JBoss da o seguitne erro:

18:46:14,622 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
Packages waiting for a deployer:
org.jboss.deployment.DeploymentInfo@17f056e9 { url=file:/java/jboss/server/default/deploy/ksipostgresds.xml }
deployer: null
status: null
state: INIT_WAITING_DEPLOYER
watch: file:/java/jboss/server/default/deploy/ksipostgresds.xml
lastDeployed: 1091742359153
lastModified: 1091742339000
mbeans:

Incompletely deployed packages:
org.jboss.deployment.DeploymentInfo@17f056e9 { url=file:/java/jboss/server/default/deploy/ksipostgresds.xml }
deployer: null
status: null
state: INIT_WAITING_DEPLOYER
watch: file:/java/jboss/server/default/deploy/ksipostgresds.xml
lastDeployed: 1091742359153
lastModified: 1091742339000
mbeans:

MBeans waiting for other MBeans:
ObjectName: jboss.jca:service=HibernateFactory, name=HibernateFactory
state: CONFIGURED
I Depend On: jboss.jca:service=RARDeployer
jboss.jca:service=LocalTxCM,name=KsiPostgresDS

Depends On Me:

MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
ObjectName: jboss.jca:service=LocalTxCM,name=KsiPostgresDS
state: NOTYETINSTALLED
I Depend On:
Depends On Me: jboss.jca:service=HibernateFactory, name=HibernateFactory

18:46:15,249 INFO [Server] JBoss (MX MicroKernel) [3.2.5 (build: CVSTag=JBoss_3_2_5 date=200406251954)] Started in 1m:15s:810ms
18:46:15,251 INFO [Tomcat5] Saw org.jboss.system.server.started notification, starting connectors
18:46:15,990 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
18:46:16,566 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009
18:46:16,750 INFO [JkMain] Jk running ID=0 time=1/245 config=null

A princio parece que existem dependencias, mas estou perdido com isso.

valeu pela atenção.

Como está o seu .ear?

meuear.ear
        meuwar.war
        meusar.sar
        META-INF
               *.xml

?

Dae LIPE,

Não o que tinha feito que ocasionava esse erro obscuro :). Então fiz o seguinte, executei o deploy apenas do .sar do hibernate segundo “Using Hibernate with JBoss” (http://www.hibernate.org/66.html) encontrado no site do hibernate.

Dessa forma (sem o arquivo de datasource postgres-ds.xml) ele fez deploy legal sem dar erros.

Dai motivado pela menssagem hibernate.properties not found :smiley: coloquei o arquivo hibernate.properties ( :slight_smile: é claro) também no .sar e funfou.

Agora, novidade, surgir mais dúvidas :).

Como eu vou pegar as sessions?

Vc busca o SessionFactory através do jndi name que vc definiu para o MBean e usa o openSession!

retirado do forum do hibernate.org, estava com a mesma dúvida que você e o cara me ajudou :smiley:

[quote]
public static Session currentSession()
throws NamingException, HibernateException {
Session s = (Session) session.get();
if (s == null) {
SessionFactory sf = (SessionFactory) new InitialContext().lookup(“java:/HibernateTicketsystem”);
s = sf.openSession();
session.set(s);
}
return s;
}

public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set(null);
if (s != null) s.close();
}

Here we go. :slight_smile:

BTW Exchange “java:/HibernateTicketsystem” with the JNDI name being defined in your jboss-service.xml.

regards[/quote]

dae TedLoprao, Lipe,

Agora consegui configurar tranquilamente. :slight_smile:

Agora estou em busca de material para customizar o servidor/hibernate, se alguém conhecer algum link que poderia posta, eu agradeço.

flw