`

数据库停止在启动起来会卡在sql执行上

 
阅读更多

名称: RecoveryFileThread4

状态: RUNNABLE

总阻止数: 2, 总等待数: 10

 

堆栈跟踪: 

java.net.SocketInputStream.socketRead0(Native Method)

java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

java.net.SocketInputStream.read(SocketInputStream.java:170)

java.net.SocketInputStream.read(SocketInputStream.java:141)

com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:100)

com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:143)

com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:173)

   - 已锁定 com.mysql.jdbc.util.ReadAheadInputStream@1e43713

com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2911)

com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3332)

com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3322)

com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3762)

com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)

   - 已锁定 com.mysql.jdbc.JDBC4Connection@6243c0

com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)

   - 已锁定 com.mysql.jdbc.JDBC4Connection@6243c0

com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1203)

   - 已锁定 com.mysql.jdbc.JDBC4Connection@6243c0

org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:198)

org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:198)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:497)

org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:62)

com.sun.proxy.$Proxy159.execute(Unknown Source)

org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:59)

org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:73)

org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:60)

org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)

org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)

org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)

org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:77)

org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)

org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)

org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)

sun.reflect.GeneratedMethodAccessor317.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:497)

org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)

com.sun.proxy.$Proxy17.selectOne(Unknown Source)

org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)

org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:68)

org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)

com.sun.proxy.$Proxy132.findExistByItem(Unknown Source)

com.sf.wopint.kafka.biz.impl.WmsActAllocationDetailsBiz.saveData(WmsActAllocationDetailsBiz.java:113)

com.sf.wopint.kafka.biz.impl.WmsActAllocationDetailsBiz.saveMessageToDB(WmsActAllocationDetailsBiz.java:183)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:497)

org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)

org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)

com.sun.proxy.$Proxy133.saveMessageToDB(Unknown Source)

com.sf.wopint.kafka.listener.RecoveryFileListener.recoveryFileBiz(RecoveryFileListener.java:133)

com.sf.wopint.kafka.listener.RecoveryFileListener.access$1(RecoveryFileListener.java:118)

com.sf.wopint.kafka.listener.RecoveryFileListener$RecoveryFileRunnable.run(RecoveryFileListener.java:104)

java.lang.Thread.run(Thread.java:745)

 

解决方法,配置mybatis最大执行时间

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

     <settings>

          <setting name="defaultStatementTimeout" value="60" />

     </settings>

</configuration>

 

<!-- MyBatis配置 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->

<property name="typeAliasesPackage" value="com.sf.wop.common.domain" />

<property name="configLocation" value="classpath:/META-INF/config/wop.common/mybatis/mybatis-config.xml"></property>

<!-- 显式指定Mapper文件位置 -->

<property name="mapperLocations" value="classpath:/META-INF/config/wop.common/mybatis/*Mapper.xml" />

<!-- 多个目录配置文件使用方式 -->

<!--

<property name="mapperLocations">

<list>

<value>classpath:/META-INF/config/wop.common/mybatis/*Mapper.xml</value>

<value>classpath:/META-INF/config/wopint.kafka/mybatis/*Mapper.xml</value>

</list>

</property> 

-->

</bean>

分享到:
评论

相关推荐

    sqlserver多数据库自启动定时备份工具批量执行脚本

    "sqlserver多数据库自启动定时备份工具批量执行脚本"是一种高效的方法,它允许管理员自动化备份多个数据库,特别是在系统启动时自动运行,以确保数据始终得到保护。这个解决方案尤其适用于那些包含大量关键数据和对...

    SQL数据库自动启动和附加数据库源码

    综上所述,SQL Server的自动启动和数据库的自动附加是数据库管理中的重要环节,尤其对于那些需要持续运行且数据访问频繁的系统。理解并掌握这些操作,能够帮助管理员更高效地管理和维护数据库系统,确保业务的稳定...

    数据库客户端工具A5 sql

    这款工具以其高效、用户友好的特性,让数据库管理员和开发人员能够轻松执行SQL查询、管理和维护数据库。 在A5 SQL中,"数据一览"功能是一个关键亮点。它允许用户以一种直观的方式查看数据库中的数据。这里的“列明...

    快速启动SQL2005数据库

    首先,标题中的“快速启动SQL2005数据库”指的是在操作系统中迅速地使SQL Server 2005实例进入运行状态,以便用户可以进行查询、数据管理或其他相关操作。SQL Server 2005提供了多种启动方式,包括通过服务管理器、...

    SQL数据库可疑处理

    启动 SQL Server 服务,并新建同名数据库,文件目录和日志目录与原数据库相同。 3. 用备份的数据库文件替换新的数据库文件 停掉 SQL Server 服务,并用备份的数据库文件替换新的数据库文件(只替换数据库文件,不...

    Intouch的SQL数据库配置

    在Intouch SQL数据库配置中,需要启动Alarm DB Logger Manager。启动后,需要单击“开始”按钮,以便启动Intouch系统。 八、Intouch AlmDbViewCtrl属性设置 在Intouch SQL数据库配置中,需要对AlmDbViewCtrl进行...

    SQL数据库挂不起来

    然而,"SQL数据库挂不起来"这个问题表明可能存在一些故障或配置问题,影响了数据库服务的启动。这里我们将深入探讨可能的原因及解决方法。 首先,"SQL挂不起来"可能是由于多种因素引起的,包括但不限于以下几点: ...

    Sql Server 数据库超时问题的解决方法

    Sql Server 等待响应时间是指 Sql Server 数据库在执行查询或存储过程时,等待响应的时间。在 Sql Server 2000 中,可以通过设置 sp_configure 的 query wait 选项来调整等待响应时间。query wait 选项可以设定一个...

    中控考勤软件sqlserver数据库建立办法

    步骤 4:执行数据库脚本 在对象资源管理器中,选中新建的数据库,再新建查询,然后把之前复制的 SQL Server 数据库脚本粘贴到查询分析器中。 步骤 5:执行脚本 确认脚本文件复制粘贴成功之后,执行(或按 F5)...

    oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

    批处理文件(如.bat文件)在Windows环境中是一种高效的方式,可以自动化执行一系列命令,包括连接数据库和执行SQL语句。在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建...

    sql server 数据库巡检

    * 数据库巡检报告是对数据库当前状态的总结,包括硬件平台、服务器序列号、CPU 型号、内存、硬盘型号、主机名、IP 地址、操作系统版本、数据库版本、数据库架构、数据库名称、数据库大小、数据库启动时间、当前会话...

    sql批量附加数据库v3.2

    在没有这样的工具时,我们需要在SQL Server Management Studio (SSMS) 中对每个数据库执行单独的附加操作,这会耗费大量时间。"sql批量附加数据库v3.2" 解决了这个问题,允许用户一次性指定多个数据库文件进行附加,...

    java定时执行sql语句

    通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...

    SqlDbx 数据库连接工具 可连接多个数据库

    8. **跨平台支持**:SqlDbx可在Windows、Linux和macOS等操作系统上运行,满足不同用户的使用需求。 在安装SqlDbx3.4_Mulity.exe文件时,用户应按照安装向导的步骤进行,选择合适的安装路径,配置必要的数据库驱动,...

    怎么使用C语言连接SQL数据库

    在本节中,我们将探讨如何编写一个简单的C程序来连接到SQL数据库,并执行基本的查询操作。这里以一个示例程序为基础,讲解其各个部分的作用及实现原理。 ```c #include #include #include #include"util.h" #...

    SQL2000 2005 批量附加数据库工具

    而`AttachDataBase.exe`则是可执行程序,运行这个文件就可以启动批量附加数据库的界面和逻辑。 总之,SQL2000和SQL2005批量附加数据库工具通过简化和自动化数据库附加过程,大大提升了数据库管理的效率。对于那些...

    SQL2000数据库置疑解决办法

    可以在SQL Server Enterprise Manager里面建立。 B.停掉数据库服务器。 C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。 D.启动...

    SQL Server 2005 定时执行SQL语句的方法

    SQL SERVER 2005有定时任务,你可以启动一下。不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程。 1、设置“SQL Server 代理”(SQL Server Agent)服务随系统启动 –我的电脑–控制面板–管理工具–...

    SQLServer脚本批量执行工具

    SQLServer脚本批量执行工具是一种高效管理SQL Server数据库的实用程序,它允许用户一次性执行多个SQL脚本,显著提高了数据库管理员的工作效率。该工具的主要功能包括脚本的顺序执行、执行结果的记录以及脚本的可视化...

    Oracle数据库启动与停止bat文件

    1. 在执行bat文件之前,请确保Oracle服务器用户具有足够的权限,并且数据库实例的相关服务配置正确。 2. 使用`shutdown immediate`可能会导致未提交的事务丢失,因此在生产环境中谨慎使用,必要时选择`shutdown ...

Global site tag (gtag.js) - Google Analytics