I don’t think so.  Commons Configuration (which I was working actively on when 
I started writing Log4j 2) is designed to provide access to the configuration 
data. 
The plugin system is design to convert configuration data into instantiated 
objects. 
I could easily see Commons Configuration being used as the input to the plugin 
system, but I think it would be a mistake to tightly couple them.

Ralph

> On Apr 3, 2022, at 3:23 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> Should this be in Commons Configuration?
> 
> Gary
> 
> On Sat, Apr 2, 2022, 15:33 Matt Sicker <boa...@gmail.com> wrote:
> 
>> Hi all, I’ve got a proposal for a new Commons component that I’d like to
>> get feedback on. Essentially, I’d like to propose the creation of a Commons
>> Plugins component inspired by the plugin system developed for Log4j 3.x
>> [0]. This library would be a lightweight dependency injection and
>> configuration library where developers create pluggable classes that can be
>> referenced through plugin names via the configuration file (or
>> configuration source in general). In contrast with more typical dependency
>> injection frameworks like Spring and Guice, this library is for
>> applications where pluggable implementations of things is desired.
>> Developing a plugin system on top of DI frameworks is not a very
>> standardized domain, and each project ends up reinventing this from scratch
>> over time.
>> 
>> Some existing material on how the Log4j plugin and configuration system
>> works that I’d adapt from to form the basis for this component include:
>> -
>> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/dependencyinjection.adoc
>> <
>> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/dependencyinjection.adoc
>>> 
>> -
>> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/plugins.adoc
>> <
>> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/plugins.adoc
>>> 
>> 
>> The general goal of this library is to make it so that applications can
>> provide better configuration DSLs for their plugin components. As both a
>> developer and user, I absolutely despise configuring complex applications
>> with properties files, and YAML variants of properties aren’t that much
>> better. If there was a common plugin library we could reuse, then perhaps
>> more applications would support a better configuration system. This could
>> also provide a nice place for tooling integration similar to how JUnit is
>> supported by IDEs and other tools.
>> 
>> What do you think? Should this start in the Sandbox? Is anyone interested
>> in working on or using this?
>> 
>> [0]: https://github.com/apache/logging-log4j2/tree/master/log4j-plugins <
>> https://github.com/apache/logging-log4j2/tree/master/log4j-plugins>
>> 
>> —
>> Matt Sicker
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to