✨ 添加新特性。 扩展ribbon 支持IP有限策略

This commit is contained in:
冷冷 committed 2019-06-25 18:05:36 +08:00
1 parent 002f7d41a2
commit 796872022c
20 files changed
+412 -26

No files matched your search

@@ -66,7 +66,7 @@ import java.util.Map;
public class PigxTokenEndpoint {
private static final String PIGX_OAUTH_ACCESS = SecurityConstants.PIGX_PREFIX + SecurityConstants.OAUTH_PREFIX + "auth_to_access:";
private final ClientDetailsService clientDetailsService;
private final RedisTemplate pigxRedisTemplate;
private final RedisTemplate redisTemplate;
private final TokenStore tokenStore;
private final CacheManager cacheManager;
@@ -167,19 +167,19 @@ public class PigxTokenEndpoint {
List<String> pages = findKeysForPage(key, MapUtil.getInt(params, PaginationConstants.CURRENT)
, MapUtil.getInt(params, PaginationConstants.SIZE));
pigxRedisTemplate.setKeySerializer(new StringRedisSerializer());
pigxRedisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
Page result = new Page(MapUtil.getInt(params, PaginationConstants.CURRENT), MapUtil.getInt(params, PaginationConstants.SIZE));
result.setRecords(pigxRedisTemplate.opsForValue().multiGet(pages));
result.setTotal(Long.valueOf(pigxRedisTemplate.keys(key).size()));
result.setRecords(redisTemplate.opsForValue().multiGet(pages));
result.setTotal(Long.valueOf(redisTemplate.keys(key).size()));
return R.ok(result);
}
private List<String> findKeysForPage(String patternKey, int pageNum, int pageSize) {
ScanOptions options = ScanOptions.scanOptions().match(patternKey).build();
RedisSerializer<String> redisSerializer = (RedisSerializer<String>) pigxRedisTemplate.getKeySerializer();
Cursor cursor = (Cursor) pigxRedisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize));
RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer();
Cursor cursor = (Cursor) redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize));
List<String> result = new ArrayList<>();
int tmpIndex = 0;
int startIndex = (pageNum - 1) * pageSize;