Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-1510

Allow to change RESTEasy settings via CLI

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Done
    • Icon: Major Major
    • 3.10.0.Final
    • None
    • None
    • None

      Many RESTEasy properties can be set in web.xml. CLI should be able to show values of these properties per each deployment by this command:

      /deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:read-resource
      

      CLI should be able to set values of this properties per each deployment:

      /deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:write-attribute(name=resteasy.use.builtin.providers,value=false)
      

      CLI should be able to specify values of this attributes globally for all deployments (global settings override deployment settings):

      /subsystem=jaxrs:write-attribute(name=resteasy.media.type.mappings,value="html : text/html, txt : text/plain")
      

      We should consider which properties should be available via CLI.


      Default providers, interceptors, etc. are set in many javax.ws.rs.ext.Providers files in RESTEasy sources:

      ./providers/jackson2/src/main/resources/META-INF/services/javax.ws.rs.ext.Providers
      ./providers/yaml/src/main/resources/META-INF/services/javax.ws.rs.ext.Providers
      ./resteasy-jaxrs/src/main/resources/META-INF/services/javax.ws.rs.ext.Providers
      ...
      

      CLI shoud allow to add other providers, interceptors, etc., or disable some in global level for all deployments. CLI should allow to add or disable it for specific deployment. Disabling should have higher priority then allowing. Global settings override deployment settings.

      Proposal for CLI attributes (list-add is standard CLI function) - examples:

      /subsystem=jaxrs:list-add(name=disabled-providers,value=org.jboss.resteasy.plugins.providers.DataSourceProvider)
      /subsystem=jaxrs:list-add(name=allowed-providers,value=org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor)
      /deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:list-add(name=disabled-providers,value=org.jboss.resteasy.plugins.providers.DataSourceProvider)
      /deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:list-add(name=allowed-providers,value=org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor)
      

      Example without this RFE:
      Let's say that server admin needs to disable DataSourceProvider for all deployments on server. Now, AFAIK, he needs to:

      • set "resteasy.use.builtin.providers" property in web.xml of all deployments to "false"
        • It disable all default providers.
      • explicitly set providers used in each deployment by "resteasy.providers" property in web.xml of all deployments

      These steps are really uncomfortable, server admin needs to manually update all deployments in server

              rsigal@redhat.com Ronald Sigal
              mkopecky@redhat.com Marek Kopecky
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: