本帖最后由 tanzhoujavaeelover 于 2012-10-08 10:37:14 编辑

解决方案 »

  1.   

    猜测主线程已经停止了application context,关闭了数据源。同时,分线程还在执行数据库操作。就这样报错了。还是看看你的代码架构吧。是用的单元测试?
      

  2.   

    想办法让线程运行完再结束测试主线程呗。所有线程弄个列表,然后 thread.join();
      

  3.   

    是不是你在程序中 手动关闭了连接对象 一般spring容器不会关闭连接对象的。
      

  4.   

    List<Thread> threads;for (Thread thread : threads) {
       thread.join();
    }怎么不能并发,线程不还是跑着吗,只是要保证线程没结束的时候不能让application context结束
      

  5.   

    应该是并发处理数据那块有问题,比如一个线程在获取到connection链接,其他线程正在关闭这个连接,然后这个线程执行了sql,结果发现已经关闭了,当然报错了。不知道你dao怎么处理的。查一下你代码connection那块怎么写的