Skip to content

Commit d5d17ed

Browse files
authored
Merge pull request #529 from kolnick/main
添加环境变量配置覆盖功能
2 parents d74db38 + 705b35a commit d5d17ed

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,5 @@ docs.tar
8686
hs_err_pid*
8787
/target/
8888

89-
doc_game.txt
89+
doc_game.txt
90+
.claude

external/external-netty/src/main/java/com/iohao/game/external/core/netty/handler/check/HttpFallbackHandler.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.netty.channel.ChannelHandlerContext;
2323
import io.netty.channel.SimpleChannelInboundHandler;
2424
import io.netty.handler.codec.http.*;
25+
import io.netty.util.ReferenceCountUtil;
2526

2627
/**
2728
* @author 渔民小镇
@@ -33,11 +34,16 @@ public final class HttpFallbackHandler extends SimpleChannelInboundHandler<FullH
3334

3435
@Override
3536
protected void channelRead0(ChannelHandlerContext ctx, FullHttpRequest req) {
36-
// 检查是否是 WebSocket 升级请求
37-
if ("websocket".equalsIgnoreCase(req.headers().get(HttpHeaderNames.UPGRADE))) {
38-
ctx.fireChannelRead(req.retain());
39-
} else {
40-
ctx.close();
37+
try {
38+
// 检查是否是 WebSocket 升级请求
39+
if ("websocket".equalsIgnoreCase(req.headers().get(HttpHeaderNames.UPGRADE))) {
40+
ctx.fireChannelRead(req.retain());
41+
} else {
42+
ctx.close();
43+
}
44+
} finally {
45+
// 释放当前 handler 的引用
46+
ReferenceCountUtil.release(req);
4147
}
4248
}
4349

widget/light-profile/src/main/java/com/iohao/game/widget/light/profile/ProfileManager.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import lombok.experimental.UtilityClass;
2222
import lombok.extern.slf4j.Slf4j;
23+
import org.apache.commons.lang.StringUtils;
2324

2425
import java.net.URL;
2526
import java.util.*;
@@ -35,7 +36,9 @@
3536
@Slf4j
3637
@UtilityClass
3738
public final class ProfileManager {
38-
/** 主配置key */
39+
/**
40+
* 主配置key
41+
*/
3942
final String MAIN_CONFIG = "main_config";
4043
/**
4144
* <pre>
@@ -100,6 +103,14 @@ public void loadMainProfile(String profileConfigName) {
100103
Profile profile = profile();
101104
profile.load(urlList);
102105

106+
// 检查环境变量是否同名的参数 如果有则覆盖
107+
profile.map.forEach((key, value) -> {
108+
String envValue = System.getenv(key);
109+
if (StringUtils.isNotEmpty(envValue)) {
110+
profile.map.put(key, envValue);
111+
}
112+
});
113+
103114
log.debug("配置内容 - size:{} - {}", ProfileManager.profile().map.size(), ProfileManager.profile());
104115

105116
}

0 commit comments

Comments
 (0)