`
langzhe
  • 浏览: 288317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ChicagoBoss mysql 连接自动断开2 解释

 
阅读更多

ChicagoBoss mysql 连接自动断爱 提到断开的两种原因

 

Mysql 模认8小时后自动断开,进程应该监听并能主动再次连接。

 

花了点时间读了点源码

 

boss_db:start

       |

       |-------------> boss_db_sup:start_link  <one_for_one>

                                                |

                                                |------------------------>poolboy:start_link  <gen_fsm, db_controller>

                                                                                                              |

                                                                                                              |---------------->poolboy_sup:start_link <simple_one_for_one>

                        |

                        |---------->boss_db_controller:start_link

                                                                   |

                                                                   |------->boss_db_adapter_mysql

 

1、首先在boss_db_controller的init中添加process_flag(trap_exit, true),

并添加
172 handle_info(stop, State) ->
173     error_logger:info_msg("~p:handle_info line ~p stop~n", [?MODULE, ?LINE]),                                                                     
174     {stop, shutdown, State};
175 handle_info({'EXIT', Pid, Why}, State) ->
176     error_logger:info_msg("~p:handle_info line ~p {Pid, Why}=~p~n",
177         [?MODULE, ?LINE, {Pid, Why}]),
178     {stop, shutdown, State};

来主动停止程序,让poolboy_sup重启子进程。
2、其次在boss_db_adapter_mysql.erl
 22     mysql_conn:start(DBHost, DBPort, DBUsername, DBPassword, DBDatabase,                                                                     
 23         fun(_, _, _, _) -> ok end, Encoding, DBIdentifier).
改为
 22     mysql_conn:start_link(DBHost, DBPort, DBUsername, DBPassword, DBDatabase,                                                                     
 23         fun(_, _, _, _) -> ok end, Encoding, DBIdentifier).

修复以上可以解决此问题
0
1
分享到:
评论

相关推荐

    mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案

    修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to wait 8hours in idle status. wait_timeout =86400 相关参数,红色部分 mysql&gt; show variables like ‘%timeout%’; +————————...

    nodejs 关于mysql模块 连接超时自动断开解决方法

    nodejs 关于mysql模块 连接超时自动断开解决方法,在这块遇到的坑,而且坑了很久才找到的,分享只为求分

    qt中mysql超时自动断开连解决方案.txt

    可以直接通过设置来达到重连问题,方法很简单,里面有复现自动断开连接导致不能正常插入数据的方法,是自己没有积分所以才要积分

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.pdf

    解决 MySQL+Hibernate 连接空闲8小时自动断开问题 概述: 在使用 MySQL 和 Hibernate 进行数据库持久层开发时,可能会遇到连接空闲8小时自动断开的问题。本文将讨论该问题的解决方案,并对相关的知识点进行详细...

    Qt Mysql重连保障

    使用Qt的方式访问Mysql 由于Mysql连接有时间限制,使用此方法可保证Mysql的正确使用

    MySQL连接工具 绿色版

    MySQL连接工具是数据库管理员和开发人员用来与MySQL服务器交互的重要应用程序。绿色版通常指的是免安装、便携式的版本,可以直接运行而无需在计算机上进行正式的安装过程,这对于需要在不同设备间移动工作或者不想...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.docx

    MySQL+Hibernate 连接空闲8小时自动断开问题解决方案 知识点1: Hibernate 的连接池机制 在 Hibernate 中,默认情况下 使用的是 DriverManagerConnectionProvider,这是一个简单的连接池机制。它将打开的连接缓存在...

    c# mysql数据库连接池实现

    在应用程序代码中,通过`DbContext`实例来访问数据库,连接池会自动管理数据库连接的创建和复用。 ```csharp using (var context = new MyAppDbContext(_dbContextOptions)) { var users = context.Users.ToList...

    OPC服务器软件KEPServer实现与MySQL连接

    OPC 服务器软件 KEPServer 实现与 MySQL 连接 OPC 服务器软件 KEPServer 是一种工业自动化领域中...通过 KEPServer 软件实现与 MySQL 连接,可以实现实时数据监控和分析,提高工业自动化领域中的生产效率和产品质量。

    ODBC访问MySQL

    ODBC(Open Database Connectivity)是微软推出的一种数据库访问标准,它提供了一种统一的方式来访问不同数据库系统,包括MySQL。在本教程中,我们将探讨如何利用C#语言通过ODBC接口来构建一个简单的数据库应用程序...

    nodejs封装好的mysql数据库模块,带mysql连接池以及百万测试数据

    在本模块中,使用了`mysql2`库提供的连接池功能。 3. **dbUtils.js**:这个文件很可能是封装数据库操作的工具类。它可能包含了初始化连接池、执行SQL语句、处理结果集等通用功能。通过这样的封装,可以简化代码,...

    mysql 连接闪断自动重连的实例

    下面将详细介绍如何处理MySQL连接闪断并进行自动重连。 1. **连接管理** - 创建连接:在PHP中,我们通常使用`mysqli`或`PDO_MySQL`扩展来连接MySQL数据库。例如,使用`mysqli`扩展创建连接: ```php $conn = ...

    MYSQL数据库连接偶尔连不上,几秒后又自动恢复

    在日常使用MySQL数据库的过程中,可能会遇到一种情况:数据库连接偶尔会出现无法连接的情况,但几秒钟之后这种状况又会自动恢复正常。这种情况虽然不会造成长时间的服务中断,但却会给用户带来不稳定的体验,并可能...

    MYSQL连接测试程序

    7. `mysql_close()`: 断开与服务器的连接。 在VC项目中,你需要包含必要的头文件(如`mysql.h`)并链接MySQL的库文件(如`libmysql.lib`)。接下来,我们看一个简单的查询示例: ```cpp #include &lt;mysql.h&gt; #...

    Informatica连接Mysql数据库案例

    步骤 2:配置 Mysql 数据库连接 1. 在 Informatica PowerCenter 客户端,选择“连接”菜单,点击“连接属性”。 2. 在“连接属性”对话框中,选择“ODBC”作为连接类型,输入 ODBC 驱动的路径。 3. 点击“应用”,...

    mysql服务自动停止解决方案.txt

    在mysql数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 web 应用程序出错。 1、操作步骤 我的电脑-右击-服务-找到mysql服务 双击新窗口中 -》恢复...

    mysql8和mysql5的连接驱动jar包

    本篇文章将详细讨论MySQL8与MySQL5在连接驱动jar包方面的差异,以及如何使用这些驱动来连接Java应用程序。 首先,让我们关注两个不同版本的驱动包:“mysql-connector-java-5.1.30.jar”和“mysql-connector-java-...

    Tomcat6连接池配置详解(自动重连)

    此时,Tomcat将能够正确地管理数据库连接,并在连接断开时自动尝试重新建立连接,大大提高了应用的稳定性和可用性。 #### 八、总结 通过上述步骤,我们详细介绍了如何在Tomcat6中配置连接池,并实现了数据库连接的...

Global site tag (gtag.js) - Google Analytics