Class JaxRsCdiExtension

  • All Implemented Interfaces:
    Extension

    public class JaxRsCdiExtension
    extends Object
    implements Extension
    Configure Jersey related things.
    • Constructor Detail

      • JaxRsCdiExtension

        public JaxRsCdiExtension()
    • Method Detail

      • applicationsToRun

        public List<JaxRsApplication> applicationsToRun()
                                                 throws IllegalStateException
        List of applications including discovered and explicitly configured applications.

        This method should only be called in Initialized(ApplicationScoped.class) observer methods, that have a higher priority than ServerCdiExtension start server method.

        Returns:
        list of applications found by CDI
        Throws:
        IllegalStateException - in case the list of applications is not yet fixed
      • removeApplications

        public void removeApplications()
                                throws IllegalStateException
        Remove all discovered applications (configured applications are not removed).
        Throws:
        IllegalStateException - in case applications are already started
      • removeResourceClasses

        public void removeResourceClasses()
                                   throws IllegalStateException
        Remove all discovered and configured resource classes.
        Throws:
        IllegalStateException - in case applications are already started
      • addResourceClasses

        public void addResourceClasses​(List<Class<?>> resourceClasses)
                                throws IllegalStateException
        Add all resource classes from the list to the list of resource classes discovered through CDI. These may be added to an existing application, or may create a synthetic application, depending on other configuration.
        Parameters:
        resourceClasses - resource classes to add
        Throws:
        IllegalStateException - in case applications are already started
      • addApplication

        public void addApplication​(String contextRoot,
                                   Application application)
                            throws IllegalStateException
        Add a jersey application to the server with an explicit context path.
        Parameters:
        contextRoot - Context root to use for this application (ApplicationPath is ignored)
        application - configured as needed
        Throws:
        IllegalStateException - in case applications are already started
      • serviceName

        public String serviceName()
        Makes an attempt to "guess" the service name.

        Service name is determined as follows:

        • A configuration key service.name
        • A configuration key tracing.service
        • Name of the first JAX-RS application, if any
        • helidon-mp
        Returns:
        name of this service
      • addSyntheticApplication

        public void addSyntheticApplication​(List<Class<?>> resourceClasses)
                                     throws IllegalStateException
        Create an application from the provided resource classes and add it to the list of applications.
        Parameters:
        resourceClasses - resource classes to create a synthetic application from
        Throws:
        IllegalStateException - in case applications are already started