GrpcClientRegistry was responsible for both, which causes lifecycle
issues when users don't follow recommendations. This change
pushes the bean registration firmly down a level into an
ImportBeanDefinitionRegistrar. Also helps with AOT because the AOT
processor only runs the IBDR at build time.
This extracts the Spring Boot managed dependencies from
the spring-grpc-dependencies BOM module into a new
module (`spring-grpc-build-dependencies`) that includes
the dependencies from the BOM as well as the Spring
Boot managed dependencies.
Resolves#118
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds a coarse-grained conditional guard that will disable the
server autoconfiguration if `spring.grpc.server.enabled` is set to
false or `BindableService` class is not available on the classpath.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds a coarse-grained conditional guard that will disable the
client autoconfiguration if `spring.grpc.client.enabled` is set to
false or the `io.grpc:grpc-stub` module is not on the classpath.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds a starter module that includes the Spring gRPC server
starter and the required dependencies ((`spring-boot-starter-web`
and `jakarta-grpc-servlet`) to use the servlet container as a
gRPC server.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds a starter module that includes the Spring gRPC
core module and the grpc-stub dependency.
Also, makes the `grpc-stub` dependency optional in Spring
gRPC core module.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This renames the `spring.grpc.security.csrf.enabled` property
to `spring.grpc.server.security.csrf.enabled` to signal that
it is a server configuration property.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds the following entries to additional-spring-configuration-metadata.json:
- `spring.grpc.security.csrf.enabled`
- `spring.grpc.server.servlet.enabled`
They are not present in first class `@ConfigurationProperties` so need to be
manually added.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
Updates the fix-getting-started.adoc section of the reference
guide to remove the requirement of the "web" and "graalvm"
dependencies as the former requires other information besides
dependencies to work properly and the latter is just complication
that is not needed for a simple quick start.
See #97
This commit moves the channel config ("NamedChannel") back to
autoconfigure module as the effort to move to core turns out to
be more trouble than it is worth at this time.
Fixes#92
This commit introduces the NamedChannelRegistry which allows
moving the NamedChannel model to the core package and decouples
it from the client properties.