Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zlt2000
microservices-platform
提交
1e9f3558
microservices-platform
项目概览
zlt2000
/
microservices-platform
8 个月 前同步成功
通知
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 搜索 >>
提交
1e9f3558
编写于
5月 08, 2022
作者:
J
jarvis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 1. 修改feign拦截器,版本传递只从header中获取2. 修改版本选择,增加选择版本号为空字符串的版本3. 还原FeignIntercptor配置
上级
6cc797ef
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
3 addition
and
47 deletion
+3
-47
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/annotation/EnableFeignInterceptor.java
.../central/common/lb/annotation/EnableFeignInterceptor.java
+1
-3
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/config/FeignHttpImportBeanDefinitionRegistrar.java
...mon/lb/config/FeignHttpImportBeanDefinitionRegistrar.java
+0
-33
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/config/FeignHttpInterceptorConfig.java
.../central/common/lb/config/FeignHttpInterceptorConfig.java
+0
-10
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/loadbalancer/VersionLoadBalancer.java
...m/central/common/lb/loadbalancer/VersionLoadBalancer.java
+2
-1
未找到文件。
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/annotation/EnableFeignInterceptor.java
浏览文件 @
1e9f3558
package
com.central.common.lb.annotation
;
import
com.central.common.lb.config.FeignHttpImportBeanDefinitionRegistrar
;
import
com.central.common.lb.config.FeignHttpInterceptorConfig
;
import
com.central.common.lb.config.FeignInterceptorConfig
;
import
org.springframework.context.annotation.Import
;
...
...
@@ -18,8 +17,7 @@ import java.lang.annotation.Target;
@Target
(
ElementType
.
TYPE
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Import
(
FeignHttpImportBeanDefinitionRegistrar
.
class
)
//@Import({FeignInterceptorConfig.class, FeignHttpInterceptorConfig.class})
@Import
({
FeignInterceptorConfig
.
class
,
FeignHttpInterceptorConfig
.
class
})
public
@interface
EnableFeignInterceptor
{
}
...
...
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/config/FeignHttpImportBeanDefinitionRegistrar.java
已删除
100644 → 0
浏览文件 @
6cc797ef
package
com.central.common.lb.config
;
import
org.springframework.beans.factory.support.AbstractBeanDefinition
;
import
org.springframework.beans.factory.support.BeanDefinitionBuilder
;
import
org.springframework.beans.factory.support.BeanDefinitionRegistry
;
import
org.springframework.beans.factory.support.BeanNameGenerator
;
import
org.springframework.context.annotation.ImportBeanDefinitionRegistrar
;
import
org.springframework.context.support.AbstractApplicationContext
;
import
org.springframework.core.type.AnnotationMetadata
;
import
org.springframework.util.ClassUtils
;
import
javax.servlet.Filter
;
/**
* 示例
*
* @author jarvis create by 2022/5/8
*/
public
class
FeignHttpImportBeanDefinitionRegistrar
implements
ImportBeanDefinitionRegistrar
{
@Override
public
void
registerBeanDefinitions
(
AnnotationMetadata
importingClassMetadata
,
BeanDefinitionRegistry
registry
,
BeanNameGenerator
importBeanNameGenerator
)
{
try
{
Class
.
forName
(
"javax.servlet.Filter"
,
false
,
registry
.
getClass
().
getClassLoader
());
AbstractBeanDefinition
feignHttpInterceptorConfig
=
BeanDefinitionBuilder
.
genericBeanDefinition
(
FeignHttpInterceptorConfig
.
class
).
getBeanDefinition
();
registry
.
registerBeanDefinition
(
importBeanNameGenerator
.
generateBeanName
(
feignHttpInterceptorConfig
,
registry
),
feignHttpInterceptorConfig
);
AbstractBeanDefinition
feignInterceptorConfig
=
BeanDefinitionBuilder
.
genericBeanDefinition
(
FeignInterceptorConfig
.
class
).
getBeanDefinition
();
registry
.
registerBeanDefinition
(
importBeanNameGenerator
.
generateBeanName
(
feignInterceptorConfig
,
registry
),
feignInterceptorConfig
);
}
catch
(
ClassNotFoundException
e
)
{
}
}
}
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/config/FeignHttpInterceptorConfig.java
浏览文件 @
1e9f3558
...
...
@@ -60,16 +60,6 @@ public class FeignHttpInterceptorConfig {
}
}
}
// 增加从query上获取版本
String
queryString
=
request
.
getQueryString
();
if
(
StringUtils
.
isNotBlank
(
queryString
)){
Map
<
String
,
String
>
map
=
QueryUtils
.
getQueryMap
(
queryString
);
for
(
String
requestHeader
:
requestHeaders
)
{
if
(
map
.
containsKey
(
requestHeader
)){
template
.
header
(
requestHeader
,
map
.
get
(
requestHeader
));
}
}
}
//传递access_token,无网络隔离时需要传递
/*
String token = extractHeaderToken(request);
...
...
zlt-commons/zlt-loadbalancer-spring-boot-starter/src/main/java/com/central/common/lb/loadbalancer/VersionLoadBalancer.java
浏览文件 @
1e9f3558
...
...
@@ -87,7 +87,8 @@ public class VersionLoadBalancer implements ReactorServiceInstanceLoadBalancer {
// 如果没有找到对应的版本实例时,选择版本号为空的或这版本为default的实例
if
(
CollectionUtils
.
isEmpty
(
filteredServiceIstanceList
)){
filteredServiceIstanceList
=
instances
.
stream
()
.
filter
(
item
->!
item
.
getMetadata
().
containsKey
(
CommonConstant
.
METADATA_VERSION
)
.
filter
(
item
->!
item
.
getMetadata
().
containsKey
(
CommonConstant
.
METADATA_VERSION
)||
StringUtils
.
isBlank
(
item
.
getMetadata
().
get
(
CommonConstant
.
METADATA_VERSION
))
||
"default"
.
equals
(
item
.
getMetadata
().
get
(
CommonConstant
.
METADATA_VERSION
)))
.
collect
(
Collectors
.
toList
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录