2 itexplorersfather itExplorersFather 于 2015.06.01 09:57 提问

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>

6个回答

devmiao
devmiao   Ds   Rxr 2015.06.01 10:00
itExplorersFather
itExplorersFather 我这种情况不是页面假死,而是tomcat无法启动,卡死在启动界面
2 年多之前 回复
itExplorersFather
itExplorersFather   2015.06.01 10:00

启动一直卡在这个界面图片说明

beacon_2011
beacon_2011   Rxr 2015.06.01 10:31

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

itExplorersFather
itExplorersFather 写了这个方法之后,如果把String000改成String项目可以正常启动,没有任何问题
2 年多之前 回复
w314969805
w314969805   2015.12.05 11:02

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

w314969805
w314969805   2015.12.05 11:02

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

nanPrivate
nanPrivate   2016.03.26 09:55

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

Csdn user default icon
上传中...
上传图片
插入图片