1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-grpc-spring-boot-starter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

grpc-spring-boot-starter

grpc-spring-boot-starter 2.15.0.RELEASE

Чтобы добавить зависимость с помощью Gradle:

dependencies {
  implementation 'net.devh:grpc-spring-boot-starter:2.15.0.RELEASE'
}

gRPC сервер

Чтобы добавить зависимость с использованием Maven, используйте следующее:

<dependency>
  <groupId>net.devh</groupId>
  <artifactId>grpc-server-spring-boot-starter</artifactId>
  <version>2.15.0.RELEASE</version>
</dependency>

Чтобы добавить зависимость с помощью Gradle, выполните следующие действия:

dependencies {
  implementation 'net.devh:grpc-server-spring-boot-starter:2.15.0.RELEASE'
}

Аннотируйте реализацию интерфейса вашего сервера с помощью @GrpcService

@GrpcService
public class GrpcServerService extends GreeterGrpc.GreeterImplBase {

    @Override
    public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) {
        HelloReply reply = HelloReply.newBuilder().setMessage("Hello ==> " + req.getName()).build();
        responseObserver.onNext(reply);
        responseObserver.onCompleted();
    }

}

По умолчанию сервер grpc будет прослушивать порт 9090. Эти и другие настройки можно изменить с помощью механизма свойств Spring. Сервер использует префикс grpc.server.

Обратитесь к нашей документации для получения более подробной информации.

Клиент gRPC

Чтобы добавить зависимость с использованием Maven, используйте следующее:

<dependency>
  <groupId>net.devh</groupId>
  <artifactId>grpc-client-spring-boot-starter</artifactId>
  <version>2.15.0.RELEASE</version>
</dependency>

Чтобы добавить зависимость с помощью Gradle, выполните следующие действия:

dependencies {
  compile 'net.devh:grpc-client-spring-boot-starter:2.15.0.RELEASE'
}

Аннотируйте поле вашего клиента grpc с помощью @GrpcClient(serverName)

  • Не используйте в сочетании с @Autowired или @Inject
@GrpcClient("gRPC server name")
private GreeterGrpc.GreeterBlockingStub greeterStub;

Примечание: Вы можете использовать одно и то же имя сервера grpc для нескольких каналов, а также разных заглушек (даже с разными перехватчиками).

Затем вы можете отправлять запросы на свой сервер следующим образом:

HelloReply response = stub.sayHello(HelloRequest.newBuilder().setName(name).build());

Можно настроить целевой адрес для каждого клиента индивидуально. Однако в некоторых случаях вы можете просто полагаться на конфигурацию по умолчанию. Вы можете настроить сопоставление URL по умолчанию с помощью компонентов NameResolver.Factory. Если вы не настроите этот компонент, то URL по умолчанию будет угадываться с использованием схемы по умолчанию и имени (например, dns:/<name>):

Эти и другие настройки могут быть изменены с помощью механизма свойств Spring. Клиенты используют префикс grpc.client.(serverName).

Обратитесь к нашей документации для получения более подробной информации.

Запуск с (незатенённым) grpc-netty

Эта библиотека поддерживает как grpc-netty, так и grpc-netty-shaded. Последний может предотвратить конфликты с несовместимыми версиями grpc или конфликты между библиотеками, которые требуют разных версий netty.

Примечание: если затенённый netty присутствует в пути к классам, эта библиотека всегда будет отдавать ему предпочтение перед незатенённым grpc-netty.

Вы можете использовать его с Maven следующим образом:

<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-netty</artifactId>
    <version>${grpcVersion}</version>
</dependency>

<!-- Для обоих -->
<dependency>
    <groupId>net.devh</groupId>
    <artifactId>grpc-spring-boot-starter</artifactId>
    <version>...</version>
    <exclusions>
        <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-netty-shaded</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- Только для сервера -->
<dependency> **artifactId>grpc-server-spring-boot-starter**
    **version>...**
    **exclusions>**
        **exclusion>**
            **groupId>io.grpc**
            **artifactId>grpc-netty-shaded**
        **</exclusion>**
    **</exclusions>**
**</dependency>**

<!-- For the client (only) -->
**<dependency>**
    **<groupId>net.devh**
    **<artifactId>grpc-client-spring-boot-starter**
    **<version>...**
    **<exclusions>**
        **<exclusion>**
            **<groupId>io.grpc**
            **<artifactId>grpc-netty-shaded**
        **</exclusion>**
    **</exclusions>**
**</dependency>**

and like this when using Gradle:

**groovy**
**implementation "io.grpc:grpc-netty:${grpcVersion}"**

**implementation 'net.devh:grpc-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For both**
**implementation 'net.devh:grpc-client-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For the client (only)**
**implementation 'net.devh:grpc-server-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For the server (only)**

## Example-Projects

Read more about our example projects [here](examples).

## Troubleshooting

Refer to our [documentation](https://yidongnan.github.io/grpc-spring-boot-starter/en/trouble-shooting) for help.

## Contributing

Contributions are always welcomed! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Особенности: Использование @GrpcService автоматически создаёт и запускает gRPC-сервис, встроенный в spring-boot приложение. Использование @GrpcClient автоматически создаёт и управляет channel и stub. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-grpc-spring-boot-starter.git
git@api.gitlife.ru:oschina-mirror/mirrors-grpc-spring-boot-starter.git
oschina-mirror
mirrors-grpc-spring-boot-starter
mirrors-grpc-spring-boot-starter
master