Class GrpcCdiExtension

  • All Implemented Interfaces:
    Extension

    public class GrpcCdiExtension
    extends Object
    implements Extension
    An extension that processes beans as they are discovered.
    • Constructor Detail

      • GrpcCdiExtension

        public GrpcCdiExtension()
    • Method Detail

      • beforeBean

        public void beforeBean​(@Observes
                               ProcessAnnotatedType<?> event)
        Determine whether a discovered bean has a superclass or implements an interface that is annotated with Grpc and if so then also annotate the bean with the same annotation.

        This is required so that we can support the use-case where an interface has been annotated with Grpc but the implementation class has not but the implementation class is annotated with a bean discovering annotation such as ApplicationScoped. We need to make sure that the gRPC server can locate beans so we add the Grpc from the interface to the bean.

        Parameters:
        event - the ProcessAnnotatedType event