Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
commons
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DevOps
commons
Commits
de5fd18c
Commit
de5fd18c
authored
Apr 27, 2018
by
技术部-高工-张恒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
组入brave配置开关
parent
53944fe0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
149 additions
and
99 deletions
+149
-99
BraveAutoConfiguration.java
...roup/tech/brave/configuration/BraveAutoConfiguration.java
+149
-99
No files found.
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/configuration/BraveAutoConfiguration.java
View file @
de5fd18c
...
...
@@ -18,6 +18,7 @@ import okhttp3.OkHttpClient;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.AutoConfigureOrder
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -46,10 +47,53 @@ import java.util.List;
@Slf4j
@Configuration
@AutoConfigureOrder
@EnableWebMvc
@EnableConfigurationProperties
(
BraveProperties
.
class
)
@Import
(
{
TracingClientHttpRequestInterceptor
.
class
,
SpanCustomizingAsyncHandlerInterceptor
.
class
}
)
public
class
BraveAutoConfiguration
extends
WebMvcConfigurerAdapter
{
public
class
BraveAutoConfiguration
{
@Configuration
@EnableWebMvc
@EnableConfigurationProperties
(
BraveProperties
.
class
)
@ConditionalOnProperty
(
prefix
=
"tech.brave"
,
name
=
"enabled"
,
havingValue
=
"false"
)
public
static
class
BraveUntEnabled
{
/**
* 提供HttpClientBuilderBean
*
* @return
*/
@Bean
(
name
=
"techHttpClientBuilder"
)
public
HttpClientBuilder
httpClientBuilder
()
{
log
.
info
(
"注册HttpClientBuilder"
);
return
TracingHttpClientBuilder
.
create
();
}
/**
* 提供OkHttpClientBean
*
* @return
*/
@Bean
(
name
=
"techOkHttpClientBuilder"
)
public
OkHttpClient
.
Builder
okHttpClientBuilder
()
{
log
.
info
(
"注册OkHttpClient.Builder"
);
return
new
OkHttpClient
.
Builder
();
}
/**
* 提供RestTemplate
*
* @return
*/
@Bean
(
name
=
"techRestTemplate"
)
public
RestTemplate
restTemplate
()
{
log
.
info
(
"添加restTemplate拦截器"
);
return
new
RestTemplate
();
}
}
@Configuration
@EnableWebMvc
@EnableConfigurationProperties
(
BraveProperties
.
class
)
@ConditionalOnProperty
(
prefix
=
"tech.brave"
,
name
=
"enabled"
,
havingValue
=
"true"
)
@Import
(
{
TracingClientHttpRequestInterceptor
.
class
,
SpanCustomizingAsyncHandlerInterceptor
.
class
}
)
public
static
class
BraveEnabled
extends
WebMvcConfigurerAdapter
{
@Autowired
private
BraveProperties
braveProperties
;
...
...
@@ -87,6 +131,7 @@ public class BraveAutoConfiguration extends WebMvcConfigurerAdapter {
/**
* 提供RabbitTemplateBuilder,业务系统需要使用该Builder生成RabbitTemplate
*
* @param tracing
* @return
*/
...
...
@@ -97,23 +142,25 @@ public class BraveAutoConfiguration extends WebMvcConfigurerAdapter {
/**
* 提供HttpClientBuilderBean
*
* @param tracing
* @return
*/
@Bean
(
name
=
"techHttpClientBuilder"
)
public
HttpClientBuilder
httpClientBuilder
(
Tracing
tracing
)
{
log
.
info
(
"注册
HttpClientBuilder"
);
log
.
info
(
"注册brave
HttpClientBuilder"
);
return
TracingHttpClientBuilder
.
create
(
tracing
);
}
/**
* 提供OkHttpClientBean
*
* @param httpTracing
* @return
*/
@Bean
(
name
=
"techOkHttpClientBuilder"
)
public
OkHttpClient
.
Builder
okHttpClientBuilder
(
HttpTracing
httpTracing
)
{
log
.
info
(
"注册
OkHttpClient.Builder"
);
log
.
info
(
"注册brave
OkHttpClient.Builder"
);
return
new
OkHttpClient
.
Builder
()
.
dispatcher
(
new
Dispatcher
(
httpTracing
.
tracing
().
currentTraceContext
().
executorService
(
new
Dispatcher
().
executorService
())))
.
addNetworkInterceptor
(
TracingInterceptor
.
create
(
httpTracing
));
...
...
@@ -126,16 +173,18 @@ public class BraveAutoConfiguration extends WebMvcConfigurerAdapter {
*/
@Bean
(
name
=
"techDelegatingTracingFilter"
)
public
Filter
delegatingTracingFilter
()
{
log
.
info
(
"注册DelegatingTracingFilter"
);
return
new
DelegatingTracingFilter
();
}
/**
* 提供RestTemplate
*
* @return
*/
@Bean
(
name
=
"techRestTemplate"
)
@Bean
(
name
=
"techRestTemplate"
)
public
RestTemplate
restTemplate
()
{
log
.
info
(
"添加r
estTemplate拦截器"
);
log
.
info
(
"添加braveR
estTemplate拦截器"
);
RestTemplate
restTemplate
=
new
RestTemplate
();
List
<
ClientHttpRequestInterceptor
>
interceptors
=
new
ArrayList
<>(
restTemplate
.
getInterceptors
());
...
...
@@ -146,9 +195,10 @@ public class BraveAutoConfiguration extends WebMvcConfigurerAdapter {
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
log
.
info
(
"添加w
ebmvc拦截器"
);
log
.
info
(
"添加braveW
ebmvc拦截器"
);
registry
.
addInterceptor
(
spanCustomizingAsyncHandlerInterceptor
);
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment