Problema ServletOutputStream

Pessoal seguinte tenho um relatorio em jasper que quando gravado é gravado com sucesso, só que agora preciso guardalo em memoria e mostrar no browser…
porem está gerando um exception que não sei uque é…

preciso de uma luz…

Segue o codigo

[code]
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(arrayMap);

		byte[] bytes = null;
		bytes = JasperRunManager.runReportToPdf(relatorio, map, ds);
		if (bytes != null && bytes.length > 0) {
			response.setContentType("application/pdf");
			response.setContentLength(bytes.length);
			ServletOutputStream ouputsOutputStream = response.getOutputStream();
			ouputsOutputStream.flush();
			ouputsOutputStream.close();
		}[/code]

EXCEPTION

org.mortbay.jetty.EofException at org.mortbay.jetty.HttpGenerator.flushBuffers(HttpGenerator.java:856) at org.mortbay.jetty.HttpConnection.flushResponse(HttpConnection.java:510) at org.mortbay.jetty.HttpConnection$Output.close(HttpConnection.java:750) at br.com.jexperts.report.RelatorioDirf.execRelatorio(RelatorioDirf.java:91) at br.com.jexperts.services.ejb.FinanceiroServices.enviarDirfFinanceior(FinanceiroServices.java:131) at br.com.jexperts.web.unimed.financeiro.FinanceiroAction.enviarFinanceiroDirfAction(FinanceiroAction.java:65) 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 br.com.jexperts.web.controller.ControllerServlet.doGet(ControllerServlet.java:246) at br.com.jexperts.web.controller.ControllerServlet.doPost(ControllerServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) at org.mortbay.jetty.Server.handle(Server.java:269) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:701) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:617) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339) at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) Caused by: java.nio.channels.ClosedChannelException at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:126) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:324) at org.mortbay.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:163) at org.mortbay.jetty.nio.HttpChannelEndPoint.flush(HttpChannelEndPoint.java:150) at org.mortbay.jetty.HttpGenerator.flushBuffers(HttpGenerator.java:784) ... 26 more 2010-01-27 15:46:28.917::WARN: /webmedcrm/action/enviarFinanceiroDirf_Financeiro_Unimed_Financeiro.jexp: java.lang.IllegalStateException: STREAM at org.mortbay.jetty.Response.getWriter(Response.java:502) at br.com.jexperts.web.controller.ControllerServlet.doGet(ControllerServlet.java:394) at br.com.jexperts.web.controller.ControllerServlet.doPost(ControllerServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) at org.mortbay.jetty.Server.handle(Server.java:269) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:701) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:617) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339) at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) 2010-01-27 15:46:28.937::WARN: /webmedcrm/action/enviarFinanceiroDirf_Financeiro_Unimed_Financeiro.jexp java.lang.IllegalStateException: STREAM at org.mortbay.jetty.Response.getWriter(Response.java:502) at br.com.jexperts.web.controller.ControllerServlet.doGet(ControllerServlet.java:394) at br.com.jexperts.web.controller.ControllerServlet.doPost(ControllerServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) at org.mortbay.jetty.Server.handle(Server.java:269) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:701) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:617) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339) at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

OBS: CONSIGO SALVAR SEM ERRO…

Acredito que o erro seja porque você está limpando (flush) e depois fechando (close) dentro de uma execução de um Action (br.com.jexperts.web.unimed.financeiro.FinanceiroAction.enviarFinanceiroDirfAction) do Struts.
Talvez uma melhor forma de escrever isso no cliente seja jogar os dados (arrayMap) na sessão, e depois dar redirecionar para um Servlet normal mesmo, daqueles que são mapeados no web.xml, e lá você manda escrever no cliente.

[]'s
JL