Browse Source

以注解bean的方式调用,增加redis的有效时间

yaobo 7 years ago
parent
commit
9023fad1ca

+ 11 - 7
src/main/java/cn/efunbox/audio/plugin/AliStsOssAuth.java

@@ -12,24 +12,28 @@ import com.aliyuncs.sts.model.v20150401.AssumeRoleResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Service;
 
 import java.net.URL;
 import java.util.Date;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Created by yao on 17-10-10.
  */
+@Service
 public class AliStsOssAuth {
 
+    @Autowired
     private StringRedisTemplate stringRedisTemplate;
 
     private String accessKeyIdTemp = null;
     private String accessKeySecretTemp = null;
     private String securityTokenTemp = null;
-
-    public AliStsOssAuth(StringRedisTemplate stringRedisTemplate) {
-        this.stringRedisTemplate = stringRedisTemplate;
-    }
+//
+//    public AliStsOssAuth(StringRedisTemplate stringRedisTemplate) {
+//        this.stringRedisTemplate = stringRedisTemplate;
+//    }
 
     // 目前只有"cn-hangzhou"这个region可用, 不要使用填写其他region的值
     public final String REGION_CN_HANGZHOU = "cn-hangzhou";
@@ -107,9 +111,9 @@ public class AliStsOssAuth {
                 accessKeySecretTemp = response.getCredentials().getAccessKeySecret();
                 securityTokenTemp = response.getCredentials().getSecurityToken();
 
-                valueOperations.set("accessKeyIdTemp", accessKeyIdTemp);
-                valueOperations.set("accessKeySecretTemp", accessKeySecretTemp);
-                valueOperations.set("securityTokenTemp", securityTokenTemp);
+                valueOperations.set("accessKeyIdTemp", accessKeyIdTemp, 20L, TimeUnit.SECONDS);
+                valueOperations.set("accessKeySecretTemp", accessKeySecretTemp, 20L, TimeUnit.SECONDS);
+                valueOperations.set("securityTokenTemp", securityTokenTemp, 20L, TimeUnit.SECONDS);
             }
 
             //原始完整路径:http://efunaudio.oss-cn-beijing.aliyuncs.com/audio/001/00103035/00103035018.mp3

+ 7 - 2
src/test/java/cn/efunbox/audio/AudioApplicationTests.java

@@ -24,6 +24,9 @@ public class AudioApplicationTests {
 	@Autowired
 	private StringRedisTemplate stringRedisTemplate;
 
+	@Autowired
+	private AliStsOssAuth aliStsOssAuth;
+
 	@Test
 	public void contextLoads() {
 		for(int i=0;i<10;i++){
@@ -51,8 +54,10 @@ public class AudioApplicationTests {
 		System.out.println(stringRedisTemplate.opsForValue().get("aaa"));
 
 //		AliStsServiceSample.Auth();
-		AliStsOssAuth auth = new AliStsOssAuth(stringRedisTemplate);
-		auth.Auth();
+//		AliStsOssAuth auth = new AliStsOssAuth(stringRedisTemplate);
+//		auth.Auth();
+
+		aliStsOssAuth.Auth();
 	}
 
 }