`
langzhe
  • 浏览: 286445 次
  • 性别: 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的正确使用

    Qt Mysql超时断开后自动重连完美解决方法

    网上找了很多解决办法,几乎没有一个能完美解决问题的,大体都是首先执行一段query后看返回结果,但这个办法也太无用和耗费资源了吧...因为断开后isOpen和isValid都会返回true,所以不能从这里入手...

    MySQL连接工具 绿色版

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

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

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

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

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

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

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

    MYSQL连接测试程序

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

    MyEclipse连接MySQL数据库报错解决办法

    一般MySQL连接不上,可能有两大原因:1、MyEclipse配置错误 2、MySQL配置不当。 一、我们一般的连接步骤如下: 1、在MyEclipse中连接MySQL数据库:依次点击window–&gt;show view–&gt;other–&gt;MyEclipse Database–&gt;DB ...

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

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

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

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

    VS2013添加MySQL连接完美解决方案

    "VS2013添加MySQL连接完美解决方案"这个标题所指的就是解决这个问题的一种方法。 标题中的“完美解决方案”通常意味着一种全面且可靠的处理方式,能够确保用户在VS2013中顺利地与MySQL数据库进行交互。在这个案例中...

    MySQL表自动生成Java实体类

    2. **获取表信息**: 连接成功后,通过SQL查询获取数据库中的所有表名,或者根据需求指定特定表名。可以使用`SHOW TABLES;`命令来列出所有表。 3. **解析表结构**: 对每个表执行`DESCRIBE table_name;`命令,获取表...

    Win 10 ODBC SSH协议远程连接MySQL 3306.docx

    2. 使用 ODBC 连接连接到远程 MySQL 服务器。 自动建立 SSH 连接 在 Win 10 子系统中,可以使用配置文件来自动建立 SSH 连接。例如,编辑 `/etc/ssh/sshd_config` 文件,修改配置如下: ``` Port = 5222 ...

    mysql连接.net 的工具

    连接池管理数据库连接的生命周期,当连接关闭时,它不会真正断开,而是返回到连接池中供后续请求使用。 5. **异步操作** 为了提高性能和用户体验,Connector/NET支持异步操作,如`ExecuteNonQueryAsync`、`...

Global site tag (gtag.js) - Google Analytics