From dev-return-98384-archive-asf-public=cust-asf.ponee.io@geronimo.apache.org Thu Jan 4 04:24:43 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 612BF18077A for ; Thu, 4 Jan 2018 04:24:43 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 50595160C39; Thu, 4 Jan 2018 03:24:43 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C6ADB160C1B for ; Thu, 4 Jan 2018 04:24:41 +0100 (CET) Received: (qmail 18109 invoked by uid 500); 4 Jan 2018 03:24:40 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 18099 invoked by uid 99); 4 Jan 2018 03:24:39 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jan 2018 03:24:39 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 53A43C1A56 for ; Thu, 4 Jan 2018 03:24:39 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.879 X-Spam-Level: * X-Spam-Status: No, score=1.879 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id XBEIScEWs2GQ for ; Thu, 4 Jan 2018 03:24:37 +0000 (UTC) Received: from mail-ua0-f178.google.com (mail-ua0-f178.google.com [209.85.217.178]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 382745FACE for ; Thu, 4 Jan 2018 03:24:36 +0000 (UTC) Received: by mail-ua0-f178.google.com with SMTP id x10so250046ual.8 for ; Wed, 03 Jan 2018 19:24:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=ABqjl7EUI1wgV0TRY0Ox4z/a5XBwgOwX5BdT7G7Why0=; b=P7M7seq4GpwPNkMWHWYIesjTu5DShnhNIhpu3Jg0PSrhr31AEU6X0zvpbFKBctiWAH pxHSm2TuS9bhy9aQlPaW2E3W/vllff5eikYsGArIpzLagojythxjulcBh+Q3T+eOh0q2 Kj6kYD9d9lRDxwNuZP/0r4ovUA5FOsz03ymjHRV4eDoa2umyj7HBv8jY6ky90Umc0CAF fVMZFkcz9LPv2kHTabvxDfjPvqUqrBrX8+a1Ed+i+om3CIVTLKDJB5+WJzTEtFwcg4Hb 6+gAPlYzjTbCwgfNcwV4HDnYB9NuNpBTBk/2T7zgWfH2Sw5HbDt9pOp/n4bT9wPPGAO1 7RFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=ABqjl7EUI1wgV0TRY0Ox4z/a5XBwgOwX5BdT7G7Why0=; b=uh8TBnxOtNN/Il30QgXv37hxOMh6jamZkIc2YNtPPctqQStS65czo2cP9vd71lfh18 s5kMvM1HeR8Pc8GsusaXR0Td/+tkLFKznhfVwwi23PZG6xPWnutyUPUDXF9CH3B0fCmt UDSGAhBhPBvWGGFFgB1iR/A43dmpPlIVIc/BP/FU0Yixyd+/IN+Ex6fxhUj7Y+JGEwz2 2xsGHgV07wdJ+02Efq03rs2KSPATYMF/ZUL1NwpY6m4DpSRQa0RrIYMgGIaDiQqcCVf2 lGVGDYsljGrqeph9fAwpoHBhuI4QgiiLUu98jqrU7T4pUlXdArbWz5WrHegJAo+qqPJY TlfA== X-Gm-Message-State: AKGB3mKmcwwxYA3wXiSw+VXz2AuasxoQAdMwel0nFg+5s4nz0YXFQ60i fjcDgxQ62JtrFeNlsJj7Qcyl/4OomDjXl1CxLYdGAg== X-Google-Smtp-Source: ACJfBosO5AlbSHKS5IgTfmPkU3v1U202U2LT34zpSeuctAGXRaLHOGXJy/xTz8HszX1s5NPrbhI6Ue8OVzkRA/VukgM= X-Received: by 10.176.87.10 with SMTP id s10mr3596457uaa.169.1515036274673; Wed, 03 Jan 2018 19:24:34 -0800 (PST) MIME-Version: 1.0 References: <2FA73E96-8DBD-43B4-95A8-A385E75739F8@yahoo.de> In-Reply-To: From: "John D. Ament" Date: Thu, 04 Jan 2018 03:24:23 +0000 Message-ID: Subject: Re: Planning to cut Config & Safeguard This Week To: dev@geronimo.apache.org Content-Type: multipart/alternative; boundary="f403045dd562f94f950561eade53" --f403045dd562f94f950561eade53 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Romain, I'm going to top post, because I don't want to keep this back and forth going. When I set out and declared I was planning to start Safeguard, I made it very clear I was going to use Failsafe as a dependency [1]. If you feel strongly that this is a blocker, we should make sure that's clear and any factual concerns with its use are understood. Failsafe is a library that's been through the ringer and has 2.5 years of effort behind it. We're not going to replace it in two weeks. John [1]: https://lists.apache.org/thread.html/6c550a5fd715394e82c0b337b96aec5871b99b= 89e6e43911d1e1c715@%3Cdev.geronimo.apache.org%3E On Tue, Jan 2, 2018 at 10:05 AM Romain Manni-Bucau wrote: > 2018-01-02 15:01 GMT+01:00 John D. Ament : > >> >> >> On Tue, Jan 2, 2018 at 8:11 AM Romain Manni-Bucau >> wrote: >> >>> 2018-01-02 13:02 GMT+01:00 John D. Ament : >>> >>>> >>>> >>>> On Tue, Jan 2, 2018 at 3:17 AM Romain Manni-Bucau < >>>> rmannibucau@gmail.com> wrote: >>>> >>>>> Here a few feedbacks: >>>>> >>>>> 1. org.apache.safeguard.api.config.ConfigFacade: it looks too risky >>>>> and wrong as impl, setInstance should fail if already set + it should >>>>> be per "app" (classloader with fallback on parent if not in the get? = =3D> how >>>>> to clean? ServletContextListener for webapps?). If not it can only wo= rk as >>>>> a lib embedded in an app and can't be industrialized as a container/e= nvrt >>>>> service >>>>> 2. org.apache.safeguard.impl.config.MicroprofileAnnotationMapper#setI= nstance >>>>> why? >>>>> >>>> >>>> For both of these, the issue is the per app classloading. WE probably >>>> need to back it by a map. >>>> >>>> >>>>> 3. org.apache.safeguard.impl.FailsafeExecutionManager#FailsafeExecuti= onManager() >>>>> we should move the "instances" to cdi beans (@Inject?) and if null we= do a >>>>> plain new no? would avoid leaking (inter app) instances and old singl= etons >>>>> spread accross the app and hard to change. >>>>> >>>> >>>> I don't believe CDI should be used here. We have one convenience >>>> constructor + a constructor an implementor can use to create the class= . >>>> >>> >>> Hmm, there is a CDI extension in the spec and it shouldn't use not CDI >>> beans which would be specializable. This use case is not handled making= the >>> customization hard, not natural and error prone. This was my concern. >>> Supporting CDI beans natively is what we should propose as a programmim= ng >>> model to the end user IMHO - and it doesnt violate the spec. >>> >> >> Yes, there is a CDI Extension effectively required by the spec for the >> interceptor (not explicitly required, but since you lose the runtime >> metadata you need it). Yes, there should be a CDI based programming mod= el >> to the end user, but not sure we should provide our specific classes as = CDI >> beans. >> > > Ok, I don't really care much if it is or not but I care about the fact we > look up everything which looks like a service OOTB if CDI is available. > > >> >> >>> >>> >>>> >>>> >>>>> 4. I updated the config facade to not enforce [config] dependency, ca= n >>>>> you review please? >>>>> >>>> >>>> Saw it, looks fine. >>>> >>>> >>>>> 5. in SPI files there are apache headers, it was common to not put >>>>> them cause some impl were not supporting them well, do we want to str= ip >>>>> them? >>>>> >>>> >>>> I don't understand this statement. All source files should have Apache >>>> headers. >>>> >>> >>> No, all source files which can. a JSON file can't for instance. SPI >>> files have been here for a while. Not a blocker for me but just think i= t >>> should be mentionned. In other words: if you use another API loading th= e >>> SPI files and not supporting the comments you are broken. >>> >> >> Oh, ok, now I know what file you mean (the META-INF/services file). I >> could go either way, I have seen it both ways. Since I'm just using a >> ServiceLoader which handles comments I think its fine. >> >> >>> >>> >>>> >>>> >>>>> 6. do we need to depend in failsafe lib? can't we do it ourself? >>>>> >>>> >>>> We can definitely do it ourselves, I mentioned this early on that it >>>> would be a dependency until we can build out a replacement. That's wh= y >>>> there's API sitting on top, to allow us to create a second implementat= ion >>>> not based on failsafe when we're ready to. >>>> >>> >>> Oki, +1 then. Do you think it would be too long to block the release? >>> >> >> Yes, there's a lot of functionality baked in for usage. If anything, I'= d >> actually like to start thinking about importing his source code and >> maintaining it here; since he's done most of the hard work but not sure = his >> plans for maintaining it long term. >> > > Can you ping him to see and have a rough idea of the plan? If we import > the code it sounds good to release like that, if not I'd like to take 2 > weeks to see if we can drop it. > > >> >> >>> >>> >>>> >>>> >>>>> 7. you mentionned it >>>>> but org.apache.safeguard.impl.executionPlans.ExecutionPlanFactory#loc= ateExecutionPlan(java.lang.reflect.Method) >>>>> should be configurable and not a 5 threads pool, default should likel= y be a >>>>> constant pool (same rule as 2 probably) otherwise more you use the li= b more >>>>> you have threads and can end up with an unbeliving system. In TomEE a= t the >>>>> beginning we had that - with 1 thread - and saw systems with > 1000 t= hreads >>>>> doing almost nothing, we switched to 1 default pool with a few thread= s and >>>>> system was as well behaving. Of course it must be customizable but de= fault >>>>> should be saner probably. >>>>> >>>> >>>> Yes, this needs to get replaced. I need to basically create an SPI >>>> that creates these objects, this way people can tweak them as needed. >>>> >>>> >>>>> >>>>> Note linked to the impl: anyone knows why ConfigFacade is a class and >>>>> not an interface? Abuse? >>>>> >>>> >>>> State saving. >>>> >>> >>> So an abuse to not have either a provider or a packaged scope class to >>> hold INSTANCE, right? >>> >> >> I'm not sure what you mean by "abuse." >> > > Design mistake/impl leak. > > >> >> >>> >>> >>>> >>>> >>>>> >>>>> What do you think? >>>>> >>>>> >>>>> >>>>> Romain Manni-Bucau >>>>> @rmannibucau | Blog >>>>> | Old Blog >>>>> | Github >>>>> | LinkedIn >>>>> >>>>> >>>>> 2018-01-02 8:50 GMT+01:00 Romain Manni-Bucau : >>>>> >>>>>> yes and no, what is true is a java 9 lib must have module SPI and >>>>>> META-INF/services registration*s* but you also have optional imports= so >>>>>> this is still true. That said a fallback on system properties (hardc= oded i >>>>>> mean) works for me. Just don't want to enforce [config] to be here. >>>>>> >>>>>> Looking that now, will report soon >>>>>> >>>>>> >>>>>> Romain Manni-Bucau >>>>>> @rmannibucau | Blog >>>>>> | Old Blog >>>>>> | Github >>>>>> | LinkedIn >>>>>> >>>>>> >>>>>> 2018-01-01 22:59 GMT+01:00 John D. Ament : >>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Jan 1, 2018 at 2:36 PM Romain Manni-Bucau < >>>>>>> rmannibucau@gmail.com> wrote: >>>>>>> >>>>>>>> Yes, idea was to use config if there in right version and skip it >>>>>>>> with an info log if not. Will try to check tmr. Thanks for the poi= nter. >>>>>>>> >>>>>>> >>>>>>> No, it's not quite that. Honestly, with Java 9 and what not I'm a >>>>>>> bit worried with that kind of approach since class importing is no = longer >>>>>>> behaving the same way. I went with a ServiceLoader approach, this = way even >>>>>>> app servers can come up with their own configuration mechanism inde= pendent >>>>>>> of MP. >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Le 1 janv. 2018 18:51, "John D. Ament" a >>>>>>>> =C3=A9crit : >>>>>>>> >>>>>>>>> You mean for safeguard? If so its already there. I do want to >>>>>>>>> move it to a separate JAR so maybe OOTB we have a system property= backed >>>>>>>>> version? >>>>>>>>> >>>>>>>>> Take a look for ConfigFacade and MicroProfileConfigFacade. >>>>>>>>> >>>>>>>>> On Jan 1, 2018 12:37 PM, "Romain Manni-Bucau" < >>>>>>>>> rmannibucau@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Any hope to have mp config optional before? Was planning to do i= t >>>>>>>>>> before Xmas but didnt get a chance yet to code it. Can try later= this week >>>>>>>>>> probably. >>>>>>>>>> >>>>>>>>>> Le 1 janv. 2018 17:19, "John D. Ament" a >>>>>>>>>> =C3=A9crit : >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Jan 1, 2018 at 11:10 AM Mark Struberg >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> +1 go for it! >>>>>>>>>>>> >>>>>>>>>>>> > Safeguard requires a Config 1.2 implementation to run, since >>>>>>>>>>>> Config 1.2 >>>>>>>>>>>> >>>>>>>>>>>> Geronimo-config-1.1 is microprofile-config 1.2, right? >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Yes. Between the bugs found in the impl and the spec issues I >>>>>>>>>>> saw, GConfig 1.0 ended up implementing MP Config 1.1. I think = only IBM >>>>>>>>>>> shipped an impl of just Config 1.0. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> LieGrue, >>>>>>>>>>>> strub >>>>>>>>>>>> >>>>>>>>>>>> > Am 01.01.2018 um 16:34 schrieb John D. Ament < >>>>>>>>>>>> johndament@apache.org>: >>>>>>>>>>>> > >>>>>>>>>>>> > Hey guys >>>>>>>>>>>> > >>>>>>>>>>>> > Just pushed up the last of the changes for Safeguard to make >>>>>>>>>>>> it pass Fault Tolerance 1.0's TCK. There's a small change I s= till want to >>>>>>>>>>>> make it to allow the executor to be pluggable, and plan to hav= e a following >>>>>>>>>>>> release soon that introduces more configurable properties. >>>>>>>>>>>> > >>>>>>>>>>>> > With that said, I'm going to plan to stage the Config 1.1 >>>>>>>>>>>> release tomorrow and start testing the Safeguard release proce= ss (since >>>>>>>>>>>> this'll be the first time we're releasing a git repo). Once t= hat's >>>>>>>>>>>> working, I'll plan to stage that release as well. >>>>>>>>>>>> > >>>>>>>>>>>> > Please note - Safeguard requires a Config 1.2 implementation >>>>>>>>>>>> to run, since Config 1.2 introduces common sense converters (f= or enums in >>>>>>>>>>>> particular) and Class converter built in. I didn't want to re= gister a >>>>>>>>>>>> custom converter. >>>>>>>>>>>> > >>>>>>>>>>>> > John >>>>>>>>>>>> >>>>>>>>>>>> >>>>>> >>>>> --f403045dd562f94f950561eade53 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Romain,

I'm going to top post, beca= use I don't want to keep this back and forth going.

When I set out and declared I was planning to start Safeguard, I made= it very clear I was going to use Failsafe as a dependency [1].=C2=A0 If yo= u feel strongly that this is a blocker, we should make sure that's clea= r and any factual concerns with its use are understood.=C2=A0 Failsafe is a= library that's been through the ringer and has 2.5 years of effort beh= ind it.=C2=A0 We're not going to replace it in two weeks.
John

[1]:=C2=A0https://lists.apache.org/thread.html/= 6c550a5fd715394e82c0b337b96aec5871b99b89e6e43911d1e1c715@%3Cdev.geronimo.ap= ache.org%3E

On Tue, = Jan 2, 2018 at 10:05 AM Romain Manni-Bucau <rmannibucau@gmail.com> wrote:
2018-01-02 15:01 GMT+01:00 John D. Ament <<= a href=3D"mailto:johndament@apache.org" target=3D"_blank">johndament@apache= .org>:

On Tue, Jan 2, 2018 = at 8:11 AM Romain Manni-Bucau <rmannibucau@gmail.com> wrote:
2018-01-02 13:02 GMT+01:00 John D. Ament <johndament@= apache.org>:


On Tue, Jan 2,= 2018 at 3:17 AM Romain Manni-Bucau <rmannibucau@gmail.com> wrote:
Here a few feedbacks:

1.=C2=A0org.apache.safeguard.api.config.ConfigFacade: it looks too= risky and wrong as impl,=C2=A0setInstance should fail if already set + it s= hould be per "app" (classloader with fallback on parent if not in= the get? =3D> how to clean? ServletContextListener for webapps?). If no= t it can only work as a lib embedded in an app and can't be industriali= zed as a container/envrt service
2.=C2=A0org.apache.safeguard.impl.config.Mic= roprofileAnnotationMapper#setInstance why?
<= div>
For both of these, the issue is the per app class= loading.=C2=A0 WE probably need to back it by a map.
=C2=A0=
3.=C2=A0org.apache.safeguard.impl.Failsaf= eExecutionManager#FailsafeExecutionManager() we should move the "insta= nces" to cdi beans (@Inject?) and if null we do a plain new no? would = avoid leaking (inter app) instances and old singletons spread accross the a= pp and hard to change.

I don't believe CDI should be used here.=C2=A0 We have one conven= ience constructor=C2=A0+ a constructor an implementor can use to create the= class.

Hmm= , there is a CDI extension in the spec and it shouldn't use not CDI bea= ns which would be specializable. This use case is not handled making the cu= stomization hard, not natural and error prone. This was my concern. Support= ing CDI beans natively is what we should propose as a programmimng model to= the end user IMHO - and it doesnt violate the spec.

Yes, there is a CDI Extension effe= ctively required by the spec for the interceptor (not explicitly required, = but since you lose the runtime metadata you need it).=C2=A0 Yes, there shou= ld be a CDI based programming model to the end user, but not sure we should= provide our specific classes as CDI beans.
<= div>
Ok, I don't really care much if it is = or not but I care about the fact we look up everything which looks like a s= ervice OOTB if CDI is available.
=C2=A0
=
=C2=A0
=C2=A0
=C2= =A0
4. I updated the config facade to no= t enforce [config] dependency, can you review please?

Saw it, looks fine.
= =C2=A0
5. in SPI files there are apache he= aders, it was common to not put them cause some impl were not supporting th= em well, do we want to strip them?

=
I don't understand this statement. All source files s= hould have Apache headers.

No, all source files which can. a JSON file can't for i= nstance. SPI files have been here for a while. Not a blocker for me but jus= t think it should be mentionned. In other words: if you use another API loa= ding the SPI files and not supporting the comments you are broken.

Oh, ok, now I know w= hat file you mean (the META-INF/services file).=C2=A0 I could go either way= , I have seen it both ways.=C2=A0 Since I'm just using a ServiceLoader = which handles comments I think its fine.
=C2=A0
=C2=A0
=C2=A0
6. do we need to depend in failsafe lib? can't we do it o= urself?

We can de= finitely do it ourselves, I mentioned this early on that it would be a depe= ndency until we can build out a replacement.=C2=A0 That's why there'= ;s API sitting on top, to allow us to create a second implementation not ba= sed on failsafe when we're ready to.

Oki, +1 then. Do you think it would be too lo= ng to block the release?

Yes, there's a lot of functionality baked in for usage.=C2= =A0 If anything, I'd actually like to start thinking about importing hi= s source code and maintaining it here; since he's done most of the hard= work but not sure his plans for maintaining it long term.

Can you ping him to see an= d have a rough idea of the plan? If we import the code it sounds good to re= lease like that, if not I'd like to take 2 weeks to see if we can drop = it.
=C2=A0
=C2=A0
=C2=A0
=C2=A0
7. you mentionned it but=C2=A0org.apache.safeguard.impl.executi= onPlans.ExecutionPlanFactory#locateExecutionPlan(java.lang.reflect.Method) = should be configurable and not a 5 threads pool, default should likely be a= constant pool (same rule as 2 probably) otherwise more you use the lib mor= e you have threads and can end up with an unbeliving system. In TomEE at th= e beginning we had that - with 1 thread - and saw systems with > 1000 th= reads doing almost nothing, we switched to 1 default pool with a few thread= s and system was as well behaving. Of course it must be customizable but de= fault should be saner probably.

Yes, this needs to get replaced.=C2=A0 I need to basically c= reate an SPI that creates these objects, this way people can tweak them as = needed.
=C2=A0

=
Note linked to= the impl: anyone knows why ConfigFacade is a class and not an interface? A= buse?

State savin= g.

So an a= buse to not have either a provider or a packaged scope class to hold INSTAN= CE, right?

I= 'm not sure what you mean by "abuse."

Design mistake/impl leak.
=C2=A0
=C2=A0
=C2=A0
=C2=A0

What do you think?

<= div class=3D"gmail_extra">


Romain Manni-Bucau
@rmannibucau | =C2=A0Blog=C2=A0| Old Blog |=C2=A0Github=C2=A0| <= a href=3D"https://www.linkedin.com/in/rmannibucau" target=3D"_blank">Linked= In

2018-01-02 = 8:50 GMT+01:00 Romain Manni-Bucau <rmannibucau@gmail.com>:
yes and no, what is t= rue is a java 9 lib must have module SPI and META-INF/services registration= *s* but you also have optional imports so this is still true. That said a f= allback on system properties (hardcoded i mean) works for me. Just don'= t want to enforce [config] to be here.

Looking that now,= will report soon


Romain Manni-Bucau
@rmannibucau | = =C2=A0Blog<= /a>=C2=A0| O= ld Blog |=C2=A0Github=C2=A0| LinkedIn

2018-01-01 22:59 GMT+01:00 John D. Ament <johndament@apache.org>:
=


= On Mon, Jan 1, 2018 at 2:36 PM Romain Manni-Bucau <rmannibucau@gmail.com> wrote:<= br>
Yes, idea was to = use config if there in right version and skip it with an info log if not. W= ill try to check tmr. Thanks for the pointer.

No, it's not quite that. Honestly, with Java 9 and what= not I'm a bit worried with that kind of approach since class importing= is no longer behaving the same way.=C2=A0 I went with a ServiceLoader appr= oach, this way even app servers can come up with their own configuration me= chanism independent of MP.
=C2=A0

Le=C2= =A01 janv. 2018 18:51, "John D. Ament" <johndament@apache.org> a =C3=A9= crit=C2=A0:
You mean for safeguard?=C2=A0 If so its already there.=C2=A0 I do= want to move it to a separate JAR so maybe OOTB we have a system property = backed version?

Take a look fo= r ConfigFacade and MicroProfileConfigFacade.

On Jan 1, 2018 12:37 PM, "Romai= n Manni-Bucau" <rmannibucau@gmail.com> wrote:
Any hope to have mp config optio= nal before? Was planning to do it before Xmas but didnt get a chance yet to= code it. Can try later this week probably.

Le=C2=A01 janv. 2018 17:19, "John D. A= ment" <j= ohndament@apache.org> a =C3=A9crit=C2=A0:


On Mon, Jan 1, 2018 at 11:10 AM Mark Struberg <struberg@yahoo.de&= gt; wrote:
+1 go for it!

> Safeguard requires a Config 1.2 implementation to run, since Config 1.= 2

Geronimo-config-1.1=C2=A0 is microprofile-config 1.2, right?

Yes.=C2=A0 Between the bugs found in the impl and the= spec issues I saw, GConfig 1.0 ended up implementing MP Config 1.1.=C2=A0 = I think only IBM shipped an impl of just Config 1.0.
=C2=A0
=

LieGrue,
strub

> Am 01.01.2018 um 16:34 schrieb John D. Ament <johndament@apache.org>:
>
> Hey guys
>
> Just pushed up the last of the changes for Safeguard to make it pass F= ault Tolerance 1.0's TCK.=C2=A0 There's a small change I still want= to make it to allow the executor to be pluggable, and plan to have a follo= wing release soon that introduces more configurable properties.
>
> With that said, I'm going to plan to stage the Config 1.1 release = tomorrow and start testing the Safeguard release process (since this'll= be the first time we're releasing a git repo).=C2=A0 Once that's w= orking, I'll plan to stage that release as well.
>
> Please note - Safeguard requires a Config 1.2 implementation to run, s= ince Config 1.2 introduces common sense converters (for enums in particular= ) and Class converter built in.=C2=A0 I didn't want to register a custo= m converter.
>
> John



--f403045dd562f94f950561eade53--