(Resolvido)JNDI + JBOSS + SESSIONFACTORY

5 respostas
W

Pessoal, ola.

Sou novato em java e estou com o seguinte problema:

Tenho uma aplicação Flex + Blazeds + Hiberbate + MSSQL, que roda no Tomcat sem problemas, agora preciso migrar para Jboss.

Quando coloco a aplicação para rodar no jboss ele me retorna o seguinte erro:

HTTP Status 500 -

type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Filter execution threw an exception
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/DataSources

org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:154)

org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)

org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)

org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414)

org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)

org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)

org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)

util.HibernateUtil.(HibernateUtil.java:23)

util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:20)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

java.lang.ClassNotFoundException: No ClassLoaders found for: com.mchange.v2.c3p0.DataSources

org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)

org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:521)

org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:415)

java.lang.ClassLoader.loadClass(Unknown Source)

java.lang.ClassLoader.loadClassInternal(Unknown Source)

org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:154)

org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)

org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)

org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414)

org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)

org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)

org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)

util.HibernateUtil.(HibernateUtil.java:23)

util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:20)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.

JBossWeb/2.0.1.GA

Após pesquisa na net e após varias “googladas” surgiu a opção de utilizar o JNDI porem não estou tendo sucesso na aplicação.

alguem poderia me ajudar, com uma explicação objetiva de como devo proceder para utilizar esta forma de conexão.

aguardando ansionamente.

WlSilva

5 Respostas

A

To com um problema um pouco parecido. Sou um pouco novo nessa parte web, mas vamos que vamos :).
Me diz uma coisa (uma não, duas): como está seu persistence.xml? Se você for usar o JBoss, acho que você vai precisar usar JTA. Se você vai precisar usar JTA, você precisa especificar o seu DataSource no persistence.xml. Você criou o DataSource?

Abraço.

Aliás, a versão do JBoss que uso é a jboss-5.1.0.GA.

W

meu persistence.xml esta ok.

criei, porem como especifico no meu persistence.xml?

Hibernate
Blazeds
Jboss 4.2.2

A

O Hibernate que você está usando é aquele que vem com o JBoss?

Pra usar JTA, especifique o datasource embaixo do provider:

<provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>NomeDeMeuDataSource</jta-data-source>
Se você colocar as tags de jta-data-source, o tipo de transação ‘padrão’ é JTA. Acho, ACHO, que precisa de mais alguma coisa (quem sabe especificar a property hibernate.connection.datasource, que deve ser o mesmo nome que foi colocado entre a tag jta-data-source). Além disso, o datasource deve estar no classpath da aplicação (e acho que dentro da pasta WEB-INF).

W

Valeu pela ajuda.

Sua pergunta referente a versão do hibernate fez com que eu encontrasse o problema.

A versão do hibernate no Jboss era diferente da versão utilizada no desenvolvimento o que causou o erro, alem de faltarem algumas bibliotécas no Jboss.

WLSilva

M

Bom dia colega, eu estou tendo que realizar este mesmo processo de migração e o ambiente da minha aplicação é praticamente igual ao seu no entanto desejo algumas orientações do pessoal de como está fazendo isso, pois o tomcat que utilizo não consegue gerenciar eficazmente a memória quando muito requisitado. desde já sou grato.

Criado 15 de setembro de 2009
Ultima resposta 6 de dez. de 2012
Respostas 5
Participantes 3