开发者社区 问答 正文

spring service 多线程

在service层,新启动一个线程去执行发送邮件。

遇到的问题:新启动的线程未运行完就被下面的这个线程给关掉了。

2015-04-27 09:18:04,821 [Thread-1] INFO  [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean] Closing Hibernate SessionFactory
 2015-04-27 09:18:04,821 [Thread-1] INFO  [org.hibernate.impl.SessionFactoryImpl] closing
 2015-04-27 09:18:04,827 [Thread-1] INFO  [com.alibaba.druid.pool.DruidDataSource] {dataSource-1} closed

请问这是什么原因造成的,以及有什么解决方法?我现在的解决方法是将发送邮件的线程放在action中,在action中就不会出现上面的问题,为什么?

展开
收起
爵霸 2016-06-02 10:44:45 2608 分享 版权
1 条回答
写回答
取消 提交回答
  • 应该是你service 的事务已经结束了 ,但是你在邮件service 里面又用到了LazyLoad ,建议你在邮件service 新开事务

    2019-07-17 19:24:14
    赞同 展开评论