2011-09-23 4 views
0

제 응용 프로그램에서는 Jasper 보고서를 사용하여 다양한 형식으로 보고서를 생성합니다. 이제 막대한 결과에 대한 보고서를 생성하려고합니다. 내가 그물을 통과했을 때 거대한 데이터를 다루기 위해 가상화기를 사용할 수 있다는 것을 알았습니다.웹 응용 프로그램에서 Virtualizer를 사용하는 방법은 무엇입니까?

JRSwapFileVirtualizer를 사용할 때 문제는 File not found exception을 던지는 JRSwapfile을 만드는 것입니다. 내가, 내가 사용하고있는 서버에서 생성 한 폴더의 실제 경로를 제공하고

제가 뭘 잘못 알려 주시기 바랍니다 6.0 WAS 서버.

내 코드

JRSwapFile swapFile = new JRSwapFile("http://localhost:9080/contextPath/reports", 2048, 1024); 
JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(3,swapFile, true); 

예외

net.sf.jasperreports.engine.JRRuntimeException: java.io.FileNotFoundException: http:\localhost:9080\context-path\reports\swap_864564104_1316758806309 (The filename, directory name, or volume label syntax is incorrect.) 

답변

1

세션에서 절대의 contextPath 받기 :

HttpSession session = request.getSession(false); 
ServletContext context = session.getServletContext(); 
ServletContextResource context = new ServletContextResource(context,"/reports"); 

귀하의 코드 :

JRSwapFile swapFile = new JRSwapFile(context.getFile().getAbsolutePath(), 2048, 1024); 
관련 문제