[wildfly-dev] Multi-release module JARs

Paul Ferraro paul.ferraro at redhat.com
Thu Jun 11 09:50:16 EDT 2020


This was my initial idea, but dmlloyd was strongly against putting
collection implementations in wildfly-common.

On Thu, Jun 11, 2020 at 3:55 AM Darran Lofthouse
<darran.lofthouse at jboss.com> wrote:
>
> If the only motivation at the moment is a faster collection, why not just move the collection to wildfly-common where a multi-version jar can already be produced?  That way even if Java 8 is used for the WildFly build when running on a later version it will get the optimisation.
>
> Regards,
> Darran Lofthouse.
>
>
> On Wed, Jun 10, 2020 at 9:31 PM Paul Ferraro <paul.ferraro at redhat.com> wrote:
>>
>> In version 30 of jboss-parent-pom, David Lloyd added the ability to
>> easily produce multi-release jars [1].  While several components
>> consumed by WildFly currently produce multi-release jars (e.g.
>> wildfly-common, Undertow, Infinispan, etc.), as far as I am aware,
>> none of the modules in WildFly (or wf-core) do this.
>>
>> I recently created a pull request to WildFly [2] that ports a
>> collection class from Undertow [3], which, when built using Java 9+,
>> results in faster expiration scheduling for persistent HttpSessions
>> and local @Stateful EJBs.  While the changes introduced in this PR are
>> still compatible with JDK 8 [4], this optimization will not be
>> available to users unless they build wildfly using JDK 9+ in order to
>> produce the requisite multi-release jar for the
>> wildfly-clustering-ee-cache module.
>>
>> What do people think about this?
>>
>> Is there any reason why we should *not* compile using JDK 11 when
>> building releases (while still maintaining Java 8 source
>> compatibility, of course)?
>>
>> Even if we continue to create releases using JDK 8 builds, does anyone
>> object to giving users the  option to build WildFly with multi-release
>> module jars when compiling with a more recent JDK version?
>>
>> [1] https://issues.redhat.com/browse/WFLY-10178
>> [2] https://github.com/wildfly/wildfly/pull/13334
>> [3] https://github.com/undertow-io/undertow/blob/master/core/src/main/java9/io/undertow/util/FastConcurrentDirectDeque.java
>> [4] https://ci.wildfly.org/buildConfiguration/WFPR/207451
>>
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>




More information about the wildfly-dev mailing list