Browse Source

后台管理添加缓存配置

wangmh 7 years ago
parent
commit
e7ef20ba19

+ 4 - 0
sso-manage-console/build.gradle

@@ -34,6 +34,10 @@ dependencies {
   compile('commons-codec:commons-codec:1.11')
   compile("mysql:mysql-connector-java:5.1.41")
   compile("com.alibaba:druid:1.1.6")
+  compile("net.sf.ehcache:ehcache:2.10.3")
+  compile("org.hibernate:hibernate-ehcache") {
+    exclude(group: 'net.sf.ehcache', module: 'ehcache-core')
+  }
 
   testCompile('org.springframework.boot:spring-boot-starter-test')
 }

+ 34 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/CacheConfiguration.java

@@ -0,0 +1,34 @@
+package com.uas.sso.sso.backend;
+
+import org.springframework.beans.factory.annotation.Configurable;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.ehcache.EhCacheCacheManager;
+import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.core.io.ClassPathResource;
+
+/**
+ * @author wangmh
+ * @create 2018-07-05 20:04
+ * @desc
+ **/
+@Configurable
+@EnableCaching
+public class CacheConfiguration {
+
+    @Bean
+    public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {
+        EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean();
+        ehCacheManagerFactoryBean.setConfigLocation(new ClassPathResource(
+                "spring/ehcache.xml"));
+        ehCacheManagerFactoryBean.setShared(true);
+        return ehCacheManagerFactoryBean;
+    }
+
+    @Bean
+    public EhCacheCacheManager cacheManager() {
+        EhCacheCacheManager cacheManager = new EhCacheCacheManager();
+        cacheManager.setCacheManager(ehCacheManagerFactoryBean().getObject());
+        return cacheManager;
+    }
+}

+ 2 - 3
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/impl/UserBackendServiceImpl.java

@@ -263,9 +263,8 @@ public class UserBackendServiceImpl implements UserBackendService {
         user.setEmailValidCode((short) Status.NOT_APPLYING.getCode());
         user.setIdentityValidCode((short) Status.NOT_APPLYING.getCode());
         user.setPassword(InfoAsyncUtils.encryptePassword(Const.ENCRY_FORMAT, user.getPassword(), user.getSalt()));
-        user.setUserRecord(new UserRecord());
-        user.getUserRecord().setUser(user);
-        user.getUserRecord().setUserUU(user.getUserUU());
+        UserRecord userRecord = new UserRecord(user.getUserUU());
+        userRecordDao.save(userRecord);
         user.setFromApp("sso");
         userDao.save(user);
 

+ 11 - 0
sso-manage-console/src/main/resources/application.yml

@@ -15,6 +15,17 @@ spring:
   jpa:
     database: mysql
     show-sql: false
+    properties:
+      javax:
+        persistence:
+          sharedCache:
+            mode: ENABLE_SELECTIVE
+      hibernate:
+        cache:
+          use_second_level_cache: true
+          use_query_cache: true
+          region:
+            factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
   thymeleaf:
     mode: LEGACYHTML5
 # 避免自动建表更新账户中心的数据库结构