Erro ao publicar site na Web

5 respostas
E

Pessoal,

Tenho uma aplicação no meu tomcat local, que está acessando diretamente o banco de dados do meu servidor na WEB. Quando está na minha máquina, ambos funcionam perfeitos (tanto o Tomcat quanto o MySQL).

O banco de dados é o mesmo para os dois ambientes, acesso com o ip de internet mesmo, não chego a acessar com nenhum endereço interno de rede ou de referência a máquina local.

Mas quando eu publico no meu servidor na WEB (com as mesmas configurações de banco de dados), me dá 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 
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 47

44: template.parseTemplate(conteudoHome, "HOST", host);
45: 
46: //DESTAQUES
47: List<Conteudo> destaques = factory.getConteudoDao().destaquePlayerHome(10);
48: 
49: bufOriginal = new StringBuilder(template.getBloco(conteudo, "PLAYER_HOME"));
50: bufTemp = new StringBuilder();


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)


root cause 
org.hibernate.exception.GenericJDBCException: Cannot open connection
	org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
	org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
	org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
	org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573)
	org.hibernate.loader.Loader.doQuery(Loader.java:696)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2228)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
	org.hibernate.loader.Loader.list(Loader.java:2120)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
	br.com.goiasagora.dao.ConteudoDao.destaquePlayerHome(ConteudoDao.java:95)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)

root cause 
java.sql.SQLException: Connections could not be acquired from the underlying database!
	com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
	com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
	com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
	org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:78)
	org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
	org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
	org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573)
	org.hibernate.loader.Loader.doQuery(Loader.java:696)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2228)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
	org.hibernate.loader.Loader.list(Loader.java:2120)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
	br.com.goiasagora.dao.ConteudoDao.destaquePlayerHome(ConteudoDao.java:95)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)


root cause 
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
	com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
	com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
	com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
	com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
	com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
	org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:78)
	org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
	org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
	org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573)
	org.hibernate.loader.Loader.doQuery(Loader.java:696)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2228)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
	org.hibernate.loader.Loader.list(Loader.java:2120)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
	br.com.goiasagora.dao.ConteudoDao.destaquePlayerHome(ConteudoDao.java:95)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:114)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
Apache Tomcat/6.0.13

Alguém tem alguma ideia do que está acontecendo?

5 Respostas

F

Quando vc diz “publica no servidor web”, o que muda? Copia o war de um servidor para ou outro? muda ips?

Como está a arquitetura?
Servidor de aplicação é diferente ou é o mesmo do servidor de BD?
Há alguma DMZ?

E

Simplesmente copio a pasta do projeto do Tomcat na minha máquina local para a pasta onde foi criado um contexto na Locaweb.

A base de dados é a mesma (mesmo servidor), e ambos estão com Tomcat 6.0 e JDK 1.6.

Arquitetura 3 Camadas, cliente, aplicação e base de dados.

Servidor de aplicação diferente, mesmo servidor de BD.

Sobre o DMZ, perguntei a mesma coisa a Locaweb, e me disseram que devo acessar a base de dados através do Tomcat pelo mesmo IP que acesso de casa (no caso, tanto que acesso de Front End, quando do Tomcat de casa)

F

Você configurou algo no seu tomcat e não configurou no tomcat da locaweb?
Tipo, copiou libs para a pasta de libs comuns do tomcat, ou então, criou DataSource/jndi em arquivos de configuração fora do seu contexto…

E

Não fui eu quem configurou o Tomcat da Locaweb, é um dos pacotes prontos deles!

E na minha máquina eu não usei nenhuma configuração específica do Tomcat, somente baixei o zip dele e rodei (sem nem instalar)

Estava pensando, talvez seja porque o hibernate.cfg.xml não está no classpath, mas sim num diretório referenciado por caminho relativo e talvez isso esteja interpretando de maneira diferente. A noite eu faço esse teste e se conseguir algo posto aqui! De qualquer forma, aguardo mais sugestões do que pode estar acontecendo.

Obrigado pela atenção fvslistas

E

Era isso mesmo, o tomcat da Locaweb estava com outra configuração de classpath.

Agora eu estou com um problema, tenho uma classe template que está no cache do servidor, e ele tem um arquivo .properties. Esse arquivo foi alterado e preciso que a classe template que está no cache seja resetada, pois ainda considera somente os valores antigos. Como faço isso? Ps, não tenho permissão de config do tomcat da locaweb.

Criado 4 de maio de 2010
Ultima resposta 6 de mai. de 2010
Respostas 5
Participantes 2