This commit renames the GrpcChannelConfigurer to GrpcChannelBuilderCustomizer
to more accurately represent its purpose and for consistency with the
server-side terminology.
Additionally, a new `What's new?` doc is added to list breaking changes between
versions.
See #52
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit moves the `ApplicationContextBeanLookupUtils` into the
'internal' package and opens up its method to public visibility so
that it can be shared amongst framework components.
See #52
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit adds the implementation to the previously added skeleton
ActuatorHealthAdapter. On a configurable schedule, the adapter takes
a configured list of Actuator health indicators and gets their current
status and maps it into the gRPC HealthStatusManager.
See #56
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit adds a ConditionalOnProperty on the Actuator health
adapter autoconfiguration to allow users to disable only that
part of the health system.
Also, unrelated, the generated configprops with their default values.
See #56
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit moves the health autoconfiguration into its own
package as well as moves the ActuatorHealthAdapter into its
own class.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit autoconfigures the gRPC health service by providing
the following beans:
- gRPC HealthStatusManager
- gRPC HealthService
- Actuator health check adapter (skeleton impl)
See #56
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit implements the `@GprcService(blendWithGlobalInterceptors)`
feature. This allows global and per-service server interceptors to be
combined into a single list and then finally sorted (i.e. blended).
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit moves several components into the core module
from the autoconfiguration module. Anything that exists
in the AC module will ultimately end up in Spring Boot
project assuming we move into Spring Boot in the future.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit adds the Spring Boot autoconfiguration processor to generate
the `META-INF/spring-autoconfigure-metadata.properties`,which will improve
startup time.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit introduces the `@GrpcService` annotation which can be used to
associate one or more `ServerInterceptor` beans with a `BindableService`.
See #5
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit builds upon the previously added service discoverer
by adding support for finding all server interceptor beans that
are marked w/ the newly added `@GlobalServerInterceptor`
annotation.
Resolves#4
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit configures in the Puppycrawl checkstyle with the Spring JavaFormat.
To avoid the intrusive nature of such a change, the spring-grpc-core module is
the only one to have the checkstyles applied. I will handle the other modules as
time permits.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
In retrospect I think users should not have to create
ServerServiceDefinitions. It doesn't help anybody and
it seems like quite a deep internal detail.
- Add name attribute to ConditionalOnProperty
- Add autconfig to imports file
- Add a few tests to cover the other autoconfig conditonals
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit auto-configures in the Micrometer Observations
API and its Observation server interceptor.
Resolves#1
Signed-off-by: Sunny <hmtang@gmail.com>
This commit re-introduces the service discoverer concept from the
gRPC ecosystem. We previously removed it but realized that the
abstraction is helpful to provide fully configured service
definitions with features like server interceptors. The next
commit will take advantage of this commit to add interceptors.
See #4
Signed-off-by: Chris Bono <chris.bono@gmail.com>