Move GrpcServlet to autoconfiguration
Signed-off-by: Dave Syer <dsyer@vmware.com>
This commit is contained in:
@@ -1,35 +1,19 @@
|
||||
package org.springframework.grpc.sample;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.grpc.autoconfigure.server.GrpcServerAutoConfiguration;
|
||||
|
||||
import io.grpc.BindableService;
|
||||
import io.grpc.protobuf.services.ProtoReflectionService;
|
||||
import io.grpc.servlet.jakarta.GrpcServlet;
|
||||
|
||||
@SpringBootApplication(exclude = GrpcServerAutoConfiguration.class)
|
||||
@SpringBootApplication
|
||||
public class GrpcServerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(GrpcServerApplication.class, args);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServletRegistrationBean<GrpcServlet> grpcServlet(List<BindableService> services) {
|
||||
List<String> paths = services.stream()
|
||||
.map(service -> "/" + service.bindService().getServiceDescriptor().getName() + "/*")
|
||||
.collect(Collectors.toList());
|
||||
ServletRegistrationBean<GrpcServlet> servlet = new ServletRegistrationBean<>(new GrpcServlet(services));
|
||||
servlet.setUrlMappings(paths);
|
||||
return servlet;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public BindableService serverReflection() {
|
||||
return ProtoReflectionService.newInstance();
|
||||
|
||||
@@ -24,7 +24,7 @@ public class GrpcServerApplicationTests {
|
||||
private static Log log = LogFactory.getLog(GrpcServerApplicationTests.class);
|
||||
|
||||
public static void main(String[] args) {
|
||||
new SpringApplicationBuilder(GrpcServerApplication.class, ExtraConfiguration.class).profiles("ssl").run(args);
|
||||
new SpringApplicationBuilder(GrpcServerApplication.class, ExtraConfiguration.class).run(args);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
|
||||
Reference in New Issue
Block a user