Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zlt2000
microservices-platform
提交
877a2e7d
microservices-platform
项目概览
zlt2000
/
microservices-platform
10 个月 前同步成功
通知
16
Star
4
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
877a2e7d
编写于
5月 08, 2022
作者:
J
jarvis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: loadBalancer兼容gateway和普通http请求,后续增加webflux版本控制
上级
979e91c4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
49 deletion
+0
-49
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/filter/LbIsolationFilter.java
.../java/com/central/common/lb/filter/LbIsolationFilter.java
+0
-49
未找到文件。
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/filter/LbIsolationFilter.java
已删除
100644 → 0
浏览文件 @
979e91c4
package
com.central.common.lb.filter
;
import
cn.hutool.core.util.StrUtil
;
import
com.central.common.constant.CommonConstant
;
import
com.central.common.constant.ConfigConstants
;
import
com.central.common.context.LbIsolationContextHolder
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
javax.servlet.Filter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
/**
* web过滤器
* 作用:将请求中的存放在参数和header的版本号获取出来并存入TreadLocal中
*
* @author jarvis create by 2022/3/9
*/
@ConditionalOnClass
(
Filter
.
class
)
public
class
LbIsolationFilter
extends
OncePerRequestFilter
{
@Value
(
"${"
+
ConfigConstants
.
CONFIG_LOADBALANCE_ISOLATION_ENABLE
+
":false}"
)
private
boolean
enableIsolation
;
@Override
protected
boolean
shouldNotFilter
(
HttpServletRequest
request
)
{
return
!
enableIsolation
;
}
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
try
{
String
version
=
StringUtils
.
isNotBlank
(
request
.
getParameter
(
CommonConstant
.
Z_L_T_VERSION
))?
request
.
getParameter
(
CommonConstant
.
Z_L_T_VERSION
):
request
.
getHeader
(
CommonConstant
.
Z_L_T_VERSION
);
if
(
StrUtil
.
isNotEmpty
(
version
)){
LbIsolationContextHolder
.
setVersion
(
version
);
}
filterChain
.
doFilter
(
request
,
response
);
}
finally
{
LbIsolationContextHolder
.
clear
();
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录