Bom dia.
Estou enfrentando um erro curioso ao iniciar minha aplicação no TOMCAT.
Quando coloco a mesma para rodar direto no IDE (netbeans), funciona normal, não apresentando nenhum erro.
mas quando coloco isso num servidor com o tomcat rodando, aparece a seguinte mensagem de erro:
java.lang.NoSuchMethodError: com.lowagie.text.Paragraph.alignment()I
utilidades.FabricaDePdfs.gerarPorUsuariosCompleto(FabricaDePdfs.java:751)
Detalhando: a fabrica de PDF pega os dados do objeto CentroDecustoVO e insere em um arquivo do tipo PDF (não estou usando o ireports, apenas a biblioteca Itext).
E é bem nesta parte que surge o problema, me estoura uma exceção como se fosse algo com o iText, na criação do parágrafo ou coisa assim, mas debugando a aplicação nao ocorre o erro.
No log da aplicação aparece o warning :
WARNING: Cannot serialize session attribute listaDeCentrosDeCustos for session 055A73FA57DCC145D511F350EE23DE94
java.io.NotSerializableException: relatorios.CentrosDeCustosVO
E depois o erro
java.lang.NoSuchMethodError: com.lowagie.text.Paragraph.alignment()I
at utilidades.FabricaDePdfs.gerarPorUsuariosCompleto(FabricaDePdfs.java:751)
at servlets.EfetuaBusca.processRequest(EfetuaBusca.java:132)
at servlets.EfetuaBusca.doPost(EfetuaBusca.java:171)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Unknown Source)
Estes testes já foram rodados em 3 servidores (VMS) e o erro é sempre o mesmo.
Se alguem tiver uma dica, fico muito agradecido desde já.
Não sei se é isso, mas será que não está faltando vc mandar um implements serializable na classe?
Exemplo de uma classe UsuarioLogado:
public class UsuarioLogado implements Serializable {
private static final long serialVersionUID = 1L;
//codigo aqui
}
Abraço!
Ja esta implementada sim…
Da a impressão de que o erro tem a ver com a sessao quando vai seralizar:
WARNING: Cannot serialize session attribute listaDeCentrosDeCustos for session B53D695FEE3079610ECFD03FA829A171
java.io.NotSerializableException: relatorios.CentrosDeCustosVO
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.ArrayList.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1546)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:989)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4611)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3222)
at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:943)
at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:556)
at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Apr 23, 2010 7:53:02 AM org.apache.catalina.core.StandardWrapperValve invoke
...
Percebi um detalhe:
O erro deixa de acontecer quando eu desmarco a opção de criar PDF dos objetos e deixo apenas mostrando pelo JSP as informações dos centros e dos usuários.
Rapaziada.
Coloquei minha aplicação pra rodar pelo GlassFish ao invés do TOMCAT e adivinha só?
O erro não ocorre, a aplicação funciona normal.
No meu ide ele foi desenvolvido usando o Glassfish… Mas isso não deveria influenciar no resultado final… ou deveria?
Bem , de qualquer forma estarei usando o glassfish enquanto não encontrar a solução definitiva…
[quote=jessetsilva]Rapaziada.
Coloquei minha aplicação pra rodar pelo GlassFish ao invés do TOMCAT e adivinha só?
O erro não ocorre, a aplicação funciona normal.
No meu ide ele foi desenvolvido usando o Glassfish… Mas isso não deveria influenciar no resultado final… ou deveria?
Bem , de qualquer forma estarei usando o glassfish enquanto não encontrar a solução definitiva…[/quote]
E aí, encontrou uma solução utilizando o tomcat?