473,406 Members | 2,371 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Limited number of objects in Java?

I'm using Jakarta-POI to create a huge Excel spreadsheet. I get the
error below when the spreadsheet grows to a large size. It seems to
have something to do with the number of "cell" objects that I create.
If I destroy other objects that I don't need any more, then I can
create more "cell" objects. Unfortunately, I cannot destroy any more
of my other objects without breaking the program. This does not appear
to be a problem that is specific to Jakarta-POI. I had the same
problem with my own custom objects, but in that case I was able to get
around the problem by only keeping a small number of those objects in
memory at any given time. I'm debugging this program through JBuilder
7 using Tomcat 4.0. Perhaps this is a problem with Tomcat and not with
Java? Any help would be appreciated.

StandardWrapperValve[invoker]: Servlet.service() for servlet invoker
threw exception
javax.servlet.ServletException: Invoker service() exception
javax.servlet.ServletException: Invoker service() exception
at org.apache.catalina.servlets.InvokerServlet.serveR equest(InvokerServlet.java:504)
at org.apache.catalina.servlets.InvokerServlet.doPost (InvokerServlet.java:216)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invok e(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(St andardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.in voke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.p rocess(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.r un(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:534)
Jul 17 '05 #1
2 3924

"Patrick" <Pa************@hotmail.com> wrote in message
news:35*************************@posting.google.co m...
I'm using Jakarta-POI to create a huge Excel spreadsheet. I get the
error below when the spreadsheet grows to a large size. It seems to
have something to do with the number of "cell" objects that I create.
If I destroy other objects that I don't need any more, then I can
create more "cell" objects. Unfortunately, I cannot destroy any more
of my other objects without breaking the program. This does not appear
to be a problem that is specific to Jakarta-POI. I had the same
problem with my own custom objects, but in that case I was able to get
around the problem by only keeping a small number of those objects in
memory at any given time. I'm debugging this program through JBuilder
7 using Tomcat 4.0. Perhaps this is a problem with Tomcat and not with
Java? Any help would be appreciated.

StandardWrapperValve[invoker]: Servlet.service() for servlet invoker
threw exception
javax.servlet.ServletException: Invoker service() exception
javax.servlet.ServletException: Invoker service() exception
at org.apache.catalina.servlets.InvokerServlet.serveR equest(InvokerServlet.java
:504) at org.apache.catalina.servlets.InvokerServlet.doPost (InvokerServlet.java:216) at javax.servlet.http.HttpServlet.service(HttpServlet .java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(Application
FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterCh
ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.ja
va:243) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66) at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.ja
va:190) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66) at org.apache.catalina.valves.CertificatesValve.invok e(CertificatesValve.java:2
46) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64) at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(St andardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:180
) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66) at org.apache.catalina.valves.ErrorDispatcherValve.in voke(ErrorDispatcherValve.
java:170) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170
) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64) at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java
:174) at org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66) at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.p rocess(HttpProcessor.java:
1012) at org.apache.catalina.connector.http.HttpProcessor.r un(HttpProcessor.java:1107
) at java.lang.Thread.run(Thread.java:534)


Jakarta POI keeps all data for an Excel sheet in memory. It is obvious that
the maximal size of your heap (what size did you set for the process?) will
limit the size of the Excel sheet.

Does anyone know of a good pure Java Excel generation library that can
stream its output directly using a (kind of) constant amount of memory?

Regards,

