tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Len Popp" <len.p...@gmail.com>
Subject Re: Problem with Displaying Result of a MySQL Join in Tomcat
Date Mon, 04 Aug 2008 02:09:11 GMT
That error looks like a communication problem between Tomcat & MySQL,
but I don't know why it would only happen when accessing certain
columns. Perhaps someone who knows more about JDBC & MySQL can explain
what it means.
-- 
Len



On Sun, Aug 3, 2008 at 13:21, Glyn Thomas <glynthomas@comcast.net> wrote:
> Len,
> Thanks for your comments and interest.
>
> I hadn't thought to check the Tomcat log because the majority of the query appeared to
execute, but there is an error being put into the log, see below.  Note, this is with a slight
variation on the query that I added in my earlier post, but has the same symptoms.
>
> Aug 3, 2008 1:10:57 PM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet jsp threw exception
> java.net.SocketException: Software caused connection abort: recv failed
>        at java.net.SocketInputStream.socketRead0(Native Method)
>        at java.net.SocketInputStream.read(Unknown Source)
>        at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
>        at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
>        at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
>        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2428)
>        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2882)
>        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2871)
>        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3414)
>        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
>        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
>        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
>        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
>        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
>        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
>        at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doEndTag(QueryTagSupport.java:215)
>        at org.apache.jsp.index_jsp._jspService(index_jsp.java:371)
>        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
>        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
>        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>        at java.lang.Thread.run(Unknown Source)
>
> I ran the query in  MySQL Command Line Client on both XP and Vista and they return identical
results.
>
> Thanks
> Glyn
>
> -----Original Message-----
> From: Len Popp [mailto:len.popp@gmail.com]
> Sent: Sunday, August 03, 2008 11:31 AM
> To: Tomcat Users List
> Subject: Re: Problem with Displaying Result of a MySQL Join in Tomcat
>
> There might be a simpler solution than migrating to a completely
> different OS. :-)
>
> What exactly do you mean by "don't get retrieved"? Does it throw an
> exception? Is there an error message in Tomcat's log?
>
> When you execute the query in MySQL, do you get exactly the same
> results as on the old system? In particular, are the column names what
> you expect?
> --
> Len
>
>
>
> On Sat, Aug 2, 2008 at 20:02, Glyn Thomas <glynthomas@comcast.net> wrote:
>> I am in the process of converting a Tomcat front end for a MySQL database
>> from
>>
>> Windows XP to Windows Vista.
>>
>>
>>
>> The XP version used MySQL Version 5.0.22, Tomcat 5.5.20, JRE 1.5.0 release
>>
>> 12 with Tomcat JDK 4 Compatibility Pack, and J/Connector 5.0.6.
>>
>>
>>
>> The Vista version is using MySQL Version 5.0.51a, Tomcat 5.5.26, JRE
>>
>> 1.6.0_05, and J/Connector 5.1.6.
>>
>>
>>
>> I am unable to display any parts of a result set that are retrieved from
>>
>> JOINed tables in the Vista version - this works fine in the XP version.  I
>>
>> already tried converting the queries to use JOIN syntax instead of WHERE
>>
>> syntax, without improvement.
>>
>>
>>
>> For example, this query works correctly in the MySQL command line:
>>
>>
>>
>> SELECT
>>
>> i.ImageID,i.DateDay,i.DateMonth,i.DateYear,i.Location1,i.Location2,i.Scanned
>>
>> YN,i.MediaID,c.Description as 'Country', s.SubjectID, s.SubjectTypeID,
>>
>> i.CountryID,i.PhotographerID, i.VolumeNumber FROM image_tbl i JOIN
>>
>> lu_country_tbl c ON (i.countryid=c.countryid) JOIN xrf_image_subject_tbl si
>>
>> ON (si.Imageid=i.imageid) JOIN subject_tbl s ON (si.Subjectid=s.subjectid)
>>
>> WHERE (i.imageid=1234);
>>
>>
>>
>> In JSP, I retrieve the results of this query into an rsImages variable, and
>>
>> then iterate through the rows using:
>>
>>
>>
>> <c:forEach var="row" items="${rsImage.rows}">
>>
>>
>>
>> Rows that retrieve directly from the image_tbl work correctly e.g.
>>
>> ${row.ImageID} will display the image ID.
>>
>>
>>
>> However, elements from the joined tables, such as ${row.Country} and
>>
>> ${row.SubjectID} don't get retrieved.
>>
>>
>>
>> Any ideas?
>>
>>
>>
>> Thanks,
>>
>> Glyn Thomas
>>
>>
>>
>>
>>
>>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message