File tree Expand file tree Collapse file tree 6 files changed +40
-15
lines changed
grpc-spring-boot-starter-demo/src
java/org/lognet/springboot/grpc/demo
test/java/org/lognet/springboot/grpc
grpc-spring-boot-starter/src/main/java/org/lognet/springboot/grpc Expand file tree Collapse file tree 6 files changed +40
-15
lines changed Original file line number Diff line number Diff line change 11apply plugin : ' idea'
22buildscript {
33 ext {
4- springBootVersion = ' 1.4.5 .RELEASE'
4+ springBootVersion = ' 1.5.2 .RELEASE'
55 grpcVersion = ' 1.2.0'
66 }
77 repositories {
Original file line number Diff line number Diff line change 66import org .lognet .springboot .grpc .GRpcService ;
77import org .springframework .boot .SpringApplication ;
88import org .springframework .boot .autoconfigure .SpringBootApplication ;
9+ import org .springframework .context .annotation .Bean ;
910
1011import io .grpc .examples .GreeterGrpc ;
1112import io .grpc .examples .GreeterOuterClass ;
1920@ SpringBootApplication
2021public class DemoApp {
2122
22- @ GRpcService (interceptors = { LogInterceptor .class })
23- public static class GreeterService extends GreeterGrpc .GreeterImplBase {
24- @ Override
25- public void sayHello (GreeterOuterClass .HelloRequest request , StreamObserver <GreeterOuterClass .HelloReply > responseObserver ) {
26- final GreeterOuterClass .HelloReply .Builder replyBuilder = GreeterOuterClass .HelloReply .newBuilder ().setMessage ("Hello " + request .getName ());
27- responseObserver .onNext (replyBuilder .build ());
28- responseObserver .onCompleted ();
29- }
30- }
23+ @ Bean
24+ public GreeterService greeterService () {
25+ return new GreeterService ();
26+ }
3127
3228 @ GRpcService
3329 public static class CalculatorService extends CalculatorGrpc .CalculatorImplBase {
Original file line number Diff line number Diff line change 1+ package org .lognet .springboot .grpc .demo ;
2+
3+ import io .grpc .examples .CalculatorGrpc ;
4+ import io .grpc .examples .CalculatorOuterClass ;
5+ import org .lognet .springboot .grpc .GRpcService ;
6+ import org .springframework .boot .SpringApplication ;
7+ import org .springframework .boot .autoconfigure .SpringBootApplication ;
8+
9+ import io .grpc .examples .GreeterGrpc ;
10+ import io .grpc .examples .GreeterOuterClass ;
11+ import io .grpc .stub .StreamObserver ;
12+
13+ @ GRpcService (interceptors = { LogInterceptor .class })
14+ public class GreeterService extends GreeterGrpc .GreeterImplBase {
15+ @ Override
16+ public void sayHello (GreeterOuterClass .HelloRequest request , StreamObserver <GreeterOuterClass .HelloReply > responseObserver ) {
17+ final GreeterOuterClass .HelloReply .Builder replyBuilder = GreeterOuterClass .HelloReply .newBuilder ().setMessage ("Hello " + request .getName ());
18+ responseObserver .onNext (replyBuilder .build ());
19+ responseObserver .onCompleted ();
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ security.basic.enabled =false
2+ management.security.enabled =false
Original file line number Diff line number Diff line change 33import org .junit .Test ;
44import org .junit .runner .RunWith ;
55import org .lognet .springboot .grpc .demo .DemoApp ;
6+ import org .lognet .springboot .grpc .demo .GreeterService ;
67import org .springframework .aop .support .AopUtils ;
78import org .springframework .beans .factory .annotation .Autowired ;
89import org .springframework .boot .test .context .SpringBootTest ;
@@ -26,7 +27,7 @@ public class DemoAppTestAop {
2627
2728
2829 @ Autowired
29- private DemoApp . GreeterService greeterService ;
30+ private GreeterService greeterService ;
3031
3132 @ Autowired
3233 private DemoApp .CalculatorService calculatorService ;
Original file line number Diff line number Diff line change 1414import java .lang .annotation .Annotation ;
1515import java .util .Collection ;
1616import java .util .List ;
17+ import java .util .Map ;
1718import java .util .Optional ;
1819import java .util .stream .Collectors ;
1920import java .util .stream .Stream ;
@@ -118,15 +119,19 @@ public void destroy() throws Exception {
118119
119120 private <T > Stream <String > getBeanNamesByTypeWithAnnotation (Class <? extends Annotation > annotationType , Class <T > beanType ) throws Exception {
120121
121-
122122 return Stream .of (applicationContext .getBeanNamesForType (beanType ))
123123 .filter (name ->{
124- BeanDefinition beanDefinition = applicationContext .getBeanFactory ().getBeanDefinition (name );
125- if ( beanDefinition .getSource () instanceof StandardMethodMetadata ) {
124+ final BeanDefinition beanDefinition = applicationContext .getBeanFactory ().getBeanDefinition (name );
125+ final Map <String , Object > beansWithAnnotation = applicationContext .getBeansWithAnnotation (annotationType );
126+
127+ if ( !beansWithAnnotation .isEmpty () ) {
128+ return beansWithAnnotation .containsKey (name );
129+ } else if ( beanDefinition .getSource () instanceof StandardMethodMetadata ) {
126130 StandardMethodMetadata metadata = (StandardMethodMetadata ) beanDefinition .getSource ();
127131 return metadata .isAnnotated (annotationType .getName ());
128132 }
129- return null != applicationContext .getBeanFactory ().findAnnotationOnBean (name ,annotationType );
133+
134+ return false ;
130135 });
131136 }
132137
You can’t perform that action at this time.
0 commit comments