只是记录一下,没有彻底解决这个问题。
出现这个问题的场景是这样的:使用Druid的DataSource然后通用自己定制的代码重新在Spring中注册了一下,然后访问数据库的DAO就出现了datasource already closed.
找到这样的一篇网文(https://blog.csdn.net/qq_36704549/article/details/122100675),我觉得可能与我的问题相关,文中是这样解释的:
你可能使用了异步线程去访问数据库,异步线程是不由spring管理也就是说 spring可以在异步线程未执行完就会进行容器关闭 当异步线程执行到获取数据库的时候就会报错
怎么才能彻底消除这个错误没有找到完美的解决方法,只要DataSource不进行重新注册,或者重新注册后再刷新相关的DAO引用的实例可暂时不出现这个问题了