ibatis+spring+struts 有时候抛出这个异常,有时没有,那个页面每次点击都很慢,

kissstill 2012-05-15 05:05:00
SqlMapClient operation; SQL [];
--- The error occurred in com/ck/mcbnrt/model/OrFdrConfirm.xml.
--- The error occurred while applying a result map.
--- Check the OrFdrConfirm.orFdrConfirm.
--- The error happened while setting a property on the result object.
--- Cause: java.sql.SQLException: Io 异常: Socket closed;
nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/ck/mcbnrt/model/OrFdrConfirm.xml.
--- The error occurred while applying a result map.
--- Check the OrFdrConfirm.orFdrConfirm.
--- The error happened while setting a property on the result object.
--- Cause: java.sql.SQLException: Io 异常: Socket closed


*********************配置xml*************************
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd" >


<sqlMap namespace="OrFdrConfirm">
<resultMap id="orFdrConfirm"
class="com.ck.mcbnrt.model.OrFdrConfirm">
<result column="partner_carrier_cd" property="partnerCarrierCd"
jdbcType="VARCHAR" />
<result column="serv_carrier_cd" property="servCarrierCd"
jdbcType="VARCHAR" />
<result column="file_nm" property="fileNm" jdbcType="VARCHAR" />
<result column="record_count" property="recordCount"
jdbcType="NUMBER"/>
<result column="nr_count" property="nrCount" jdbcType="NUMBER"/>
<result column="diff" property="diff" jdbcType="NUMBER"/>
<result column="gen_tm" property="genTm" jdbcType="DATE"/>
</resultMap>


<select id="queryOrFdrConfirm" parameterClass="java.util.Map"
resultMap="orFdrConfirm">
select * from (select rownum rownum_,row_.* from (select partner_carrier_cd,
serv_carrier_cd,
file_nm,
record_count,
nr_count,
nr_count - record_count as diff,
gen_tm
from (select partner_carrier_cd,
serv_carrier_cd,
file_nm,
record_count,
gen_tm,
(select count(rowid)
from nrtdba.ic_nr_file t2
where t2.fdr_file_nm = t.file_nm
and t2.partner_carrier_cd = t.partner_carrier_cd ) as nr_count
from (

select t1. partner_carrier_cd,
t1.serv_carrier_cd,
t1.file_nm,
t1.record_count,
t1.gen_tm
from nrtdba.og_fdr_file t1
where t1.gen_tm between TO_DATE('2012-05-10','yyyy-MM-dd') and TO_DATE('2012-05-10','yyyy-MM-dd')

) t)
order by diff desc
<![CDATA[)row_ where rownum <= 30) where rownum_ > 0]]>
</select>

<select id="queryOrFdrConfirmCount" parameterClass="java.util.Map"
resultClass="long">
select count(*) from nrtdba.og_fdr_file t1 where
to_date(to_char(t1.gen_tm, 'yyyy-MM-dd'), 'yyyy-MM-dd') between
#bGenTm# and #eGenTm#
</select>

</sqlMap>
...全文
268 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kissstill 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

也许是查询太慢导致timeout了,socket就close了。纯属猜测
[/Quote]

你说的timeout是指的哪里的timeout,配置数据源的吗 还是数据库本身查询太慢socket close了
kissstill 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

也许是查询太慢导致timeout了,socket就close了。纯属猜测
[/Quote]
怎么给大家分呢 我还不会 在哪里
cseu 2012-05-16
  • 打赏
  • 举报
回复
也许是查询太慢导致timeout了,socket就close了。纯属猜测
kissstill 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

sql直接在数据库运行一下看看结果,可能有些应该返回数字的值返回的是null,加上nullValue试试,比如<result column="nr_count" property="nrCount" jdbcType="NUMBER" nullValue="0"/>
[/Quote]

加上和不加都正常,我已经加上了 ,无参构造也有了, 本地怎么都造不出那个错误 ,这是最晕的
kissstill 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

sql直接在数据库运行一下看看结果,可能有些应该返回数字的值返回的是null,加上nullValue试试,比如<result column="nr_count" property="nrCount" jdbcType="NUMBER" nullValue="0"/>
[/Quote]

你说的对 我考虑了一星期也得出就是socket colsed 造成返回值异常 然后使得ibatis有了问题,问题是怎么其他页面没问题呢 好晕

并且在数据库执行SQL时 那个SQL确实有些慢比其他的,当然也不排除数据量大和连接查询的可能,但还是觉得那个查询怎么那么慢
kissstill 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Cause: java.sql.SQLException: Io 异常: Socket closed;
应用服务器与数据库之间的网络链接不稳定
[/Quote]

对经过多时的考虑 我发现网络可能有问题 但是其他页面能正常打开 就这个 很慢 有时就出错,数据库是2个表的连接,数据量是600万和27万,老大说也不大啊
wflyxiaonian 2012-05-16
  • 打赏
  • 举报
回复
网络问题,不是代码问题 就是考虑也应该考虑性能问题
  • 打赏
  • 举报
回复
Cause: java.sql.SQLException: Io 异常: Socket closed;
应用服务器与数据库之间的网络链接不稳定
cseu 2012-05-16
  • 打赏
  • 举报
回复
sql直接在数据库运行一下看看结果,可能有些应该返回数字的值返回的是null,加上nullValue试试,比如<result column="nr_count" property="nrCount" jdbcType="NUMBER" nullValue="0"/>
kissstill 2012-05-15
  • 打赏
  • 举报
回复
有人回答吗
kissstill 2012-05-15
  • 打赏
  • 举报
回复
已经快一个星期了 移动那边开始催了 nnd 有时好有时坏 这种问题真是垃圾解决起来

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