在操作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)
{
}
}
使用正常
分享到:
相关推荐
"mysql服务端杀连接shell"就是针对这类问题的一个解决方案,它通常是一个脚本,用于在服务端终止不必要的或异常的MySQL连接。 在描述中提到的博文链接(由于实际无法访问,这里不做具体分析),通常会包含如何编写...
《Android应用源码带服务端多人在线扑克》是一款基于Android平台的多人在线扑克游戏源代码。这个项目不仅包含了客户端的Android应用源码,还包含了服务端的实现,为开发者提供了完整的多人游戏网络架构的参考。下面...
linux下mysql的安装卸载;卸载mysql;安装服务端;安装服务端
在设计用户界面时,可以创建一个通用的窗口,通过判断用户ID是否存在来决定执行添加还是更新操作。如果用户ID不存在,则视为新用户进行添加;反之,如果找到匹配的ID,则执行更新操作。这种设计提高了代码复用性,...
永不掉线自动重连多用户管理系统【服务端_客户端】 1、掉线自动重连 2、检测账号到期时间限制 3、检测账号重复登陆 4、检测软件更新 5、检测账号黑名单 7、服务端踢出用户 8、服务端与客户端交互数据 9、...
可以首页查看新闻公告信息,可以查询查找会议室信息,每个会议室的单价都不一样,用户选择自己满意的会议室开始下单,选择要预约的日期及时段提交订单,后端订单处理业务会自动判断订单是否有时间冲突,如果没有冲突...
学生在小程序客户端绑定手机号登录后,可以首页查看新闻公告信息,可以查询课程信息,用户选择自己的课程开始提交考勤信息,选择要考勤的日期及时段提交考勤记录,后端考勤处理业务会自动判断考勤是否有重复提交冲突...
毕业设计,微信小程序,基于SSM+MySql开发的微信小程序学生选课系统APP,内含服务端和小程序客户端,完整源代码,数据库脚本 微信小程序学生选课系统app设计后端SSM可升级SpringBoot毕业源码案例设计 开发技术:...
- **`[mysqld]`**: 这是服务端配置的部分。 - **`port:3306`**: 指定了MySQL服务器监听的端口号,默认情况下是3306。 - **`basedir=安装目录`**: 定义了MySQL的安装目录路径。 - **`datadir=数据存放目录`**: 数据库...
3. **游戏逻辑**:实现游戏规则,如计分系统、胜负判断,这部分逻辑可能需要与服务端协同工作。 4. **兼容性**:确保客户端能在不同的操作系统和硬件环境下运行,如Windows、MacOS、Linux等。 5. **资源管理**:...
客户端通过网络与MySQL服务端通信,执行查询操作。 - **连接管理器**:处理客户端连接请求,验证用户身份等。 - **查询缓存**:用于缓存查询结果,提高查询效率。 - **解析器**:解析SQL语句,将其转换成内部格式。 ...
3. **游戏逻辑处理模块**:“打小三”作为一款手游,其服务端会包含游戏规则的实现,比如玩家的动作判断、战斗结算、等级提升等,这部分代码会根据游戏的设计来编写。 4. **安全模块**:为了防止作弊和保护用户数据...
标题中的“五子棋(客户端+服务端)”指的是一个包含客户端和服务器端两部分的五子棋游戏项目。这个项目可能是一个在线平台,让用户能够通过互联网与其他玩家进行实时对战。五子棋是一种策略性棋类游戏,目标是先在...
Android登录注册功能实现,实现的Android客户端与php服务端交互,传输数据格式用的是json,能够从客户端想服务器的MySQL数据库中插入数据以及读取服务端的数据返回到客户端。内包含php文件,sql文件,java代码
这是一个基于Spring Boot、Vue.js和MySQL数据库开发的在线考试系统的项目。该项目涵盖了前端网页设计,后端服务开发以及数据存储管理等多方面的技术知识。以下将详细解释这些关键技术和它们在在线考试系统中的应用。...
在使用MySQL时,可以检查版本信息来确认当前的MySQL安装是否为期望的版本,如使用`SHOW VARIABLES LIKE 'version';`或`SELECT VERSION();`命令。 ### 总结 本教程提供了MySQL存储过程的基础知识,包括其定义、使用...
这可能涉及到Git或其他版本控制系统,用于跟踪代码更改,同时服务端需要有逻辑判断,以便根据客户端的当前版本推荐合适的升级路径。 安全性是服务端设计的另一大关注点。所有传输的数据必须加密,以防止中间人攻击...
实现的功能:通过Android客户端访问web服务器,实现一个登录功能,判断用户输入的用户名与密码是否与数据库的一致。 使用技术:服务端:Struts2+javabean+servlet(struts2的) 客户端:Android 4.0.2 数据库:MySQL...
【标题】:“基于Easy UI+jsp+servlet+mysql编写的在线考试系统” 这个项目是一个典型的IT毕业设计,它采用了一系列的技术栈来构建一个完整的在线考试系统。以下是该项目中涉及的关键技术点及其详细解释: 1. **...
3. **实时推送**:服务端将新问题或抢答结果推送给所有在线用户。 4. **错误处理与日志记录**:捕获并处理异常,记录操作日志以便排查问题。 5. **性能优化**:减少网络延迟,提升用户响应速度。 四、测试与部署 1....