2010-09-13 73 views
0

我有一个EJB应用程序。它基本上必须在关闭时执行SQL查询。关闭挂钩大概工作,但这样我不能使用注入entitymanager /数据源等如何在EJB容器中关闭时执行数据库清理操作

有没有办法提供一个关闭挂钩,可以调用EJB bean的方法?

我们的EJB容器是JBoss5.1。

谢谢!

回答

0

它看起来像这样工作的: (编辑:。出于某种原因,以前发布的答案不与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 
0

为EJB的做法是一样什么ZWEI已经提到,但要添加一个初始化或清理ejb与注释的方法PreDestroy

相关问题