[
https://issues.redhat.com/browse/WFWIP-314?page=com.atlassian.jira.plugin...
]
Ronald Sigal commented on WFWIP-314:
------------------------------------
Hi [~pkremens],
The way MicroProfile works is that it looks for a service loader file named
META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource and loads the contents.
Currently, the file in resteasy-jaxrs is
{code}
org.jboss.resteasy.microprofile.config.ServletConfigSource
org.jboss.resteasy.microprofile.config.FilterConfigSource
org.jboss.resteasy.microprofile.config.ServletContextConfigSource
{code}
If there are no servlet-context properties, for example, that ConfigSource will be empty.
Note that if the Config jars are absent, then the ConfigSources won't get loaded. See
https://issues.redhat.com/browse/WFWIP-313 for more about that.
-Ron
[EAP7-1386] additional ConfigSources are always initialized
-----------------------------------------------------------
Key: WFWIP-314
URL:
https://issues.redhat.com/browse/WFWIP-314
Project: WildFly WIP
Issue Type: Quality Risk
Reporter: Petr Kremensky
Assignee: Ronald Sigal
Priority: Minor
I've noticed that three additional config sources provided by EAP7-1386 are always
registered among config sources, even they are empty. I'll probably reject this one
myself soon :) as I still have to look into the implementation of SPI for mp config, so I
can assume that this is just out of box behaviour we have no control over.
Test with a simple servlet from
[
helloworld|https://github.com/wildfly/quickstart/tree/master/helloworld] quickstart with
following addition:
{code:java}
ConfigProvider.getConfig().getConfigSources().forEach(configSource -> {
System.out.println("=================================");
System.out.println(configSource.getName());
System.out.println(configSource.getOrdinal());
System.out.println("Property names: " +
configSource.getPropertyNames().stream().collect(Collectors.joining(", ")));
});
{code}
output:
{noformat}
=================================
SysPropConfigSource
400
[Standalone], awt.toolkit, ...
=================================
EnvConfigSource
300
PATH, INVOCATION_ID, ...
=================================
null:null:ServletConfigSource
60
=================================
null:null:FilterConfigSource
50
=================================
null:ServletContextConfigSource
40
{noformat}
Notice that {{PropertiesConfigSource}} is missing there as none was put to classpath. On
the other hand {PropertiesConfigSource} is present once added to classpath, even it is
empty.
{noformat}
...
=================================
PropertiesConfigSource[source=vfs:/content/helloworld.war/WEB-INF/classes/META-INF/microprofile-config.properties]
100
Property names:
=================================
null:null:ServletConfigSource
60
Property names:
=================================
null:null:FilterConfigSource
50
Property names:
=================================
null:ServletContextConfigSource
40
Property names:
{noformat}
As stated before, I'd probably close this one myself once I'll take deeper look
into it.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)