在操作MySQL时候需要判断Connection连接是否可用。
本人试验2种方式:
1.Socket(直连通过MySQL服务端IP、port来连接)
2.使用查询是否可用,否则抛异常来判断
本人选择第二种方式来判断
第一种:Socket
(直连通过MySQL服务端IP、port来连接)
Socket s_client = null;
try {
SocketAddress sa_add = new InetSocketAddress(cbd_obj.getUser_Ip().trim(),Integer.parseInt(cbd_obj.getUser_Port().trim()));
s_client = new Socket();
s_client.connect(sa_add,1000);//连接超过1秒则,抛SocketTimeoutException 异常
} catch (UnknownHostException e) {
System.out.println(e.getMessage());
return true;
} catch (SocketTimeoutException e) {
System.out.println(e.getMessage());
return true;
} catch (IOException e) {
System.out.println(e.getMessage());
return true;
}finally{
try {
if(s_client != null)
s_client.close();
} catch (IOException e) {
}
}
Socket频率过高会导致,多次建立连接会报 Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;,
所以不可行。
第二种 查询抛异常
Statement pingStatement = null;
try
{
pingStatement = cbd_obj.getC_Connection().createStatement();
pingStatement.executeQuery("/* ping */ SELECT 1").close();
return false;
}catch(CommunicationsException ce_sql){
try {
cbd_obj.getC_Connection().close();
} catch (SQLException e) {
}
return true;
} catch (SQLException e) {
return false;
}finally {
if (pingStatement != null)
try {
pingStatement.close();
}
catch (SQLException sqlEx)
{
}
}
使用正常
分享到:
相关推荐
linux下mysql的安装卸载;卸载mysql;安装服务端;安装服务端
可以首页查看新闻公告信息,可以查询查找会议室信息,每个会议室的单价都不一样,用户选择自己满意的会议室开始下单,选择要预约的日期及时段提交订单,后端订单处理业务会自动判断订单是否有时间冲突,如果没有冲突...
学生在小程序客户端绑定手机号登录后,可以首页查看新闻公告信息,可以查询课程信息,用户选择自己的课程开始提交考勤信息,选择要考勤的日期及时段提交考勤记录,后端考勤处理业务会自动判断考勤是否有重复提交冲突...
毕业设计,微信小程序,基于SSM+MySql开发的微信小程序学生选课系统APP,内含服务端和小程序客户端,完整源代码,数据库脚本 微信小程序学生选课系统app设计后端SSM可升级SpringBoot毕业源码案例设计 开发技术:...
Android登录注册功能实现,实现的Android客户端与php服务端交互,传输数据格式用的是json,能够从客户端想服务器的MySQL数据库中插入数据以及读取服务端的数据返回到客户端。内包含php文件,sql文件,java代码
实现的功能:通过Android客户端访问web服务器,实现一个登录功能,判断用户输入的用户名与密码是否与数据库的一致。 使用技术:服务端:Struts2+javabean+servlet(struts2的) 客户端:Android 4.0.2 数据库:MySQL...
毕业设计,微信小程序,基于SSM+UniApp开发的志愿者活动报名在线试卷考试系统,内含服务端和小程序客户端,完整源代码 基于uniapp微信小程序志愿者活动报名在线试卷考试系统设计 开发软件:Idea + 微信小程序...
本作业后端使用 springboot+mybatis,持久数据库使用 MySQL,前端使用 vue.js+element-ui 技术。使用前后端分离架构,前端项目使用 vue-cli 脚手架创建单页面应用。 模块设计及实现 1. 会员模块 a) 会员列表:显示...
实现的功能:通过Android客户端访问web服务器,实现一个登录功能,判断用户输入的用户名与密码是否与数据库的一致。 使用技术:服务端:Struts2+javabean+servlet(struts2的) 客户端:Android 4.0.2 数据库:MySQL...
login(client->server),小程序发给服务端,登录命令,服务端接收命令后,判断房间人数是否已满,未满则保存客户端websocket连接到列表,客户端用户信息存入redis,更新在线用户列表,然后发送init(server->client)...
### 数据库: Mysql、MongoDB ### 前端页面 由vue实现多页面搭建 创作中心由vue-cli搭建 图表等运用Echarts 视频详情页运用vue-nuxt 服务端渲染 利于SEO优化 ### 后端 由SpringBoot + Spring + SpringJpa 完成三层...
1、程序员面试题宝典的app软件 2、实现各种编程语言的章节练习,单元测试...6、使用MVC+三层架构搭建服务端,mysql数据库存储数据信息 7.采用jdk1.8以上,Android9.0以上,AndroidStudio开发软件,Mysql数据库环境开发
这种特性使得开发者能够轻松地在静态网页中插入动态内容,实现数据渲染、条件判断、循环处理等功能,极大地简化了Web开发流程。同时,PHP也支持纯脚本文件编写,适用于构建复杂的后台逻辑。 PHP语法简洁明了,借鉴...
1.通过定时器实时访问数据库标志位,就可以在局域网内判断对方是否在线离线,实时反应。 2.私聊中,普通消息的传输使用UDP协议,文件传输使用TCP协议,因为中间没有中转服务器,当给对方发送文件时,自己作为服务端...
手机mac查询判断:web端jsp输入添加mac到mysql,手机客户端输入mac点击发送到服务端判断,存在返回1,不存在返回0
(酒店管理系统) 大一下做的课程设计(酒店管理系统) java实现 桌面应用,(mysql数据库)适合大一学生学习,主要技术(日志,网络编程,多线程,IO,密码加密) Frame1 登录功能:具有找回密码和数据库密码加密功能; 注册功能:...
技术栈是:Springboot2.0+JPA+MYSQL+Lombok+Swagger2.0 正片开始: 先贴实体类代码: package com.dq.domain.user; import com.dq.domain.VO; import com.dq.domain.base.BaseEntity; import com.dq.utils.Tim
本项目是一个新闻客户端的项目源码,包括安卓客户端源码jsp服务端源码和mysql数据库。其实这套源码放在手里有半年了,一直静静的躺在杂乱的下载文件夹里,今天整理文件夹的时候翻出来了,祭出测试神器JspStudy把...
本项目是一个新闻客户端的项目源码,包括安卓客户端源码jsp服务端源码和mysql数据库。其虽然项目是一个做了半截的项目,但是值得参考的地方还是有的,比如登录判断网络,仿IOS对话框登录。dialog,如果错误窗口会...
调用了 精易模块 ...修改表 wei_chat issee字段 ...服务端在 ws收到消息 子程序里面 找到登录的那个部分 类型=9 需要加一个判断 总数< 10 MySQL.cha询 (存取列表, “SELECT * from wei_chat order by id ASC”, , , , )