Yes, the config group also was (obviously) looking at DeltaSpikes config mechanism as
well.
There were others who wanted to go more into the 'filtering' approach as done on
WebLogic servers (though not sure who else does that as well).
You know, having all the XML configs like WEB-INF/web.xml containing placeholders and the
real values only get placed in there at deployment time. I personally find this approach a
bit limited from a technical perspective and it already didn't work out for me when
using WebLogic (what about changing a configured value after the deployment was done? What
about security? Having passwords in web.xml, unit testing, ...).
There are of course also other approaches which all might have strong sides and would have
needed to get discussed.
But utterly the problem seems to have been legal reasons. We even offered to have
Anatole/CS lead the EG and do the RI as an ASF project with substantial support and
participation from the JBoss, DeltaSpike and TomEE communities.
Anyway, the time will come when we will resurrect this effort.
LieGrue,
strub
On Sunday, 7 September 2014, 14:29, Werner Keil <werner.keil(a)gmail.com> wrote:
Yep, it contains a simple but extendable notion of ProjectStage, too;-)
On Sun, Sep 7, 2014 at 2:19 PM, John D. Ament <john.d.ament(a)gmail.com> wrote:
Anatole,
>
>
>I'm wondering if some of your configuration description falls under what was put
together in DeltaSpike?
>
>
>http://deltaspike.apache.org/configuration.html
>
>
>
>John
>
>
>
>On Fri, Sep 5, 2014 at 6:18 PM, Anatole Tresch <atsticks(a)gmail.com> wrote:
>
>Staging is not a question of xml or not xml (the "format" of config). You
can do staged config also using xml, or based on a database or json config service.
Staging as well as, more generally speaking, environment dependent config is more like to
select/filter the right config that targets the current (runtime) environment. This might
include stages, but also many other aspects are feasible and common (server, tier, ear,
war, tenant ...). Since these aspects are per se very complex, it might be advisable to
leave them out of any spec (even a dedicated config JSR would probably not be capable of
covering these within the relatively short EE timeframe)...
>>
>>
>>
>>
>>2014-09-05 23:30 GMT+02:00 Werner Keil <werner.keil(a)gmail.com>:
>>
>>Jens/all,
>>>
>>>
>>>A sort of "staging" already was possible using CDI earlier, see
examples like this:
>>>http://stackoverflow.com/questions/16907185/multiple-cdi-configuration-profiles-devel-beta-qa-production-in-one-war
>>>
>>>
>>>DeltaSpike also includes type-safe staging that goes beyond the primitive,
hard-coded JSF enum.
>>>
>>>
>>>If that works without XML, while still allowing flexible configuration for
different stages or to add and "inject" additional stages maybe even on a
tenant basis (for Cloud scenarios) I could see something like that work without XML. In
the Multiconf project we managed to code everything in Python, and similar to Puppet or
Chef you can configure and deploy multiple environments with it, Java EE, Spring or Play!
several of them are configured this way and it requires no XML (where the container needs
such files, the framework generates them;-)
>>>
>>>
>>>Werner
>>>
>>>
>>>On Fri, Sep 5, 2014 at 10:21 PM, <cdi-dev-request(a)lists.jboss.org>
wrote:
>>>
>>>Send cdi-dev mailing list submissions to
>>>> cdi-dev(a)lists.jboss.org
>>>>
>>>>To subscribe or unsubscribe via the World Wide Web, visit
>>>>
https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>or, via email, send a message with subject or body 'help' to
>>>> cdi-dev-request(a)lists.jboss.org
>>>>
>>>>You can reach the person managing the list at
>>>> cdi-dev-owner(a)lists.jboss.org
>>>>
>>>>When replying, please edit your Subject line so it is more specific
>>>>than "Re: Contents of cdi-dev digest..."
>>>>
>>>>
>>>>Today's Topics:
>>>>
>>>> 1. Re: Tools : Google Drive vs Asciidoc and Github (Anatole Tresch)
>>>> 2. Re: With the end of Java Config... (Anatole Tresch)
>>>> 3. [JBoss JIRA] (CDI-456) fix Bean#getBeanClass() definition
>>>> (Anatole Tresch (JIRA))
>>>> 4. Re: With the end of Java Config... (Jens Schumann)
>>>>
>>>>------------------------------
>>>>
>>>>Message: 4
>>>>Date: Fri, 5 Sep 2014 20:20:53 +0000
>>>>From: Jens Schumann <jens.schumann(a)openknowledge.de>
>>>>Subject: Re: [cdi-dev] With the end of Java Config...
>>>>To: Anatole Tresch <atsticks(a)gmail.com>, Antonio Goncalves
>>>> <antonio.goncalves(a)gmail.com>
>>>>Cc: cdi-dev <cdi-dev(a)lists.jboss.org>
>>>>Message-ID: <D02FDD99.396B9%jens.schumann(a)openknowledge.de>
>>>>Content-Type: text/plain; charset="windows-1252"
>>>>
>>>>I can confirm that this approach works very well. We are using a similar
approach a couple of years now, and I love the simplicity that comes with portable
extensions and @Producer methods. See our public version here [1] (works since early CDI
1.0 days) .
>>>>
>>>>Instead of a @Inject + Qualifier we just use the qualifier @Property. We
support default values and type conversation for primitives and everything that has a
string based constructor. The property source can be anything, from property files
(default) to databases or xml files. For examples see tests here [2].
>>>>
>>>>Nevertheless I am not sure if this should be part of an future CDI spec.
My concerns include the bloat argument, of course. But the main reason relates to the fact
that we have almost everything in the current CDI spec already.
>>>>
>>>>Right now I am quite happy with an custom portable extension that does
everything for me. At the time we implemented the extension we realised that the
"hard part" was writing an extension that links a qualified "optional
injection point" with an @Producer method while supporting code based default values.
Luckily I had Arne in my team who did that within a few minutes.
>>>>
>>>>Because of this experience I would propose that we simplify extension
development such that "optional injection points" may be linked to @Produces
values easily. Additionally we have to solve a few more integration issues (e.g. read-only
DB access should be available during CDI startup). Everything else should be provided by
portable extensions (e.g. via delta-spike) and documentation/howtos at
cdi-spec.org.
>>>>
>>>>Jens
>>>>[1]
https://github.com/openknowledge/openknowledge-cdi-extensions/tree/master...
>>>>[2]
https://github.com/openknowledge/openknowledge-cdi-extensions/blob/master...
>>>>
>>>> Von: Anatole Tresch
<atsticks@gmail.com<mailto:atsticks@gmail.com>>
>>>>Datum: Friday 5 September 2014 21:22
>>>> An: Antonio Goncalves
<antonio.goncalves@gmail.com<mailto:antonio.goncalves@gmail.com>>
>>>>Cc: CDI-Dev
<cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>>
>>>>Betreff: Re: [cdi-dev] With the end of Java Config...
>>>>
>>>>Hi all,
>>>>
>>>>I would not like to add an XML "bloated" mechanism as part of
CDI 2.0. Spontaneously I would propose a more CDI like things like:
>>>>
>>>>
>>>> * Adding a @Configured annotation (basically a qualifier). This can
be in addition to @Inject and would allow to inject "configured" values.
>>>> * Since configuration can change we may think of a (CDI)
event/reinject mechanism based on config changes. By default, this is switched off and we
can discuss how it would be activated, e.g. by an additional flag settable with the
@Configured annotation, or an additional @Observable ConfigChangeEvent (similar to the
Griffon framework), or both.
>>>> * Hereby configured values theoretically behave similar as all other
injection points. They also can be qualified (the aspect of scopes, I did not yet have
time to think about). The only difference is, that they are satisified using the
configuration "system".
>>>> * The configuration "source" itself could in the extreme
simplest way be a Provider<Map<String,String>>. The CDI spec should not care
about how this map is provided (XML, DB, overrides, etc). This still can be standardized
later. As long as the ConfigurationSource SPI is defined, companies still can hook in the
logic and level of configuration abstraction they need.
>>>> * Of course, since not only Strings can be injected, we need some
conversion or adapter logic as basically outlined in my blog. Also here we can add a
simple SPI and let the details to the RI.
>>>>
>>>>Summarizing a
>>>>
>>>> * @Configured annotation
>>>> * some kind of change event
>>>> * a ConfigurationSource extends Provider<MapString,String>>
>>>> * a conversion mechanism from String to T.
>>>>
>>>>we get a full fledged configuration mechanism that leverages CDI.
>>>>
>>>>That would be my idea basically. WDYT? I will try to work that out in more
details. Basically it should be implementable even with the CDI mechanism already in place
with CDI 1.1.
>>>>
>>>>Best,
>>>>Anatole
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2014-09-05 16:08 GMT+02:00 Antonio Goncalves
<antonio.goncalves@gmail.com<mailto:antonio.goncalves@gmail.com>>:
>>>>One wise man* once said "EJB was a hype specification, we added too
many things to it, it became bloated. The next hype specifications are JAX-RS and CDI,
careful with them"
>>>>
>>>>Either we get this idea of "parts" right, or CDI will endup
being bloated.
>>>>
>>>>Antonio
>>>>
>>>>
>>>>*David Blevin
>>>>
>>>>
>>>>On Fri, Sep 5, 2014 at 3:28 PM, Antoine Sabot-Durand
<antoine@sabot-durand.net<mailto:antoine@sabot-durand.net>> wrote:
>>>>Hi all,
>>>>
>>>>You may have followed the rise and fall of the Java Config JSR
(
http://javaeeconfig.blogspot.ch/2014/09/no-java-ee-configuration-for-ee8-...).
>>>>Anatole in CC was leading this initiative and I proposed him to join us
and explore if some part of his late-JSR could be done in CDI.
>>>>
>>>> I?m mainly thinking of
https://issues.jboss.org/browse/CDI-123 or related
solution. If we achieve to have a majority of specs to integrate with CDI, our
configuration solution would therefore become a configuration system for all spec based on
CDI 2.0.
>>>>
>>>>Antoine
>>>>
>>>>
>>>>
>>>>_______________________________________________
>>>>cdi-dev mailing list
>>>>cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>
>>>>https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>
>>>>Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2
(
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this
list, the provider waives all patent and other intellectual property rights inherent in
such information.
>>>>
>>>>
>>>>
>>>>--
>>>>Antonio Goncalves
>>>>Software architect, Java Champion and Pluralsight author
>>>>
>>>> Web site<http://www.antoniogoncalves.org> |
Twitter<http://twitter.com/agoncal> |
LinkedIn<http://www.linkedin.com/in/agoncal> |
Pluralsight<http://pluralsight.com/training/Authors/Details/antonio-go... |
Paris JUG<http://www.parisjug.org> | Devoxx France<http://www.devoxx.fr>
>>>>
>>>>_______________________________________________
>>>>cdi-dev mailing list
>>>>cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>
>>>>https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>
>>>>Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2
(
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this
list, the provider waives all patent and other intellectual property rights inherent in
such information.
>>>>
>>>>
>>>>
>>>>--
>>>>Anatole Tresch
>>>>Java Lead Engineer, JSR Spec Lead
>>>> Gl?rnischweg 10
>>>>CH - 8620 Wetzikon
>>>>
>>>>Switzerland, Europe Zurich, GMT+1
>>>>Twitter: @atsticks
>>>>Blogs:
http://javaremarkables.blogspot.ch/
>>>>Google: atsticks
>>>>Mobile +41-76 344 62 79
>>>>-------------- next part --------------
>>>>An HTML attachment was scrubbed...
>>>> URL:
http://lists.jboss.org/pipermail/cdi-dev/attachments/20140905/3d951250/at...
>>>>
>>>>------------------------------
>>>>
>>>>_______________________________________________
>>>>cdi-dev mailing list
>>>>cdi-dev(a)lists.jboss.org
>>>>https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>
>>>>Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2
(
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this
list, the provider waives all patent and other intellectual property rights inherent in
such information.
>>>>
>>>> End of cdi-dev Digest, Vol 46, Issue 20
>>>>***************************************
>>>>
>>>
>>>_______________________________________________
>>>cdi-dev mailing list
>>>cdi-dev(a)lists.jboss.org
>>>https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>>Note that for all code provided on this list, the provider licenses the code
under the Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For
all other ideas provided on this list, the provider waives all patent and other
intellectual property rights inherent in such information.
>>>
>>
>>
>>
>>--
>>
>>Anatole Tresch
>>Java Lead Engineer, JSR Spec Lead
>>Glärnischweg 10
>>CH - 8620 Wetzikon
>>
>>
>>Switzerland, Europe Zurich, GMT+1
>>Twitter: @atsticks
>>Blogs:
http://javaremarkables.blogspot.ch/
>>Google: atsticks
>>Mobile +41-76 344 62 79
>>_______________________________________________
>>cdi-dev mailing list
>>cdi-dev(a)lists.jboss.org
>>https://lists.jboss.org/mailman/listinfo/cdi-dev
>>
>>Note that for all code provided on this list, the provider licenses the code under
the Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all
other ideas provided on this list, the provider waives all patent and other intellectual
property rights inherent in such information.
>>
>
_______________________________________________
cdi-dev mailing list
cdi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the
Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all other
ideas provided on this list, the provider waives all patent and other intellectual
property rights inherent in such information.