如何在REST服务启动时连接MySql数据库?

时间:2013-02-01 05:37:01

标签: java rest

在Apache Tomcat 7和Jersey Jars中使用REST服务。

我正在开发一个android应用程序,它通过java中的REST服务获取并发布服务器上的一些数据。对于来自android客户端的每个请求,REST服务器打开数据库连接,执行查询,返回结果并关闭数据库连接..

public String postPerson(
            MultivaluedMap<String, String> personParams
            ) {

                 EmployeeData empD=new EmployeeData();
                 //Connecting with database on empty constructor

                 int id = personParams.getFirst(EMPLOYEE_ID);


                String employeeDepartment=empD.getDepartment(id);
                //Getting department name 

                empD.disconnectDb();

                return(empD);                                     
    }

上述方案工作正常但响应时间不高。 现在我想在REST服务启动时创建数据库连接,以减少对android客户端的响应时间..我怎样才能实现这个????

2 个答案:

答案 0 :(得分:4)

查看以下链接。我希望这些链接可以解决您的问题,但请记住,永远不要在同一个数据库连接上执行并发事务。通过遵循该过程,您还可以在服务启动时建立与星号管理界面的连接。

http://www.programcreek.com/2009/07/put-database-connection-to-servletcontextlistener/

http://docs.oracle.com/cd/B15904_01/web.1012/b14017/filters.htm#i1000654

答案 1 :(得分:1)

您需要使用连接池来增加响应时间,因为即时创建连接的成本很高。

Apache DBCP是一个很好的连接池库。

这是关于如何使用Apache DBCP连接池的example

相关问题