I am having the strangest problem with Tomcat and inner classes.  In a few
JSP pages, we use inner classes (beefed up structs) to store information
retrieved from a database into a collection class (Vector).

It seems that somewhere between getting the data from the result set and
constructing and storing an instance of the (data holding) inner class in a
Vector, the data is getting corrupted (doubles only).

Example:

---- JSP -----

<%!
    // inner class
    class SomeClass
    {
          public double dSomeDouble;

          public SomeClass(double dSomeDouble)
          {
// label: point 2
              this.dSomeDouble = dSomeDouble;
              // some other data members
          }
    }
%>

<%
     // execute some query to get info, get results as JDBC ResultSet
oResult

     Vector oVecResults = new Vector()
     double dDoubleVal = oResult.getDobule(1);
// label: point 1 (dDobuleVal is intact)
     
     oVecResults.add(new SomeClass(dDoubleVal));
// label: point 3
%>

---- END JSP ----

At "point 1" the values retrieved from the database are intact, and remain
so until passed into the constructor of the inner class.  At "point 2"
dSomeDouble becomes corrupt (some random number out of memory), and remains
so past "point 3".

Added twist:  This problem only occurs after a page has been hit 5 times (3
times for larger pages).  (1st time, Tomcat compiles the page, next four
times the page is loaded in memory).

Config:  Apache Tomcat 4.0.1 (exact same problem found in Linux and Windows
versions).

Any ideas?  Extracting the inner class from the page fixes the problem, but
is not a desired solution.  Any help is appreciated.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to