This is a simple RPC application which uses SpringBoot, Spring Remote for RPC, Jetty HTTP/2 for connectivity and Protostuff for Serialization. It consists of 3 modules.
This module has common classes for both Client and Server modules and uses Protostuff Runtime Serializer as SerializationService implementation.
This module provides JettyHttp2ServerConfig with custom HTTP/2 server connector and provides implementation of HttpInvokerServiceExporter for using predefined SerializationService.
This module has custom Http2InvokerRequestExecutor implementation of AbstractHttpInvokerRequestExecutor with Jetty HTTP/2 Client. As it uses prior knowledge about HTTP/2 on server-side you could try it without ALPN. Also it shows how to combine Spring DI container with Guice through SpringModule.