This is an automated email from the ASF dual-hosted git repository.
hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new fcad7062ae [fix] fix heartbeat logic (#5970)
fcad7062ae is described below
commit fcad7062ae2fc6dec6649ea3b275dfe2f6b8adc3
Author: aias00 <[email protected]>
AuthorDate: Tue Mar 25 10:34:21 2025 +0800
[fix] fix heartbeat logic (#5970)
---
.../admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java | 2 +-
.../disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
index 5ff30e5ebd..254e268fa0 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
@@ -95,7 +95,7 @@ public class URIRegisterExecutorSubscriber implements
ExecutorTypeSubscriber<URI
heartbeat.stream().map(URIRegisterDTO::getNamespaceId)
.filter(StringUtils::isNotBlank)
.findFirst()
- .ifPresent(namespaceId ->
service.heartbeat(selectorName, register, namespaceId));
+ .ifPresent(namespaceId ->
service.heartbeat(selectorName, heartbeat, namespaceId));
}
if (CollectionUtils.isNotEmpty(offline)) {
offline.stream().map(URIRegisterDTO::getNamespaceId)
diff --git
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
index 6fa228dc88..c7d1270447 100644
---
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
+++
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
@@ -63,7 +63,13 @@ public class ShenyuClientURIExecutorSubscriber implements
ExecutorTypeSubscriber
ThreadFactory requestFactory =
ShenyuThreadFactory.create("heartbeat-reporter", true);
executor = new ScheduledThreadPoolExecutor(1, requestFactory);
- executor.scheduleAtFixedRate(() -> URIS.forEach(this::sendHeartbeat),
30, 30, TimeUnit.SECONDS);
+ executor.scheduleAtFixedRate(() -> {
+ try {
+ URIS.forEach(this::sendHeartbeat);
+ } catch (Exception e) {
+ LOG.error("send heartbeat error", e);
+ }
+ }, 30, 30, TimeUnit.SECONDS);
}
@Override