OSDN Git Service

track
[luz/luz.git] / src / com / lavans / luz2 / http / session / SessionServiceRemote.java
1 /* $Id: SessionServiceRemote.java 94 2008-12-18 11:07:17Z dobashi $\r
2  * 作成日: 2006/01/20 14:30:11\r
3  *\r
4  */\r
5 package com.lavans.luz2.http.session;\r
6 \r
7 import java.io.IOException;\r
8 import java.util.Map;\r
9 \r
10 import org.apache.commons.logging.Log;\r
11 import org.apache.commons.logging.LogFactory;\r
12 \r
13 import com.lavans.luz2.http.session.net.SessionServerConnection;\r
14 import com.lavans.luz2.http.session.net.SessionServerConnectionManager;\r
15 \r
16 /**\r
17  * SessionServiceWebクラス。\r
18  *\r
19  * This is generated by lamen.\r
20  */\r
21 public class SessionServiceRemote {\r
22         /** ロガー。debug用 */\r
23         private static Log logger = LogFactory.getLog(SessionServiceRemote.class.getName());\r
24 \r
25         /** singleton実体 */\r
26         private static SessionServiceRemote instance = null;\r
27 \r
28         /** Apサーバーへの接続 */\r
29         private SessionServerConnectionManager connectionPool = SessionServerConnectionManager.getInstance();\r
30 \r
31         /**\r
32          * コンストラクタ。\r
33          * Singletonのため呼び出し不可。\r
34          */\r
35         protected SessionServiceRemote(){\r
36 \r
37         }\r
38 \r
39         /**\r
40          * インスタンス取得メソッド。\r
41          * @return\r
42          */\r
43         public static SessionServiceRemote getInstance(){\r
44                 if(instance==null){\r
45                         instance = new SessionServiceRemote();\r
46                 }\r
47                 return instance;\r
48         }\r
49 \r
50         /**\r
51          * getSession\r
52          */\r
53         @SuppressWarnings("unchecked")\r
54         public Map<String, Object> getRemoteSessionAttribute(String jvm, String sessionId) {\r
55                 SessionServerConnection con = null;\r
56                 Object result = null;\r
57                 try{\r
58                         con = connectionPool.getConnection(jvm);\r
59                 } catch (IOException e) {\r
60                         logger.debug("SessionConnection作成失敗。["+ jvm +"]");\r
61                         return null;\r
62                 }\r
63 \r
64                 try{\r
65                         result = con.execute(\r
66                                 SessionServiceLocal.class.getName(),            // クラス名\r
67                                 "getRemoteSessionAttribute",                            // メソッド名\r
68                                 new Class[]{String.class},      // 引数の型\r
69                                 new Object[]{sessionId} // 引数\r
70                         );\r
71                 } catch (Exception e) {\r
72                         logger.error( "getRemoteSesionAttribute failed.", e);\r
73                 }\r
74 \r
75                 return (Map<String, Object>)result;\r
76         }\r
77 }\r
78 \r