You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/03/17 07:01:13 UTC
[dubbo] branch master updated: Make keepalive parameters
configurable on server (#6500)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 28e2f3b Make keepalive parameters configurable on server (#6500)
28e2f3b is described below
commit 28e2f3bea7144a265e401581d8acce8cb8340812
Author: skyguard1 <qh...@qq.com>
AuthorDate: Wed Mar 17 15:00:52 2021 +0800
Make keepalive parameters configurable on server (#6500)
* Make keepalive parameters configurable
* Update by review
Co-authored-by: xingrufei <xi...@sogou-inc.com>
---
.../main/java/org/apache/dubbo/common/constants/CommonConstants.java | 2 ++
.../java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java
index 316f00b..3f234dd 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java
@@ -110,6 +110,8 @@ public interface CommonConstants {
String IO_THREADS_KEY = "iothreads";
+ String KEEP_ALIVE_KEY = "keep.alive";
+
int DEFAULT_QUEUES = 0;
int DEFAULT_ALIVE = 60 * 1000;
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java
index b301a78..5781f7a 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java
@@ -46,8 +46,10 @@ import java.util.Map;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.dubbo.common.constants.CommonConstants.IO_THREADS_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.KEEP_ALIVE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SSL_ENABLED_KEY;
+
/**
* NettyServer.
*/
@@ -94,10 +96,13 @@ public class NettyServer extends AbstractServer implements RemotingServer {
final NettyServerHandler nettyServerHandler = new NettyServerHandler(getUrl(), this);
channels = nettyServerHandler.getChannels();
+ boolean keepalive = getUrl().getParameter(KEEP_ALIVE_KEY, Boolean.FALSE);
+
bootstrap.group(bossGroup, workerGroup)
.channel(NettyEventLoopFactory.serverSocketChannelClass())
.option(ChannelOption.SO_REUSEADDR, Boolean.TRUE)
.childOption(ChannelOption.TCP_NODELAY, Boolean.TRUE)
+ .childOption(ChannelOption.SO_KEEPALIVE, keepalive)
.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override