多语言网站 用什么cms,深圳Wordpress网站,厂家招总代理,做网站建设的公司是什么类型在未使用框架进行编程的时候#xff0c;我们常常在web.xml中加上这样一段话 listenerlistener-classXXX/listener-class/listener 在对应的类中实现ServletContextListener接口#xff0c;这样在服务器已启动的时候#xff0c;就会加载相… 在未使用框架进行编程的时候我们常常在web.xml中加上这样一段话 listenerlistener-classXXX/listener-class/listener 在对应的类中实现ServletContextListener接口这样在服务器已启动的时候就会加载相应的程序 但是现在在spring为我们提供了它特有的方法 在spring启动时自动调用一些db操作作缓存于是在service实现ApplicationListener 接口。 并重写onApplicationEvent操作。这样就实现了要求代码如下 Service
Scope(singleton)
public class MasterServiceImpl implements ApplicationListener {public void onApplicationEvent(ApplicationEvent arg0) {一些DB操作}
} 由于我们是spring托管事务并且采用注入方式调用。 这样的写法带来了一些问题正常的action注入service调用的时候再事务范围内出事务的时候会对DB连接进行释放 因为是这个service是系统启动直接调用的这些方法不在事务管理范围内于是这些DB的操作没有进行DB连接释放关闭。 解决办法是写一个专门的action实现ApplicationListener 接口在这个action重新的onApplicationEvent方法内 调用该单例service从而实现事务的入口登记在出事务的时候就可以自动释放连接了。转载于:https://www.cnblogs.com/yaobolove/p/5291373.html