5

我正在使用 Java Ledger Bindings 通过 Package 服务从分类帐中获取包,并收到以下错误:

RESOURCE_EXHAUSTED: gRPC message exceeds maximum size

我的应用程序基于 Ping-Pong 示例应用程序,并且 daml 模型有大约 300 多个 daml 文件。

异常发生在以下代码块周围:

DamlLedgerClient client = DamlLedgerClient.forHostWithLedgerIdDiscovery(host, port, Optional.empty());
client.connect();
PackageClient packageService = client.getPackageClient();
Flowable<String> packagesIds = packageService.listPackages();
4

1 回答 1

6

消息大小受ManagedChannel用于连接到 gRPC 服务器的限制。要增加它,您必须自己构造和配置ManagedChannelgRPC 并将其传递给DamlLedgerClient.

ManagedChannel channel =
    ManagedChannelBuilder
    .forAddress(host,port)
    .usePlaintext()
    .maxInboundMessageSize(9999999)
    .build();
DamlLedgerClient client = new DamlLedgerClient(Optional.empty(), channel);
于 2019-01-23T08:15:51.610 回答