By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,727 Members | 757 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,727 IT Pros & Developers. It's quick & easy.

Limited number of objects in Java?

P: n/a
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
Share this Question
Share on Google+
2 Replies


P: n/a

"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

P: n/a
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 discussion thread is closed

Replies have been disabled for this discussion.