[wildfly-dev] smaller footprints

James R. Perkins jperkins at redhat.com
Tue Mar 4 11:28:03 EST 2014


Since the logging subsystem is in the core distro, I'm wondering if the  
default DUP's to add logging dependencies and search for logging 
configuration files in deployments should be disabled. There are 
attributes to disable these now which are should remain enabled in 
WildFly, but it seems the opposite might be preferable in a core-distro. 
I've not really thought about how to do that or looked over Stuarts 
branch with great detail, but just kind of throwing it out there to get 
opinions on it.

On 03/03/2014 10:37 PM, Stuart Douglas wrote:
> I have made a start on this split, and I think the solution I am working
> on will meet all the use cases, including users that want to cut down an
> existing server, and users that want to re-use the jars in their maven
> repo using Bill's changes to JBoss Modules. It still needs a bit more
> work and a lot of cleanup, however it seems to work:
>
> https://github.com/stuartwdouglas/wildfly/compare/wildfly-build-plugin
>
> So basically the core of it is a maven plugin that builds a Wildfly
> distribution, either from scratch or use other distributions as a base.
>
> It also supports building servers that use the new <artifact>
> functionality in jboss modules, and cutting down an existing server into
> a smaller server with only the specified modules (and their transitive
> dependencies).
>
> The way this will work in practice is that each Wildfly sub project will
> produce two different server artifacts, one of which is a server without
> any jars using artifact references, and a more traditional version with
> jars packaged in the module directory. Downstream projects will consume
> the smaller version without all the jars, so when a version changes the
> download should be less than 5mb rather than larger than 100mb (the
> plugin has the ability to turn a server that uses artifact references
> into a server that contains the jars in the modules dir).
>
> Basically the upshot is that it should be basically possible to build
> whatever configuration of server you want once this is part of our build
> process, and we should also be publishing lightweight server artifacts
> that use the jars in the maven repo as well as our traditional
> 'everything and the kitchen sink' build.
>
> It is anticipated that 3rd party projects build on Wildfly would also
> use this plugin (I think at the moment the standard approach has been to
> copy and modify our ant scripts).
>
> This is still very much a work in progress, so nothing is set in stone
> yet and any comments are welcome.
>
> Stuart
>
>
> Bill Burke wrote:
>> A lot of users want that ability, would you rather have them roll Netty
>> + whatever?
>>
>> On 2/23/2014 9:10 PM, Stuart Douglas wrote:
>>> No, because that means we essentially have to support and test every
>>> possible combination that someone might select.
>>>
>>> Stuart
>>>
>>>
>>> On Mon, Feb 24, 2014 at 7:13 AM, Misty Stanley-Jones<misty at redhat.com
>>> <mailto:misty at redhat.com>>  wrote:
>>>
>>>       I know you guys aren’t there yet, but can we think about wrapping a
>>>       GUI around this, so that the developer only needs to tick the boxes
>>>       for what he does/doesn’t want, with dependencies sorted out
>>>       automatically? Maybe some default profiles that select a group of
>>>       things, but the ability to go in and add or remove individual
>>>       subsystems as needed? Maybe this could be part of the installer but
>>>       could optionally be run post-install as well.
>>>
>>>       On Feb 22, 2014, at 2:01 AM, Brian Stansberry
>>>       <brian.stansberry at redhat.com<mailto:brian.stansberry at redhat.com>>
>>>       wrote:
>>>
>>>        >  When I said "Web" I meant the thing described on that wiki page Tomaz
>>>        >  linked:
>>>        >
>>>        >  "Web
>>>        >
>>>        >  Undertow subsystem, and all related dependencies, including a small
>>>        >  subset of EE and JNDI. This is basically just a Servlet
>>>       container, and
>>>        >  will provide a platform for people that want to create web based
>>>        >  appliances or applications, and don't need all the additional
>>>        >  functionality that Wildfly provides. We should end up with
>>>       something as
>>>        >  lightweight as Tomcat or Jetty, but with all our advanced management
>>>        >  functionality."
>>>        >
>>>        >  On 2/21/14, 9:40 AM, Bill Burke wrote:
>>>        >>  Its also "Web" minus some stuff.  For my project I want just
>>>       Servlet,
>>>        >>  JAX-RS, JPA, and datasources.   Its very very hard to figure out
>>>       how to
>>>        >>  remove a subsystem and all its associated modules.
>>>        >>
>>>        >>  BTW, I think my maven artifact thing got into JBoss Modules. So it
>>>        >>  would be possible to load jars on demand, or at least use it as
>>>       a way to
>>>        >>  figure out which modules aren't being used ;).
>>>        >>
>>>        >>
>>>        >>  On 2/21/2014 10:22 AM, Brian Stansberry wrote:
>>>        >>>  This will move things in the right direction, but not all the
>>>       way there
>>>        >>>  yet. Note the set of capabilities Bill mention: web, CDI,
>>>       JAX-RS, JPA.
>>>        >>>  That sounds like our "Web" variant, plus some stuff. It's the
>>>       easy "plus
>>>        >>>  some stuff" part that needs sorting at some point.
>>>        >>>
>>>        >>>  On 2/21/14, 9:08 AM, Tomaž Cerar wrote:
>>>        >>>>  Bill,
>>>        >>>>
>>>        >>>>  that is exactly idea we have in mind of 9.
>>>        >>>>  We already started with producing WildFly core distribution in
>>>       that is
>>>        >>>>  WildFly with no subsystems, upon which you can build you own
>>>       wildfly.
>>>        >>>>  It is only 15mb and contains whole mgmt capabilites (CLI,
>>>       standalone,
>>>        >>>>  domain,...) you can grab it at:
>>>        >>>>
>>>       http://download.jboss.org/wildfly/8.0.0.Final/core/wildfly-core-8.0.0.Final.zip
>>>        >>>>
>>>        >>>>  For 9 we have plans to move things bit further and have
>>>       decided that we
>>>        >>>>  will also do split codebase for core, ee, web, .. and other
>>>       distributions.
>>>        >>>>
>>>        >>>>  Current idea on code split up is here
>>>        >>>>  https://community.jboss.org/wiki/SplittingUpTheWildflyCodeBase
>>>        >>>>
>>>        >>>>  --
>>>        >>>>  tomaz
>>>        >>>>
>>>        >>>>
>>>        >>>>
>>>        >>>>  On Fri, Feb 21, 2014 at 3:00 PM, Bill Burke<bburke at redhat.com
>>>       <mailto:bburke at redhat.com>
>>>        >>>>  <mailto:bburke at redhat.com<mailto:bburke at redhat.com>>>  wrote:
>>>        >>>>
>>>        >>>>       On Resteasy list I have a few people "rolling their own
>>>       app server"
>>>        >>>>       using Netty, Weld, Resteasy and JPA.  I asked one of them
>>>       "I don't
>>>        >>>>       understand why you are rolling your own app server" response:
>>>        >>>>
>>>        >>>>       "It's actually a lot more lightweight.  The minimum I can
>>>       run the
>>>        >>>>       equivalent on AS7 on is ~ 180 mb in binaries, but
>>>       throwing this
>>>        >>>>       together is about 32 mb (and compresses further when its
>>>       packaged).
>>>        >>>>       I'm able to start the JVM on the bare minimum (~100mb on
>>>       my linux VM)
>>>        >>>>       but AS7 with all I need is about 756mb.  When rolling out
>>>       in the
>>>        >>>>       cloud, where all of my REST APIs are stateless, running
>>>       with this
>>>        >>>>       configuration helps us get a lot more per node."
>>>        >>>>
>>>        >>>>       I'm not complaining :), just something to think about. It
>>>       might be
>>>        >>>>       really valuable to focus a bit in Wildfly 9 to make it
>>>       easier to create
>>>        >>>>       custom profiles or even different packaging options for
>>>       the app server
>>>        >>>>       instead of the exploded style we currently have.
>>>        >>>>       --
>>>        >>>>       Bill Burke
>>>        >>>>       JBoss, a division of Red Hat
>>>        >>>>  http://bill.burkecentral.com
>>>        >>>>       _______________________________________________
>>>        >>>>       wildfly-dev mailing list
>>>        >>>>  wildfly-dev at lists.jboss.org
>>>       <mailto:wildfly-dev at lists.jboss.org>
>>>       <mailto:wildfly-dev at lists.jboss.org
>>>       <mailto:wildfly-dev at lists.jboss.org>>
>>>        >>>>  https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>        >>>>
>>>        >>>>
>>>        >>>>
>>>        >>>>
>>>        >>>>  _______________________________________________
>>>        >>>>  wildfly-dev mailing list
>>>        >>>>  wildfly-dev at lists.jboss.org<mailto:wildfly-dev at lists.jboss.org>
>>>        >>>>  https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>        >>>>
>>>        >>>
>>>        >>>
>>>        >>
>>>        >
>>>        >
>>>        >  --
>>>        >  Brian Stansberry
>>>        >  Senior Principal Software Engineer
>>>        >  JBoss by Red Hat
>>>        >  _______________________________________________
>>>        >  wildfly-dev mailing list
>>>        >  wildfly-dev at lists.jboss.org<mailto:wildfly-dev at lists.jboss.org>
>>>        >  https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>>>       Misty Stanley-Jones, RHCE
>>>       Manager, Content Services (Middleware)
>>>       Direct: + 61 7 3514 8105<tel:%2B%2061%207%203514%208105>  / Mobile:
>>>       +61 429 595 932<tel:%2B61%20429%20595%20932>   (TZ: GMT+10)
>>>       IRC: misty (Freenode / RH)
>>>
>>>
>>>       _______________________________________________
>>>       wildfly-dev mailing list
>>>       wildfly-dev at lists.jboss.org<mailto:wildfly-dev at lists.jboss.org>
>>>       https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>

-- 
James R. Perkins
Red Hat JBoss Middleware



More information about the wildfly-dev mailing list