Hey all,
This is a continuation of my last post labeled "Cayenne, tapestry,
tomcat plumbing". I've tweaked my code quite alot, consulted the
tapestry boards, and read as much as I could, but I still can't figure
out what is quite happening with my application. Here is the summary
of the problem:
There is a table called TblPerson, which contains around 500 rows.
I've scaled down the ObjEntity and the DbEntity so that the only 3
fields I grab from the databse are PersonID, FirstName, and LastName.
Here is what is happening:
When I restart the tomcat server, the application runs fine. The page
does take about 5 seconds on average to load, but I believe that is
because the names are populating an html <select> field and it takes
time to render.
Somewhere between 10 to 15 reloads of the same page, the application
starts to break down. The most common error I see is a
OutofMemoryError. Occasionally, I will get a different error, which
is:
java.sql.SQLException: TDS Protocol error: Invalid packet type 0xa
.
.
.
org.objectstyle.cayenne.access.DefaultResultIterator.close(DefaultResultIterator.java:363)
I am accessing SQLServer using the jtds JDBC driver (jdts.sourceforge.net).
Here is the catch: Even if I reload the web application, it still
continues to not work. It is only after I've stopped and restarted
tomcat is when it will start working, 10-15 times before it breaks
again.
Without knowing the inner workings of either technology, I am thinking
the error lies in:
1) connection pooling
2) reusable components in tapestry
I've also increased the JVM memory settings (using the -Xmx flag) to 256 megs.
This error is very specific and I know this is a longshot, but any
advice/suggestions would be much appreciated. Thank you all very much,
Jin Lee
This archive was generated by hypermail 2.0.0 : Mon Jan 17 2005 - 14:01:26 EST