[wildfly-dev] smaller footprints

David M. Lloyd david.lloyd at redhat.com
Tue Mar 4 11:46:01 EST 2014


As long as we don't break deployments which use the container 
dependencies, anything is fine.

On 03/04/2014 10:28 AM, James R. Perkins wrote:
> 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
>>>>
>


-- 
- DML


More information about the wildfly-dev mailing list