セバスチャン・マウンテンメープル:
我々は、RESTエンドポイントを使用しDropwizardバージョン2.0.0-RC、で作られたプロジェクトを持っています。いくつかの問題の後に我々は、代わりにRESTを使用してのgRPCを使用することにしました。そこDropwizardにgRPCを接続するためのサードパーティのライブラリのカップルですが、我々は、彼らが少し時代遅れと使用できないと考えています。だから我々は、アルメリアとそのGRPCソリューションを実装することを考えています。
これを実装するために、私はGRPCを添付する突堤のインスタンスを必要としています。
これは私が(GRPCとアルメリアの間ミックス)それを解決する方法です。
Server server = Server.builder()
.http(8080)
.service(GrpcService.builder()...build())
.serviceUnder("/", JettyService.forServer(jettyServer))
.build();
server.start().join();
だから私は必要なjettyServer
のタイプと突堤のインスタンスであることをorg.eclipse.jetty.server
。コードの残りの部分は桟橋を埋め込むArmerias方法です。桟橋を埋め込むへのリンク。
どのように私は、突堤のインスタンスを取得することができますか?
セバスチャン・マウンテンメープル:
私は、サーバーを取得するためにDropwizardライフサイクルを使用することによってこの問題を解決することができました。
// variable server is of type org.eclipse.jetty.server.Server
environment.lifecycle().addServerLifecycleListener(new ServerLifecycleListener() {
@Override
public void serverStarted(Server server) {
// ....
}
});
インスタンスを使用すると、gRPCを添付するアルメリアを使用することができます