I got further clarification on the jigsaw dev list. 
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-May/012562.html 
<http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-May/012562.html>. I am 
still waiting for an answer about the impact to our plugin system, but I am 
pretty sure it will continue to work as is.

It seems that we should be able to make most of the modules be “proper” modules 
with a few simple changes. The biggest impact will be that we can’t properly 
modularize log4j-core until Disruptor and Jackson are modules, since we can’t 
remove those as optional dependencies from core. We should move everything else 
that has a dependency to other modules. Those will also have to wait to be 
“proper” modules until their dependencies are, but they can all use the 
manifest entry to declare their module names.

As for the circularity, there is none because log4j-api will not specify that 
it requires log4j-core. It will bind to its implementation through a 
ServiceProvider. I’ve already written that and will commit that portion in a 
few days. That change doesn’t require Java 9 and will be backward compatible.

As for the actual modularization, I still think we should wait to declare them, 
at least until the dust settles and we are closer to an actual release. But I 
think we should continue looking at breaking stuff out of core to make it 
easier to create the modules when the time comes.

Ralph


> On May 9, 2017, at 8:43 AM, Ralph Goers <[email protected]> wrote:
> 
> While it may sound reasonable, it is not. Matt’s point about LoggerFinder and 
> our support of NoSQL appenders and the like is proof that there are valid 
> reasons for circularities. We are just lucky that Jackson and Disruptor don’t 
> seem to do logging or we would have circularities there too.
> 
> BTW - I got a private answer to my question on this. It was that I should 
> post my question to the jigsaw dev list but that I should expect that Log4j - 
> or at least pieces of it - can’t be modularized.
> 
> Ralph
> 
>> On May 9, 2017, at 8:24 AM, Gary Gregory <[email protected]> wrote:
>> 
>> On May 9, 2017 12:18 AM, "Remko Popma" <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>> Mark Reinhold's reasoning in his response (http://mail.openjdk.java.net/
>> pipermail/jpms-spec-experts/2017-May/000695.html) makes sense to me.
>> 
>> 
>> Sounds reasonable indeed. Reading this latest sounds like JBoss has a lot
>> of work to do in order to fit in Java 9 modules from its own module system
>> and they'd rather not do more work than less, which is understandable. MR's
>> view on a conservative first cut makes sense. It is so late in the Java 9
>> timeframe that these change requests seem doomed anyway.
>> 
>> Gary

Reply via email to