2

ApacheTomcat7およびJerseyJarsでのRESTサービスの使用。

私は、javaのRESTサービスを介してサーバーにデータを取得して投稿するAndroidアプリケーションを開発しています。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クライアントへの応答時間を短縮したいと思います。これを実現するにはどうすればよいですか????

4

2 に答える 2

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

于 2013-02-20T21:28:59.920 に答える
1

その場で接続を作成するにはコストがかかるため、応答時間を増やすには接続プールを利用する必要があります。

Apache DBCPは、優れた接続プールライブラリです。

これは、ApacheDBCPを使用して接続プールを利用する方法の例です。

于 2013-02-01T06:33:00.220 に答える