`

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

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    根据配置文件获取数据库连接,根据传入sql执行sql 调用案例:dbConnectTest.sh "pssc_jk" "select sysdate from dual;" 参数介绍: "pssc_jk" 指配置文件中配置的数据库连接串 “SQL”要执行的SQL,可以是增删改...

    快速启动SQL2005数据库

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

    SQL数据库可疑处理

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

    SQL数据库挂不起来

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

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

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

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

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

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

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

    SQL启动失败3414解决办法

    这一步骤必须在SQL Server服务停止时执行,且需谨慎操作,因为它会影响所有依赖于`model`数据库的用户数据库。 6. **检查硬件和操作系统**: 硬件故障或操作系统问题也可能导致3414错误。确保磁盘没有问题,并检查...

    SQLServer数据库管理常用的SQL和T-SQL语句

    使用以下 T-SQL 语句可以查看当前数据库服务器上的所有数据库用户所属的角色信息: ```sql SP_HELPSRVROLEMEMBER; ``` 这将返回当前数据库服务器上的所有数据库用户所属的角色信息。 修复迁移服务器时孤立用户 ...

    SQL2000 2005 批量附加数据库工具

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

    java定时执行sql语句

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

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

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

    sql批量附加数据库v3.2

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

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

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

    启动SQL Server时自动执行存储过程

    需要注意的是,启动时执行的存储过程不能有任何输入参数,并且每个启动过程在执行时都会占用一个连接。如果需要在启动时执行多个过程,但不需要并行执行,可以指定一个过程作为启动过程,让该过程调用其它过程。这样...

    《SQLServer数据库管理与开发》习题答案.pdf

    通过这些习题,学习者可以掌握如何在不同操作系统上安装不同版本的SQL Server,如何使用服务管理器控制服务,以及如何利用企业管理器和查询分析器进行数据库管理。此外,理解数据库文件的结构和功能,以及如何进行...

    sql2000附加数据库错误602解决方式

    - 注意:这可能会导致数据丢失,因此在执行前请确保已经备份了所有重要数据。 2. **手动检查并修复**: - 如果`DBCC CHECKTABLE`命令未能解决问题,可以尝试手动检查和修复数据库。 - 首先确定哪些表或索引存在...

    java操作mysql数据库,不写sql语句版

    在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...

    bat文件执行sql文件后导入到sql 2008 R2数据库

    本主题将深入探讨如何使用批处理(bat)文件来执行SQL脚本,并将数据导入到SQL Server 2008 R2数据库中。这通常用于批量操作、定时任务或者在没有图形用户界面的情况下进行数据库维护。 首先,我们需要理解`bat`...

Global site tag (gtag.js) - Google Analytics