Silvio Bierman
Jul 17 '05 #2
Silvio, try the Formula One e.Spreadsheet Engine from ReportingEngines
(www.reportingengines.com.

"Silvio Bierman" <sb******@idfix.nl> wrote in message news:<3f***********************@news.xs4all.nl>...
"Patrick" <Pa************@hotmail.com> wrote in message
news:35*************************@posting.google.co m...
I'm using Jakarta-POI to create a huge Excel spreadsheet. I get the
error below when the spreadsheet grows to a large size. It seems to
have something to do with the number of "cell" objects that I create.
If I destroy other objects that I don't need any more, then I can
create more "cell" objects. Unfortunately, I cannot destroy any more
of my other objects without breaking the program. This does not appear
to be a problem that is specific to Jakarta-POI. I had the same
problem with my own custom objects, but in that case I was able to get
around the problem by only keeping a small number of those objects in
memory at any given time. I'm debugging this program through JBuilder
7 using Tomcat 4.0. Perhaps this is a problem with Tomcat and not with
Java? Any help would be appreciated.

StandardWrapperValve[invoker]: Servlet.service() for servlet invoker
threw exception
javax.servlet.ServletException: Invoker service() exception
javax.servlet.ServletException: Invoker service() exception
at

org.apache.catalina.servlets.InvokerServlet.serveR equest(InvokerServlet.java
:504)
at

org.apache.catalina.servlets.InvokerServlet.doPost (InvokerServlet.java:216)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at

org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(Application
FilterChain.java:247)
at

org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterCh
ain.java:193)
at

org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.ja
va:243)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66)
at

org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at

org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.ja
va:190)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66)
at

org.apache.catalina.valves.CertificatesValve.invok e(CertificatesValve.java:2
46)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64)
at

org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at

org.apache.catalina.core.StandardContext.invoke(St andardContext.java:2343)
at

org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:180
)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66)
at

org.apache.catalina.valves.ErrorDispatcherValve.in voke(ErrorDispatcherValve.
java:170)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64)
at

org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170
)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
64)
at

org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at

org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java
:174)
at

org.apache.catalina.core.StandardPipeline.invokeNe xt(StandardPipeline.java:5
66)
at

org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:943)
at

org.apache.catalina.connector.http.HttpProcessor.p rocess(HttpProcessor.java:
1012)
at

org.apache.catalina.connector.http.HttpProcessor.r un(HttpProcessor.java:1107
)
at java.lang.Thread.run(Thread.java:534)


Jakarta POI keeps all data for an Excel sheet in memory. It is obvious that
the maximal size of your heap (what size did you set for the process?) will
limit the size of the Excel sheet.

Does anyone know of a good pure Java Excel generation library that can
stream its output directly using a (kind of) constant amount of memory?

Regards,

Silvio Bierman

Jul 17 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Firewalker | last post by:
Hello guys, I was wondering if you can give m little help with this. I am trying to write a small program that dial a phone number through the modem. Is it possible to do it in java? Any help? I...
1
by: opt_inf_env | last post by:
Hello, I would like to create a text area where user can write only a limited number of symbols. Anybody know whether it can be done in html?
4
by: 2003et | last post by:
Hi, I have a search system which shows results in REPEATER but, it shows, for example 80 data item once, but I want to show the results page by page in groups of 10. 1-10 11-20 21-30 ... etc....
3
by: Kenneth Keeley | last post by:
Hi How can I limit the number of results returned from and SQL database to a datagrid. Ie I only want to return the latest ten news items for a news and events page. Thanks Kenneth
0
by: Scirious | last post by:
People, is there a library that allow me to use unsigned numbers? I need this to implement a protocol but I don't want to have to keep masking a long number.
11
by: shiniskumar | last post by:
Ive got a double number. double n=47758.35; Inorder to get the decimal part of this number i did as follows long decPart = (long) ((n-Math.floor(n))*100); in most cases i get the correct...
8
by: mathieu | last post by:
Hi, I was trying to make an entry in a std::map be stored more efficiently. The struct contained 3 booleans discribing it's property, so I am trying to make it as compact as possible. Using a...
18
by: LOVE4EVER | last post by:
HI PPL I DID A SIMPLE PROGRAM THAT ADD 2 NUMBER BUT I AM HAVING PROBLEM IN ENTER THE NUMBER FROM THE USER import java.io.*; public class cal{ int a=0;
2
thatos
by: thatos | last post by:
I'm trying to write an algorithm which determines the shortest path between cities. So I have looked at some high level languages of the algorithms, if the is no path between two vertices, they...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.