在服务器启动期间(tomcat),我正在创建一个mangerfactory实体并将其存储到内存中。我的问题是,在这段时间内有什么方法可以检查连接状态?

现在发生的事情是,它在启动期间创建了一个objectmangerfactory对象,但是不测试是否已连接数据库。使用无效的配置,它正在创建entitymanagerfactory,但是当我们尝试仅执行一些查询时,我得到了异常。

如果要在服务器启动期间检查连接状态,该怎么办?

提前致谢

-问候,
索纳斯·古哈

最佳答案

您应该创建一个实现ServletContextListener的Servlet,

web.xml:

<listener>
  <listener-class>test.JPACheckServlet</listener-class>
</listener>


编码:

public class JPACheckServlet implements ServletContextListener {
  public void contextInitialized(ServletContextEvent event) {
    here put the code for checking the connection and report status, logging...
  }
  public void contextDestroyed(ServletContextEvent event) {
    here to handle fancy shutdown situation, loggings, etc
  }
}


好线程阅读:
How do servlets work? Instantiation, sessions, shared variables and multithreading

08-03 12:11
查看更多