在服务器启动期间(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