Java 在Jersey REST服务中的何处初始化MySQL连接池?
我想将MySQL连接池与Jersey REST服务一起使用 出于性能原因,我不希望每次调用Jersey资源方法时都创建单个MySQL连接。相反,我希望在服务器启动时创建一个ConnectionPool,然后在执行服务资源方法时借用并返回连接Java 在Jersey REST服务中的何处初始化MySQL连接池?,java,mysql,rest,jersey,Java,Mysql,Rest,Jersey,我想将MySQL连接池与Jersey REST服务一起使用 出于性能原因,我不希望每次调用Jersey资源方法时都创建单个MySQL连接。相反,我希望在服务器启动时创建一个ConnectionPool,然后在执行服务资源方法时借用并返回连接 在Jersey REST框架中,将ConnectionPool的初始化放在哪里最合适?创建一个类并实现ServletContextListener接口 package com.example.listener; import javax.servlet.Se
在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>
com.example.listener.MyAppServletContextListener
有关更多详细信息,请检查此创建一个类并实现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>
com.example.listener.MyAppServletContextListener
有关更多详细信息,请查看此如何在没有任何服务器/容器的情况下运行Jersey服务?您是否使用Tomcat、Jetty等?我计划使用Tomcat,目前用于Eclipse中的开发目的。REST与连接池关系不大,但服务器类型很重要。每个服务器都有自己的方法。框架有小型内置http服务器吗?我对他一无所知。没有任何服务器/容器,您如何运行Jersey服务?您是否使用Tomcat、Jetty等?我计划使用Tomcat,目前用于Eclipse中的开发目的。REST与连接池关系不大,但服务器类型很重要。每个服务器都有自己的方法。框架有小型内置http服务器吗?我对他一无所知。我同意应该把它放在服务器上。有关如何在tomcat中实现池的示例,请在谷歌搜索
ResourceConfig
类后查看,该类可以扩展和部署以设置服务。您认为这比使用通用的ServletContextListener
更好吗?这两种方法都会在服务启动时触发。@tombo_189区别在于,在服务器提供程序中,您也可以在关闭时关闭连接池。顺便说一句,我没有意识到这个问题可能是重复的。请考虑删除它。我同意这应该是放在服务器的地方。有关如何在tomcat中实现池的示例,请在谷歌搜索ResourceConfig
类后查看,该类可以扩展和部署以设置服务。您认为这比使用通用的ServletContextListener
更好吗?这两种方法都会在服务启动时触发。@tombo_189区别在于,在服务器提供程序中,您也可以在关闭时关闭连接池。顺便说一句,我没有意识到这个问题可能是重复的。请考虑删除它。