高手请进100分问题(java.lang.OutOfMemoryError perGen space)
我现在正进行一个项目,运行技术是:NetBean+Hibernate+jboss portal +Jsp + JsF + iReport
功能描述:当用户在jsp页面按查找Button时调用管理Bean的一个动作方法(pring()),然后反回面页显示数据
,同时显示一条超连接,当用户按连接就调用一个Servelt下载pdf文件
问题描述:1.按查找Button在页面显示数据后,2.再按下载连接就报:java.lang.OutOfMemoryError PermGen space 错
经调试发现:如果单独做下载或显示荔能是没有问题的,但如果先做了显示功能后再做下载就报outofmenoryerror错了
高手们帮我看下
代码:
//=============================管理bean的spring()===================================
Configuration configuration = new Configuration().configure();
SessionFactory SessionFactory =configuration.buildSessionFactory();
Session session = SessionFactory.openSession();
Transaction tran = session.beginTransaction();
Query query = session.createQuery("from per as c where c.namet=:pername");
query.setString("pername",this.getName());
List pers = query.list();
this.setPers(pers);
session.close();
this.setMessage("Pring ok");
//=================================下载功能:Servelt==================================
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment;filename="+"iReport.pdf");
String name =request.getParameter("name2");
String info =request.getParameter("info");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/manage", "root", "jacky");
//ireport 提拱的代码
JasperReport jasperReport;
JasperPrint jasperPrint;
jasperReport = JasperCompileManager.compileReport("d:/MyFristIreport.jrxml");
HashMap map = new HashMap();
map.put("sq",this.getName());
//先做显示后做下载功能时就这这里过不了,单调用时没有事
jasperPrint = JasperFillManager.fillReport(jasperReport,map,con);
byte[] b = JasperExportManager.exportReportToPdf(jasperPrint);
java.io.OutputStream os = response.getOutputStream();
os.write(b,0,b.length);
os.flush();
os.close();
功能描述:当用户在jsp页面按查找Button时调用管理Bean的一个动作方法(pring()),然后反回面页显示数据
,同时显示一条超连接,当用户按连接就调用一个Servelt下载pdf文件
问题描述:1.按查找Button在页面显示数据后,2.再按下载连接就报:java.lang.OutOfMemoryError PermGen space 错
经调试发现:如果单独做下载或显示荔能是没有问题的,但如果先做了显示功能后再做下载就报outofmenoryerror错了
高手们帮我看下
代码:
//=============================管理bean的spring()===================================
Configuration configuration = new Configuration().configure();
SessionFactory SessionFactory =configuration.buildSessionFactory();
Session session = SessionFactory.openSession();
Transaction tran = session.beginTransaction();
Query query = session.createQuery("from per as c where c.namet=:pername");
query.setString("pername",this.getName());
List pers = query.list();
this.setPers(pers);
session.close();
this.setMessage("Pring ok");
//=================================下载功能:Servelt==================================
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment;filename="+"iReport.pdf");
String name =request.getParameter("name2");
String info =request.getParameter("info");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/manage", "root", "jacky");
//ireport 提拱的代码
JasperReport jasperReport;
JasperPrint jasperPrint;
jasperReport = JasperCompileManager.compileReport("d:/MyFristIreport.jrxml");
HashMap map = new HashMap();
map.put("sq",this.getName());
//先做显示后做下载功能时就这这里过不了,单调用时没有事
jasperPrint = JasperFillManager.fillReport(jasperReport,map,con);
byte[] b = JasperExportManager.exportReportToPdf(jasperPrint);
java.io.OutputStream os = response.getOutputStream();
os.write(b,0,b.length);
os.flush();
os.close();
...全文
相关推荐
JAVA面试100题.doc
JAVA面试100题
Java程序挂掉的几种可能
花了一整天在跟踪一个问题,每次感觉已经快找到原因的时候发现现象又变了,我觉得从中吸取的教训可以给大家分享一下。 为了重现这个现象,我写了一个简单的例子。在本例中,先初始化了一个map,然后用一个无限循环将一些键值对插入到map里面: class Wrapper { public static void main(String args[]) throws Exception { Map map = System.getProperties(); Random r = new Random(); while (true) { map.put(r.nextInt(), "valu
JVM内存配置优化
jvm优化;
086、案例实战:每秒仅仅上百请求的系统为什么会因为OOM而崩溃.pdf
086、案例实战:每秒仅仅上百请求的系统为什么会因为OOM而崩溃.pdf
tomcat性能配置
tomcat性能配置 tomcat内存 jvm内存 tomcat连接数 tomcat最大连接数


