Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Jersey REST服务中的何处初始化MySQL连接池?_Java_Mysql_Rest_Jersey - Fatal编程技术网

Java 在Jersey REST服务中的何处初始化MySQL连接池?

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

我想将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>

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区别在于,在服务器提供程序中,您也可以在关闭时关闭连接池。顺便说一句,我没有意识到这个问题可能是重复的。请考虑删除它。