Galora, bom dia, estou com um problema que não consigo resolver.
Estou fazendo um projeto financeiro pessoal, e ao incluir o ireport estou recebendo este erro abaixo. Meu projeto está com mais de 30 megas já, não sei se isso influencia pois sou iniciante na área, eu já tentei aumentar a memoria da JVM pelo eclipse(arquivo eclipse.ini) já tentei através de argumentos do TomCat, no proprio eclipse e nada adianta.
Alguém tem alguma idéia do q eu possa fazer pra consertar isso?
Se precisar de algum código meu só pedir q eu posto aqui, mas n acho que seja problema com isso.
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.OutOfMemoryError: PermGen space
Estou meio desesperado, agradeço qualquer dica.
Muito obrigado.
Olá, raf4ever, obrigado pela resposta.
Ao ler seu post, eu decidi excluir e importar o projeto novamente
E agora o server iniciou, mas to tento problema com filenotfound =\
Valeu!
FernandoFranzini
PermGen quer dizer que a area de memória da JVM de carga de classes estouro…muito normal de acontecer quando um container JEE tem muita classes dentro própria aplicação + os jar’s para carregar.
Mais comum ainda quando o container JEE tem varios wars sendo executado simultaneamente.
Para corrigir isso, aumente essa area de memoria nos parâmetros do inicio do seu container.
Veja que isso não é um erro, é muito normal uma vez que cada container JEE deve ser devidamente configurado para o determinado ambiente/cenario a ser usado.
OBS - alterar o eclipse.ini muda os parâmetros para o eclipse e não para o tomcat!!!
No ambiente de produção vc tem alterar os parâmetros de inicialização do tomcat diretamente no arquivo dele.
No ambiente de desenvolvimento, o tomcat esta sendo executado direto do eclipse, e sendo assim vc consegue acrescentar os parametros no seguinte menu:
Abra as propriedades do server clicando 2 vezes em cima do sevidor na aba “Servers”
Abra as configurações chamada de “Open launch configuration”
Selecione a aba “Arguments”, no campo VM arguments acrescente todos os seus parâmetros que customizam a memoria: Exemplo: -XX:MaxPermSize=246m
Como eu tenho que desenvolver diversos projeto junto costumo usar -XX:MaxPermSize=512m.
R
raf4ever
dennisbf:
Olá, raf4ever, obrigado pela resposta.
Ao ler seu post, eu decidi excluir e importar o projeto novamente
E agora o server iniciou, mas to tento problema com filenotfound =\
Valeu!
Posta o stacktrace.
D
dennisbf
Opa, raf4ever, valeu pela ajuda!!
financeiro.util.UtilException: Não foi possível gerar o relatório.
at financeiro.web.util.RelatorioUtil.geraRelatorio(RelatorioUtil.java:88)
at financeiro.web.ContaBean.getArquivoRetorno(ContaBean.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:302)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at org.primefaces.component.filedownload.FileDownloadActionListener.processAction(FileDownloadActionListener.java:50)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:312)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:174)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: /Users/DennisFaggiani/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/FinanceiroWeb/relatorios/contas.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:94)
at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromFile(JRLoader.java:83)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:74)
at financeiro.web.util.RelatorioUtil.geraRelatorio(RelatorioUtil.java:50)
... 68 more
Caused by: java.io.FileNotFoundException: /Users/DennisFaggiani/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/FinanceiroWeb/relatorios/contas.jasper
... 72 more
oq eu to achando estranho é o caminho que ele tá buscando.
O arquivo na verdade tá no package financeiro.relatorios, ele não está puxando o financeiro, parece…
Muito Obrigado
D
dennisbf
putz, cliquei em citar ao invés de editar, perdão.
Polverini
como vc ta pegando o arquivo jasper ?
D
dennisbf
Polverini:
como vc ta pegando o arquivo jasper ?
Olá, Polverini, obrigado pela resposta.
No JSF eu puxo através da minha ContaBean
packagefinanceiro.web.util;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.SQLException;importjava.util.HashMap;importjavax.faces.context.FacesContext;importjavax.naming.Context;importjavax.naming.InitialContext;importjavax.naming.NamingException;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JRExporter;importnet.sf.jasperreports.engine.JRExporterParameter;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.engine.JasperReport;importnet.sf.jasperreports.engine.export.JRHtmlExporter;importnet.sf.jasperreports.engine.export.JRPdfExporter;importnet.sf.jasperreports.engine.export.JRXlsExporter;importnet.sf.jasperreports.engine.export.oasis.JROdtExporter;importnet.sf.jasperreports.engine.util.JRLoader;importorg.primefaces.model.DefaultStreamedContent;importorg.primefaces.model.StreamedContent;importfinanceiro.util.UtilException;publicclassRelatorioUtil{publicstaticfinalintRELATORIO_PDF=1;publicstaticfinalintRELATORIO_EXCEL=2;publicstaticfinalintRELATORIO_HTML=3;publicstaticfinalintRELATORIO_PLANILHA_OPEN_OFFICE=4;publicStreamedContentgeraRelatorio(HashMapparametrosRelatorio,StringnomeRelatorioJasper,StringnomeRelatorioSaida,inttipoRelatorio)throwsUtilException{StreamedContentarquivoRetorno=null;try{FacesContextcontext=FacesContext.getCurrentInstance();Connectionconexao=this.getConexao();StringcaminhoRelatorio=context.getExternalContext().getRealPath("relatorios");StringcaminhoArquivoJasper=caminhoRelatorio+File.separator+nomeRelatorioJasper+".jasper";StringcaminhoArquivoRelatorio=null;JasperReportrelatorioJasper=(JasperReport)JRLoader.loadObject(caminhoArquivoJasper);JasperPrintimpressoraJasper=JasperFillManager.fillReport(relatorioJasper,parametrosRelatorio,conexao);JRExportertipoArquivoExportado=null;StringextensaoArquivoExportado="";FilearquivoGerado=null;switch(tipoRelatorio){caseRelatorioUtil.RELATORIO_PDF:tipoArquivoExportado=newJRPdfExporter();extensaoArquivoExportado="pdf";break;caseRelatorioUtil.RELATORIO_HTML:tipoArquivoExportado=newJRHtmlExporter();extensaoArquivoExportado="html";break;caseRelatorioUtil.RELATORIO_EXCEL:tipoArquivoExportado=newJRXlsExporter();extensaoArquivoExportado="xls";break;caseRelatorioUtil.RELATORIO_PLANILHA_OPEN_OFFICE:tipoArquivoExportado=newJROdtExporter();extensaoArquivoExportado="ods";break;default:tipoArquivoExportado=newJRPdfExporter();extensaoArquivoExportado="pdf";break;}caminhoArquivoRelatorio=caminhoRelatorio+File.separator+nomeRelatorioSaida+"."+extensaoArquivoExportado;arquivoGerado=newjava.io.File(caminhoArquivoRelatorio);tipoArquivoExportado.setParameter(JRExporterParameter.JASPER_PRINT,impressoraJasper);tipoArquivoExportado.setParameter(JRExporterParameter.OUTPUT_FILE,arquivoGerado);tipoArquivoExportado.exportReport();arquivoGerado.deleteOnExit();InputStreamconteudoRelatorio=newFileInputStream(arquivoGerado);arquivoRetorno=newDefaultStreamedContent(conteudoRelatorio,"application/"+extensaoArquivoExportado,nomeRelatorioSaida+"."+extensaoArquivoExportado);}catch(JRExceptione){thrownewUtilException("Não foi possível gerar o relatório.",e);}catch(FileNotFoundExceptione){thrownewUtilException("Arquivo do relatório não encontrado.",e);}returnarquivoRetorno;}privateConnectiongetConexao()throwsUtilException{java.sql.Connectionconexao=null;try{ContextinitContext=newInitialContext();ContextenvContext=(Context)initContext.lookup("java:/comp/env/");javax.sql.DataSourceds=(javax.sql.DataSource)envContext.lookup("jdbc/FinanceiroDB");conexao=(java.sql.Connection)ds.getConnection();}catch(NamingExceptione){thrownewUtilException("Não foi possível encontrar o nome da conexão do banco.",e);}catch(SQLExceptione){thrownewUtilException("Ocorreu um erro de SQL.",e);}returnconexao;}}