Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
matrix
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
mall
arch
matrix
Commits
954d3989
Commit
954d3989
authored
May 12, 2021
by
房斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支持lettuce自动括扑更新
parent
459bd285
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
0 deletions
+40
-0
MatrixLettuceClientConfigurationBuilderCustomizer.java
redis-starter/src/main/java/com/secoo/mall/redis/config/MatrixLettuceClientConfigurationBuilderCustomizer.java
+40
-0
No files found.
redis-starter/src/main/java/com/secoo/mall/redis/config/MatrixLettuceClientConfigurationBuilderCustomizer.java
0 → 100644
View file @
954d3989
package
com
.
secoo
.
mall
.
redis
.
config
;
import
io.lettuce.core.ClientOptions
;
import
io.lettuce.core.TimeoutOptions
;
import
io.lettuce.core.cluster.ClusterClientOptions
;
import
io.lettuce.core.cluster.ClusterTopologyRefreshOptions
;
import
org.springframework.boot.autoconfigure.data.redis.LettuceClientConfigurationBuilderCustomizer
;
import
org.springframework.boot.autoconfigure.data.redis.RedisProperties
;
import
org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration
;
import
java.time.Duration
;
public
class
MatrixLettuceClientConfigurationBuilderCustomizer
implements
LettuceClientConfigurationBuilderCustomizer
{
private
final
RedisProperties
properties
;
Long
period
;
Boolean
adapt
;
MatrixLettuceClientConfigurationBuilderCustomizer
(
RedisProperties
properties
,
Long
period
,
Boolean
adapt
){
this
.
properties
=
properties
;
this
.
adapt
=
adapt
;
this
.
period
=
period
;
}
@Override
public
void
customize
(
LettuceClientConfiguration
.
LettuceClientConfigurationBuilder
clientConfigurationBuilder
)
{
ClientOptions
.
Builder
builder
=
ClientOptions
.
builder
();
if
(
this
.
properties
.
getCluster
()
!=
null
)
{
ClusterTopologyRefreshOptions
.
Builder
refreshBuilder
=
ClusterTopologyRefreshOptions
.
builder
();
if
(
adapt
)
{
refreshBuilder
.
enableAllAdaptiveRefreshTriggers
();
}
if
(
period
!=
null
){
refreshBuilder
.
enablePeriodicRefresh
(
Duration
.
ofMillis
(
period
));
}
builder
=
ClusterClientOptions
.
builder
().
topologyRefreshOptions
(
refreshBuilder
.
build
());
}
clientConfigurationBuilder
.
clientOptions
(
builder
.
timeoutOptions
(
TimeoutOptions
.
enabled
()).
build
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment