在Jersey REST服务中初始化MySQL连接池的位置?

时间:2015-09-15 15:39:23

标签: java mysql rest jersey

我想使用带有Jersey REST服务的MySQL连接池。

出于性能原因,我不希望每次调用Jersey资源方法时都创建单个MySQL连接。相反,我想在服务器的启动时创建一个ConnectionPool,然后在执行服务资源方法时借用并返回连接。

将ConnectionPool的初始化放在Jersey REST框架中的最佳位置是什么?

1 个答案:

答案 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