zoukankan      html  css  js  c++  java
  • Manual close is not allowed over a Spring managed SqlSession

      

      原因:SqlSessionTemplate你不可以手动关闭。SqlSessionTemplate是一个代理类,内部他会为每次请求创建线程安全的sqlsession,并与Spring进行集成.在你的方法调用完毕以后他会自动关闭的。(参考网上资料)

      如不设置为“prototype”模式(普通模式,每次新建一个bean),则Spring容器默认创建的bean都是“singleton ”单例模式,单例模式只会创建一个bean,只要容器不销毁退出,会一直存活。而sqlSessionTemplate是不能被手动关闭的,

      当处于单例模式的时候,强行停止tomcat应该等同于手动去关闭,而不是由容器自动销毁。这时候就会触发上述异常。而如果是“prototype”普通模式,每次新建一个bean,用完之后,容器自动垃圾回收,也就不是手动关闭了,故而不会触发异常

      解决:在Spring配置SqlSession的时候加上:scope=”prototype”

  • 相关阅读:
    C#学习笔记-类的一些基本成员
    SpringBoot 好“吃”的启动原理
    线程与进程
    powerdesiner
    maven
    Java反射
    获取类的全部信息 本地方法
    今天在看慕课网的java学习路径
    操作系统之哲学原理
    今天在看慕课网的java学习路径
  • 原文地址:https://www.cnblogs.com/Mr-xt/p/10019754.html
Copyright © 2011-2022 走看看