我有一个EJB应用程序。它基本上必须在关闭时执行SQL查询。关闭挂钩大概工作,但这样我不能使用注入entitymanager /数据源等如何在EJB容器中关闭时执行数据库清理操作
有没有办法提供一个关闭挂钩,可以调用EJB bean的方法?
我们的EJB容器是JBoss5.1。
谢谢!
我有一个EJB应用程序。它基本上必须在关闭时执行SQL查询。关闭挂钩大概工作,但这样我不能使用注入entitymanager /数据源等如何在EJB容器中关闭时执行数据库清理操作
有没有办法提供一个关闭挂钩,可以调用EJB bean的方法?
我们的EJB容器是JBoss5.1。
谢谢!
它看起来像这样工作的: (编辑:。出于某种原因,以前发布的答案不与JBoss5.1工作这工作)
public class SomeServlet extends GenericServlet {
public void destroy(){
InitialContext ctx = null;
try{
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:/someDataSource");
doStuff();
}catch(Exception e){
log.error("Bad things happened",e);
}
finally{
try {
ctx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
}//destroy()
}//class
为EJB的做法是一样什么ZWEI已经提到,但要添加一个初始化或清理ejb与注释的方法PreDestroy