Harald Pehl created WFLY-12500:
----------------------------------
Summary: Allow to change RESTEasy settings via HAL
Key: WFLY-12500
URL:
https://issues.jboss.org/browse/WFLY-12500
Project: WildFly
Issue Type: Feature Request
Reporter: Harald Pehl
Assignee: Ronald Sigal
Fix For: 18.0.0.Final
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:
{noformat}
/deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:read-resource
{noformat}
CLI should be able to set values of this properties per each deployment:
{noformat}
/deployment=${NAME_OF_DEPLOYMENT}/subsystem=jaxrs:write-attribute(name=resteasy.use.builtin.providers,value=false)
{noformat}
CLI should be able to specify values of this attributes globally for all deployments
(global settings override deployment settings):
{noformat}
/subsystem=jaxrs:write-attribute(name=resteasy.media.type.mappings,value="html :
text/html, txt : text/plain")
{noformat}
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:
{noformat}
./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
...
{noformat}
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:
{noformat}
/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)
{noformat}
----
*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
--
This message was sent by Atlassian Jira
(v7.13.5#713005)