首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Quarkus上启动gRPC服务器-找不到公开`BindableService`的bean

无法在Quarkus上启动gRPC服务器-找不到公开`BindableService`的bean
EN

Stack Overflow用户
提问于 2020-06-16 02:05:42
回答 1查看 493关注 0票数 2

我在Quarkus1.5.1中有一个可以工作的gRPC服务,最终与合并的*.proto一起工作,并构建了一个实现服务工作的类。

然后,我将服务组件分解到它自己的项目中,将依赖放在生成的类组件(上面的模块)上,但是当我尝试使用./mvnw quarkus:dev启动服务应用程序时,我无法启动gRPC服务器:

代码语言:javascript
复制
WARN  [io.qua.grp.dep.GrpcServerProcessor] (build-7) Unable to find beans exposing the `BindableService` interface - not starting the gRPC server

以下是该服务:

代码语言:javascript
复制
package org.ikeda.address.grpc;

import io.smallrye.mutiny.Uni;
import org.ikeda.address.grpc.service.AddressManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class AddressGrpcService extends MutinyAddressServiceGrpc.AddressServiceImplBase {
    private Logger log = LoggerFactory.getLogger(AddressGrpcService.class);

    @Inject
    private AddressManager addressManager;

    @Override
    public Uni<AddressResponse> getAddress(PageRequest request) {
        log.debug("Page size: {}, Page number: {}", request.getPageSize(), request.getPageNumber());

        return this.addressManager
                .getPaginatedAddresses(request.getPageNumber(), request.getPageSize())
                .map(addresses -> AddressResponse.newBuilder().addAllAddresses(addresses).build());
    }
}

当我将生成的类与实现放在一起时,服务器启动时没有问题。

尽管我能够找到io.quarkus.grpc.deployment.GrpcServerProcessor的源代码,但没有意义的是io.qua.grp.dep.GrpcServerProcessor并不存在于存储库中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 02:09:47

您需要在Jandex索引中包含您的附加模块,以便可以找到服务。

只需在附加模块的src/main/resources中添加一个空的META-INF/beans.xml,就可以了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62394283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档