发布网友 发布时间:2022-04-25 16:48
共1个回答
热心网友 时间:2023-11-05 04:37
java.net.SocketTimeoutException是连接到数据库超时,属于jdbc跟数据库连接这一块的,超时后可以选择重新连接。
MySQLTimeoutException是jdbc等待sql执行返回的时候超时,属于jdbc对于执行sql的一个超时处理,超时后不再等待sql的返回,但是数据库端该sql还是在执行的追问不是, socketTimeoutException read time out 这个异常也可以发生在建立连接后,udpate 时,这个怎么解释呢?
追答mysql> show variables like '%timeout%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 28800 |
+----------------------------+-------+
10 rows in set
连接建立后也不能保证他不会断开。
连接建立后数据库会等待读取客户端的命令输入,超时后回抛出异常