Sring mvc +mybatis部署tomcat导致tomcat启动假死

问题描述

Sring mvc +mybatis部署tomcat导致tomcat启动假死

mybatis如果出现如下错误会导致tomcat假死并且等待很长时间才报错,错误信息不准确,导致tomcat栈溢出,修改了tomcat内存参数之后,错误原因可以看出来,但是tomcat终端一直报错,停不下来,求解
Spring公共配置

<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 -->
<context:component-scan base-package="com.hukan.hkhx">
    <context:exclude-filter type="annotation"
        expression="org.springframework.stereotype.Controller" />
    <context:exclude-filter type="annotation"
        expression="org.springframework.web.bind.annotation.ControllerAdvice" />
</context:component-scan>

<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
    <property name="typeAliasesPackage" value="com.hukan.hkhx.entity" />
    <!-- 显式指定Mapper文件位置 -->
    <property name="mapperLocations" value="classpath:/mybatis/*/*Mapper.xml" />
</bean>
<!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.hukan.hkhx.repository.*" />
    <property name="annotationClass" value="com.base.common.MyBatisRepository" />
</bean>

<!-- 另一个事务管理器, Jdbc单数据源事务 -->
<bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager"
    proxy-target-class="true" />

<!-- JSR303 Validator定义 -->
<!-- <bean id="validator"
    class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" /> -->

<!-- production环境 -->
<beans profile="production">
    <context:property-placeholder
        ignore-unresolvable="true" location="classpath*:/application.properties" />

    <!-- 数据源配置, 使用Tomcat JDBC连接池 -->
    <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
        destroy-method="close">
        <!-- Connection Info -->
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />

        <!-- Connection Pooling Info -->
        <property name="maxActive" value="${jdbc.pool.maxActive}" />
        <property name="maxIdle" value="${jdbc.pool.maxIdle}" />
        <property name="minIdle" value="0" />
        <property name="defaultAutoCommit" value="false" />
    </bean>

解决方案

http://blog.csdn.net/huangcongjie/article/details/7638912

解决方案二:

启动一直卡在这个界面

解决方案三:

是配置之后就一直这样还是你写了这个方法之后这样了?

解决方案四:

现在的项目也是这个框架,刚开始也是启动不了,每次都是加载到jdbc配置时不动了,然后超过tomcat 启动限制时间才报错。但报错又不准确,后来才发现是mybatis sql 配置文件里写错了。所以出现这种问题检查自己的sql 配置文件吧

解决方案五:

现在的项目也是这个框架,刚开始也是启动不了,每次都是加载到jdbc配置时不动了,然后超过tomcat 启动限制时间才报错。但报错又不准确,后来才发现是mybatis sql 配置文件里写错了。所以出现这种问题检查自己的sql 配置文件吧

解决方案六:

这应该是mybatis的一个bug,编译错误,没有报异常抛出来。
解决办法如下
http://codeorg.cn/exceptions/view/java/1.html

时间: 2024-10-29 11:59:38

Sring mvc +mybatis部署tomcat导致tomcat启动假死的相关文章

spring mvc-Spring mvc+mybatis+maven的项目tomcat启动的时候,控制台不输出xml文件的加载信息

问题描述 Spring mvc+mybatis+maven的项目tomcat启动的时候,控制台不输出xml文件的加载信息 2014-3-17 9:52:18 org.apache.catalina.core.AprLifecycleListener init信息: Loaded APR based Apache Tomcat Native library 1.1.24 using APR version 1.4.6.2014-3-17 9:52:18 org.apache.catalina.co

setTimeout 导致的浏览器假死

 问题   前几天,同事遇到一个浏览器假死的问题.就是浏览器在响应一个请求的时候,就突然不响应时间,进入假死状态,Cup也飙升到100%. 但是这个问题只出现在IE浏览器,chrome和Firefox等其他浏览器正常. 原因 Js 代码里面,看着也没有什么耗时的操作和后台异步调用.没办法,只能从响应事件的最开始一步一步调查.经过一番调试之后,问题定位在setTimeout 函数.当把setTimeout 里面执行的函数去掉之后,立马就不会出现这种情况.查看setTimeout 里面调用的函数,发

mac: vmware fusion中cent os启动假死的解决办法

环境: mac os X 10.9.2 + vmware 6.0.2 + cent OS 6.5 minimal 现象: Booting CentOS (2.6.32-358.e.l6.i686) in 0 seconds... 启动到这里就卡住了 解决办法: 参考这里 https://www.centos.org/forums/viewtopic.php?t=4769 启用时,先按任意键,进到选择菜单 , 按e键 -> 上下选择到 kernel这行 -> 再按e进入编辑模式 -> 等屏

FusionCharts Free 导致的页面假死

问题描述 在IE8下测试,使用FusionChartsFree的页面加载时会有很明显的假死现象(就是卡主不动),求哪位有大神路过帮下忙 解决方案 解决方案二:...如果这个BUG解决不了年都不好过啊求大神指路

关于JaserReport报表的应用导致tomcat无限占用内存问题

问题描述 最近启动tomcat时,用top查看内存占用为7%左右.2小时后为13%左右.4小时后为20%左右.8小时后内存用完,死机!这期间内存一直是上涨,没有下降过,即使一个晚上不连接不操作,第二天还是居高不下,没办法只好重启tomcat.    我下载了个jProfiler来查看了下,那个类在占用着资源,发现这个net.sf.jasperreport.engine.fill包下的JRTemplatePrintText类,其Instance count不断增加,其占用的内存也不断上涨,我查看了

spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错

问题描述 spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错 Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YE

tomcat启动报错-启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急。

问题描述 启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急. Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context

tomcat部署一个新项目启动报错,老项目可以正常启动

问题描述 tomcat部署一个新项目启动报错,老项目可以正常启动 CompilerOracle: exclude org/hibernate/cfg/annotations/SimpleValueBinder.setType 2014-12-29 10:52:52 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.20. 2014-12-

当使用java-buildpack打包部署的app启动后,如何去访问app部署所在的Tomcat的web控制台?

问题描述 在CloudFoundry上部署一个javaweb应用时,默认会使用CloudFoundry自带的java-buildpack来打包部署该web应用.在使用java-buildpackstageapp时,会先启动Tomcat,然后Tomcat会去自动扫描其部署目录中的war包,部署并启动该web应用.因为应用实例是跑在wardencontainer里的,在外部只能通过warden所在的DEA虚机的ip:port进行对容器内应用的访问(通过DNAT将DEA的ip:port转换成warde