[thelist] Passing a very large data session-wide.

VOLKAN ÖZÇELİK volkan.ozcelik at gmail.com
Thu Sep 8 08:03:28 CDT 2005

Hi all !

We are developing an enterprise application using JSP / J2EE /
Websphere on an array of IBM e-servers.That is our ram + cpu etc are
pretty adequate for the time being.

However we are adding more and more agencies (the final target is a
distributed nation-wide web app) Me and several others in other
department are responsible for optimization / technology development /
security issues.

After this much introduction here is my scenario:

In a specific module of our app we need to store a large HTML file to
a log table for both reference and security reasons (so that if an
agent alters the output somehow we have the orignal copy in hand).

What we basically do is:

1. create a stringbuffer.
2. fill the buffer with a lot of information, legal disclaimers,
monetary info, currency rates, bills etc. etc.
4. set output = buffer.toString();
5. session.setattribute( "whatever",output );

... do other transactional stuff ...

at a downward place on the flowchart.

1. store session.getAttribute("whatever") to database.
2. session.removeAttribute("whatever")

Which effectively means that we store a very large data in memory for
some time. This procedure is used a few thousand times per day by a
few hundered clients.

It is likely that the number of clients will increase from a few
hundereds to several thousands (the application is in pilot phase; if
it succeeds the second phase is increasing its coverage

When I see usage of session object as a datastore I jump out of my
seat several inches above.

My questions are:

- Does this approach makes sense in terms of storing a very large data
? (given that the data is stored on the session for the smallest time
possible and we ensure that it is removed when the procedure ends or
an exception is thrown and the procedure fails.)

- Will I be better off storing it on a temporary text file
(sessionID.txt) saving it and reading from that file instead of
dumping a very large data into session?

- Are there any other ways around that may come to your mind?

Thank you very much in advance;

More information about the thelist mailing list