fix: 定时ip更新频率过高时失效.
This commit is contained in:
@@ -38,6 +38,10 @@ public class ScheduledProvider extends AbstractProvider {
|
|||||||
* 处理器
|
* 处理器
|
||||||
*/
|
*/
|
||||||
private Consumer<String> valueConsumer = null;
|
private Consumer<String> valueConsumer = null;
|
||||||
|
/**
|
||||||
|
* 内置缓存
|
||||||
|
*/
|
||||||
|
private volatile String internalCache = null;
|
||||||
|
|
||||||
public ScheduledProvider(Provider internalProvider, long timePeriod) {
|
public ScheduledProvider(Provider internalProvider, long timePeriod) {
|
||||||
Assert.notNull(internalProvider);
|
Assert.notNull(internalProvider);
|
||||||
@@ -53,7 +57,7 @@ public class ScheduledProvider extends AbstractProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String get() {
|
public String get() {
|
||||||
return cache;
|
return internalCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -105,7 +109,7 @@ public class ScheduledProvider extends AbstractProvider {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
InstanceContextHolder.setAdditional("ip-update");
|
InstanceContextHolder.setAdditional("ip-update");
|
||||||
cache = internalProvider.get();
|
internalCache = internalProvider.get();
|
||||||
|
|
||||||
if (valueConsumer != null) {
|
if (valueConsumer != null) {
|
||||||
valueConsumer.accept(cache);
|
valueConsumer.accept(cache);
|
||||||
|
|||||||
Reference in New Issue
Block a user