JDBC 设置查询超时()

本文介绍了一个类似Hadoop架构的提数系统,客户端和服务端通过HTTP通讯,利用JDBC进行数据库查询,并讨论了JDBC查询超时设置问题及不同版本驱动的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          最近项目中写了个提数的的系统,该系统架构类似Hadoop里面的namenode和tasknode工作方式,客户端好像是tasknode,服务端namenode,是通过http通讯。

        

          客户端从服务端领取提数任务时候,每个任务都启动下单独的客户端(jar包)去执行,提取数据生成cvs或者txt的文档,发送到网盘中,然后客户端执行完成退出。

 

        mysql和oracle通过JDBC方式去查询,hive是通过调用hive的CLI去查询。

     

        因为提数需要执行很长时间,所以需要对JDBC的查询超时进行设计,通过API查询是通过Statement类的setQueryTimeout方法设置超时时间,在设置的时候发现个的问题,比如说stat.setQueryTimeout(1);查询的数据的执行时间已经大于1s,但是并没有抛异常,而是进程一直等待,使用的jdbc驱动是使用mysql-connector-java-5.1.5,后来把jar的换成5.1.24就抛异常,看来是jar版本的问题,后来去上mysql的bug列表也找到这个问题的描述,和我遇见的问题一样,http://bugs.mysql.com/bug.php?id=31698  ,问题虽然不是很严重,写出来省的大家再走弯路。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值