我想使用MySQL连接池与Jersey REST服务。
出于性能原因,我不想每次调用Jersey资源方法时都创建单个MySQL连接。相反,我想在服务器启动时创建一个ConnectionPool,然后在执行服务资源方法时借用和返回连接。
在Jersey REST框架内放置ConnectionPool初始化的最佳位置在哪里?
创建一个类并实现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>
详情请查看此链接