parent
							
								
									1532f3addc
								
							
						
					
					
						commit
						f2d3ee1af9
					
				| @ -1,58 +0,0 @@ | ||||
| package com.gitee.sop.adminserver.common; | ||||
| 
 | ||||
| import com.gitee.easyopen.exception.ApiException; | ||||
| import com.gitee.easyopen.session.ApiSessionManager; | ||||
| import com.google.common.cache.LoadingCache; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| 
 | ||||
| import javax.servlet.ServletContext; | ||||
| import javax.servlet.http.HttpSession; | ||||
| 
 | ||||
| /** | ||||
|  * @author tanghc | ||||
|  */ | ||||
| @Slf4j | ||||
| public class MyApiSessionManager extends ApiSessionManager { | ||||
| 
 | ||||
|     private volatile LoadingCache<String, HttpSession> cache; | ||||
| 
 | ||||
|     @Override | ||||
|     public HttpSession getSession(String sessionId) { | ||||
|         if (sessionId == null) { | ||||
|             return this.createSession(sessionId); | ||||
|         } | ||||
|         try { | ||||
|             return getCache().get(sessionId); | ||||
|         } catch (Exception e) { | ||||
|             log.error(e.getMessage(), e); | ||||
|             throw new ApiException("create session error"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 创建一个session | ||||
|      * | ||||
|      * @param sessionId 传null将返回一个新session | ||||
|      * @return 返回session | ||||
|      */ | ||||
|     @Override | ||||
|     protected HttpSession createSession(String sessionId) { | ||||
|         ServletContext servletContext = getServletContext(); | ||||
|         HttpSession session = this.newSession(sessionId, servletContext); | ||||
|         session.setMaxInactiveInterval(getSessionTimeout()); | ||||
|         getCache().put(session.getId(), session); | ||||
|         return session; | ||||
|     } | ||||
| 
 | ||||
|     public LoadingCache<String, HttpSession> getCache() { | ||||
|         if (cache == null) { | ||||
|             synchronized (ApiSessionManager.class) { | ||||
|                 if (cache == null) { | ||||
|                     cache = buildCache(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return cache; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue