我想使用带有Jersey REST服务的MySQL连接池。
出于性能原因,我不希望每次调用Jersey资源方法时都创建单个MySQL连接。相反,我想在服务器的启动时创建一个ConnectionPool,然后在执行服务资源方法时借用并返回连接。
将ConnectionPool的初始化放在Jersey REST框架中的最佳位置是什么?
答案 0 :(得分:0)
创建一个类并实现ServletContextListener接口。
package com.example.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyAppServletContextListener
implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("ServletContextListener destroyed");
}
//Run this before web application is started
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("ServletContextListener started");
}
}
将它放在部署描述符中。
<web-app ...>
<listener>
<listener-class>
com.example.listener.MyAppServletContextListener
</listener-class>
</listener>
</web-app>
有关详细信息,请查看此link