为了账号安全,请及时绑定邮箱和手机立即绑定

在 Dropwizard 2.0.0 中检索 Jetty 实例

在 Dropwizard 2.0.0 中检索 Jetty 实例

德玛西亚99 2023-09-27 21:27:02
我们有一个使用 Dropwizard 版本 2.0.0-RC 制作的项目,其中我们使用 REST 端点。在出现一些问题后,我们决定使用 gRPC 而不是使用 REST。有几个 3rd 方库可以将 gRPC 连接到 Dropwizard,但我们认为它们有点过时且不可用。因此,我们正在考虑实施 Armeria 及其 GRPC 解决方案。为了实现这一点,我需要 Jetty 实例来附加 GRPC。这就是我解决它的方法(GRPC 和 Armeria 之间的混合):Server server = Server.builder()  .http(8080)  .service(GrpcService.builder()...build())  .serviceUnder("/", JettyService.forServer(jettyServer))  .build();server.start().join();所以我需要jettyServer成为类型为 的 Jetty 实例org.eclipse.jetty.server。其余代码是 Armerias 嵌入 Jetty 的方式。链接到嵌入码头。如何检索 Jetty 实例?
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

我能够通过使用 Dropwizard 生命周期来获取服务器来解决这个问题。


// variable server is of type org.eclipse.jetty.server.Server

environment.lifecycle().addServerLifecycleListener(new ServerLifecycleListener() {

    @Override

    public void serverStarted(Server server) {

      // ....

    }

});

有了实例,就可以使用 Armeria 附加 gRPC


查看完整回答
反对 回复 2023-09-27
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

我能够使用其他答案的评论中提供的链接,并将此 PR 放在 Armeria 项目中,以添加 dropwizard 模块。

https://github.com/line/armeria/pull/2236

目前它的目标是 1.3.x 而不是 2.0,但是一旦存在稳定版本,就需要升级

编辑:PR 被接受并合并


查看完整回答
反对 回复 2023-09-27
  • 2 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信