我在Quarkus1.5.1中有一个可以工作的gRPC服务,最终与合并的*.proto一起工作,并构建了一个实现服务工作的类。
然后,我将服务组件分解到它自己的项目中,将依赖放在生成的类组件(上面的模块)上,但是当我尝试使用./mvnw quarkus:dev启动服务应用程序时,我无法启动gRPC服务器:
WARN [io.qua.grp.dep.GrpcServerProcessor] (build-7) Unable to find beans exposing the `BindableService` interface - not starting the gRPC server以下是该服务:
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并不存在于存储库中
发布于 2020-06-16 02:09:47
您需要在Jandex索引中包含您的附加模块,以便可以找到服务。
只需在附加模块的src/main/resources中添加一个空的META-INF/beans.xml,就可以了。
https://stackoverflow.com/questions/62394283
复制相似问题