소스 검색

Update AppsService.java

MaxKey 4 년 전
부모
커밋
7bec4ffcb1
1개의 변경된 파일20개의 추가작업 그리고 1개의 파일을 삭제
  1. 20 1
      maxkey-persistence/src/main/java/org/maxkey/persistence/service/AppsService.java

+ 20 - 1
maxkey-persistence/src/main/java/org/maxkey/persistence/service/AppsService.java

@@ -17,17 +17,26 @@
 
 package org.maxkey.persistence.service;
 
+import java.time.Duration;
 import java.util.List;
 
 import org.apache.mybatis.jpa.persistence.JpaBaseService;
+import org.ehcache.UserManagedCache;
+import org.ehcache.config.builders.ExpiryPolicyBuilder;
+import org.ehcache.config.builders.UserManagedCacheBuilder;
 import org.maxkey.domain.apps.Apps;
 import org.maxkey.domain.apps.UserApps;
 import org.maxkey.persistence.mapper.AppsMapper;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public class AppsService  extends JpaBaseService<Apps>{
+public class AppsService extends JpaBaseService<Apps>{
 
+	protected final static  UserManagedCache<String, Apps> appsDetailsStore = 
+			UserManagedCacheBuilder.newUserManagedCacheBuilder(String.class, Apps.class)
+				.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofHours(1)))
+				.build(true);
+	
 	public AppsService() {
 		super(AppsMapper.class);
 	}
@@ -55,4 +64,14 @@ public class AppsService  extends JpaBaseService<Apps>{
     public List<UserApps> queryMyApps(UserApps userApplications){
         return getMapper().queryMyApps(userApplications);
     }
+    
+    //cache for running
+    public void storeCacheAppDetails(String appId, Apps appDetails) {
+    	appsDetailsStore.put(appId, appDetails);
+	}
+	
+    public Apps getCacheAppDetails(String appId) {
+    	Apps appDetails=appsDetailsStore.get(appId); 
+        return appDetails;
+    }
 }