Hi Bruno, Jean-Louis

My initial attempt is to remove constant string literals from the codebase
but only in these two classes. After this removal period, we can further
update the architecture using microprofile config or any other way.

So, there will be only 2 classes to hold:

   - TomEE specific properties
   - OpenEJB specific properties

and replace all string literals with constants from these classes.

If it is ok, I will introduce two new classes and all further configuration
parameters will be defined in it.

Regards.
Gurkan

On Wed, Jan 2, 2019 at 12:34 PM Jean-Louis Monteiro <
jlmonte...@tomitribe.com> wrote:

> Hey Gurkan,
>
> I am ok to better document the system properties.
>
> Few comments though...
>
> - I probably dreamt it, but I think there is an object that tries to load
> openejb.XXX and falls back to tomee.XXX if not found. Not sure if it's
> there or not.
>
> - I think system properties have been abused over the year and that's the
> reason why we are in the current situation.
> They were meant to be used to override any configuration in the system. But
> they are now used as a default configuration system which is bad in my
> opinion. If we need configuration we should use a proper configuration
> system. tomee.xml is very extensible and you can provide defaults for a
> service using service-jar.xml
> If it would have been done this way, system properties could have been used
> to override the configuration as today, but they would have been more
> consistent in terms of names. But also, the configuration would be clearly
> documented in the services-jar.xml with proper defaults.
>
> I am not sure if that is too late to go this path and start deprecating old
> system properties.
>
> Hope it helps
> Jean-Louis
>
>
>
>
>
>
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Wed, Jan 2, 2019 at 8:21 AM Gurkan Erdogdu <cgerdo...@gmail.com> wrote:
>
> > Hello
> > There are lots of known and unknown system properties in the current code
> > base. I would like to introduce TomEESystemProperties and
> > OpenEJBSystemProperties classes to hold these system property constants
> and
> > provide clear comment what it does. For example:
> >
> > class TomEESystemProperties{
> >     public static final String TOMEE_FORCE_RELOADABLE =
> > "tomee.force-reloadable";
> > ....
> > }
> >
> > class OpenEJBSystemProperties{
> >    public static final String OPENEJB_CROSSCONTEXT_PROPERTY =
> > "openejb.crosscontext";
> > ....
> > }
> >
> > WDYT?
> > Regards.
> > Gurkan
> >
>

Reply via email to