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
b1abf98f
Commit
b1abf98f
authored
Apr 27, 2018
by
技术部-高工-张恒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改RabbitTemplate方式
parent
de5fd18c
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
145 additions
and
6 deletions
+145
-6
BraveAutoConfiguration.java
...roup/tech/brave/configuration/BraveAutoConfiguration.java
+16
-3
BraveProperties.java
.../cn/quantgroup/tech/brave/properties/BraveProperties.java
+3
-3
IRabbitTemplateBuilder.java
...quantgroup/tech/brave/service/IRabbitTemplateBuilder.java
+20
-0
RabbitTemplateBuilderNoTrace.java
...roup/tech/brave/service/RabbitTemplateBuilderNoTrace.java
+26
-0
RabbitTemplateBuilderTrace.java
...tgroup/tech/brave/service/RabbitTemplateBuilderTrace.java
+29
-0
SpringRabbit.java
...n/java/cn/quantgroup/tech/brave/service/SpringRabbit.java
+51
-0
No files found.
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/configuration/BraveAutoConfiguration.java
View file @
b1abf98f
...
...
@@ -12,6 +12,10 @@ import brave.spring.web.TracingClientHttpRequestInterceptor;
import
brave.spring.webmvc.DelegatingTracingFilter
;
import
brave.spring.webmvc.SpanCustomizingAsyncHandlerInterceptor
;
import
cn.quantgroup.tech.brave.properties.BraveProperties
;
import
cn.quantgroup.tech.brave.service.IRabbitTemplateBuilder
;
import
cn.quantgroup.tech.brave.service.RabbitTemplateBuilderNoTrace
;
import
cn.quantgroup.tech.brave.service.RabbitTemplateBuilderTrace
;
import
cn.quantgroup.tech.brave.service.SpringRabbit
;
import
lombok.extern.slf4j.Slf4j
;
import
okhttp3.Dispatcher
;
import
okhttp3.OkHttpClient
;
...
...
@@ -86,6 +90,15 @@ public class BraveAutoConfiguration {
return
new
RestTemplate
();
}
/**
* 提供RabbitTemplateBuilder,业务系统需要使用该Builder生成RabbitTemplate
*
* @return
*/
@Bean
(
name
=
"teachRabbitTemplateBuilder"
)
public
IRabbitTemplateBuilder
rabbitTemplateBuilder
()
{
return
new
RabbitTemplateBuilderNoTrace
();
}
}
@Configuration
...
...
@@ -135,9 +148,9 @@ public class BraveAutoConfiguration {
* @param tracing
* @return
*/
@Bean
public
SpringRabbitTracing
.
Builder
springRabbitTracing
Builder
(
Tracing
tracing
)
{
return
SpringRabbitTracing
.
newBuilder
(
tracing
);
@Bean
(
name
=
"teachRabbitTemplateBuilder"
)
public
IRabbitTemplateBuilder
rabbitTemplate
Builder
(
Tracing
tracing
)
{
return
new
RabbitTemplateBuilderTrace
(
tracing
);
}
/**
...
...
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/properties/BraveProperties.java
View file @
b1abf98f
...
...
@@ -15,17 +15,17 @@ public class BraveProperties {
/**
* 指定serviceName
*/
private
String
serviceName
;
private
String
serviceName
=
"brave"
;
/**
* kafka地址
*/
private
String
kafkaHost
;
private
String
kafkaHost
=
"localhost:9092"
;
/**
* kafka的topic
*/
private
String
kafkaTopic
;
private
String
kafkaTopic
=
"quantGroup.tech.brave.dev"
;
/**
* 采集率
...
...
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/service/IRabbitTemplateBuilder.java
0 → 100644
View file @
b1abf98f
package
cn
.
quantgroup
.
tech
.
brave
.
service
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
public
interface
IRabbitTemplateBuilder
{
/**
*
* @param remoteServiceName
* @return
*/
IRabbitTemplateBuilder
remoteServiceName
(
String
remoteServiceName
);
/**
*
* @param connectionFactory
* @return
*/
RabbitTemplate
build
(
ConnectionFactory
connectionFactory
);
}
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/service/RabbitTemplateBuilderNoTrace.java
0 → 100644
View file @
b1abf98f
package
cn
.
quantgroup
.
tech
.
brave
.
service
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
/**
* @author zhangheng
* create on 2018.04.27
*/
public
class
RabbitTemplateBuilderNoTrace
implements
IRabbitTemplateBuilder
{
private
SpringRabbit
.
Builder
springRabbitBuilder
;
public
RabbitTemplateBuilderNoTrace
(){
springRabbitBuilder
=
SpringRabbit
.
newBuilder
();
}
@Override
public
IRabbitTemplateBuilder
remoteServiceName
(
String
remoteServiceName
)
{
springRabbitBuilder
.
remoteServiceName
(
remoteServiceName
);
return
this
;
}
@Override
public
RabbitTemplate
build
(
ConnectionFactory
connectionFactory
)
{
return
springRabbitBuilder
.
build
().
newRabbitTemplate
(
connectionFactory
);
}
}
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/service/RabbitTemplateBuilderTrace.java
0 → 100644
View file @
b1abf98f
package
cn
.
quantgroup
.
tech
.
brave
.
service
;
import
brave.Tracing
;
import
brave.spring.rabbit.SpringRabbitTracing
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
/**
* @author zhangheng
* create on 2018.04.27
*/
public
class
RabbitTemplateBuilderTrace
implements
IRabbitTemplateBuilder
{
private
SpringRabbitTracing
.
Builder
springRabbitTracingBuilder
;
public
RabbitTemplateBuilderTrace
(
Tracing
tracing
){
springRabbitTracingBuilder
=
SpringRabbitTracing
.
newBuilder
(
tracing
);
}
@Override
public
IRabbitTemplateBuilder
remoteServiceName
(
String
remoteServiceName
)
{
springRabbitTracingBuilder
.
remoteServiceName
(
remoteServiceName
);
return
this
;
}
@Override
public
RabbitTemplate
build
(
ConnectionFactory
connectionFactory
)
{
return
springRabbitTracingBuilder
.
build
().
newRabbitTemplate
(
connectionFactory
);
}
}
brave-spring-boot-starter/src/main/java/cn/quantgroup/tech/brave/service/SpringRabbit.java
0 → 100644
View file @
b1abf98f
package
cn
.
quantgroup
.
tech
.
brave
.
service
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
/**
* @author zhangheng
* create on 2018.04.27
*/
public
class
SpringRabbit
{
public
static
SpringRabbit
create
()
{
return
new
SpringRabbit
.
Builder
().
build
();
}
public
static
SpringRabbit
.
Builder
newBuilder
()
{
return
new
SpringRabbit
.
Builder
();
}
public
static
final
class
Builder
{
String
remoteServiceName
=
"rabbitmq"
;
Builder
()
{
}
/**
* The remote service name that describes the broker in the dependency graph. Defaults to
* "rabbitmq"
*/
public
SpringRabbit
.
Builder
remoteServiceName
(
String
remoteServiceName
)
{
this
.
remoteServiceName
=
remoteServiceName
;
return
this
;
}
public
SpringRabbit
build
()
{
return
new
SpringRabbit
(
this
);
}
}
SpringRabbit
(
SpringRabbit
.
Builder
builder
)
{
// intentionally hidden constructor
String
remoteServiceName
=
builder
.
remoteServiceName
;
}
/**
* Creates an instrumented {@linkplain RabbitTemplate}
*/
public
RabbitTemplate
newRabbitTemplate
(
ConnectionFactory
connectionFactory
)
{
return
new
RabbitTemplate
(
connectionFactory
);
}
}
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