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”

  • 相关阅读:
    css: 组合选择器
    css: 基础选择器
    javascript设计模式:工厂模式
    wx: 小程序公共机制
    vue: 脚手架创建项目
    nodejs: express sequelize-cli
    css:flex和float margin布局
    自定义标签之inclusion_tag
    Django模型之Meta选项详解
    Django内置Admin
  • 原文地址:https://www.cnblogs.com/Mr-xt/p/10019754.html
Copyright © 2011-2022 走看看