带有jar加载主程序的Java docker

在Java中运行基于gRPC的Java客户端服务器应用程序。我能够为服务器生成存根,但是当涉及服务内通信时,我无法为恰好是在wildfly中运行的war文件的客户端应用程序生成存根。这是概述。

  1. 服务器->产品(Jar在容器中运行)

  2. 客户端->在Wildfly上运行的War文件

客户端公开了一个其余的端点,该端点依次调用服务器。

我的理解是,我应该在1和2之间共享原始文件。以下原始文件会在src / main / proto下同时复制到1和2

service ProductService {
    rpc findAll(google.protobuf.Empty) returns (Product);
}

message Product {
    string id = 1;
    string name = 2;
}

问题。我理解在两个隔离的应用程序之间共享协议文件,然后通过生成的存根在两者之间进行通信是正确的。

zhuangmisi 回答:带有jar加载主程序的Java docker

共享.proto很好。您还可以将生成的代码放入客户端和服务器共享的库中。您还可以将.proto放入客户端和服务器构建过程都使用的共享位置(例如存储库)。

复制原型很容易且可行。您只想确保知道什么是原型的“规范”版本。您想知道应该首先更新哪个版本,以便知道该原型的最新版本。您不希望客户端维护者和服务器维护者都对原型进行更改,然后需要弄清楚如何合并更改。

本文链接:https://www.f2er.com/3168345.html

大家都在问