Announcing WildFly Swarm 2016.9
It’s September, so that means 2016.9 is out!
Continuing our trend of monthly releases, as discussed on the Google Group, we’re pleased to release 2016.9, celebrating September, a month never mentioned by Shakespeare in any of his plays.
What’s New?
-
WildFly 10.1.0.Final
-
Continued MicroProfile support
-
Cleaner WEB-INF/lib
-
Hollow Uberjars
What is WildFly Swarm?
WildFly Swarm is the decomposition and reconstitution of the popular WildFly Java Application Server in order to support just enough appserver for microservice type applications.
Each portion of the appserver is referred to as a fraction, which many times
maps to a subsystem
from WildFly, but also may include other discrete chunks
of non-Java EE or WIldFly functionality, such as Swagger, Jolokia or NetflixOSS Ribbon.
WildFly 10.1.0.Final
This release of WildFly Swarm is now based upon WildFly 10.1.0.Final, which brings about easy support for HTTP2, among other interesting things.
MicroProfile
While we added support for MicroProfile last month, this month we provide
a handy-dandy, downloadble server for your existing MicroProfile-complaint
.war
applications. You can grab it
and read about how to use it.
Cleaner WEB-INF/lib
A chronic problem we’ve seen in the past is that various usage scenarios
result in extraneous items appearing in your WEB-INF/lib
directory. This
not only caused bloat, but also could cause errors, particularly regarding CDI.
The Maven plugin now will be smarter about what goes into WEB-INF/lib
, and
actively repackages your .war
file to ensure that it isn’t polluted, in
the case of compile
scoped transitive dependencies.
Hollow Uberjars
This release supports the concept of hollow uberjars, which is a slightly
contradictory term, of course. You can perform a build with the property
of swarm.hollow
set to true, and the resulting uberjar will be capable
of running your application. But it won’t actually contain your application.
This is differentiated by the -hollowswarm.jar
suffix on the resulting output.
This is the mechanism we used to provide the MicroProfile server mentioned above,
but it’s possibly useful for your own purposes. Simply pass your own .war
files for deployment on the command-line. If you’re using Linux containers, such
as Docker, this would allow you to put just enough app-server on one layer, while
stuffing your application .war
on a higher one.
Bugfixes
There are quite a few bugs fixed in this release since 2016.8.1. Check out the full list of them below in the changelog.
Changelog
Release notes for 2016.9 are available here.
Bug
-
[SWARM-657] can’t run tests using the Arquillian Daemon when another application listens on port 12345
-
[SWARM-654] Hollow jars are not recognized as such
-
[SWARM-651] AmbiguousResolutionException when starting uberjar
-
[SWARM-650] Microprofile example fails to start
-
[SWARM-635] ExplodedImporter not available in main()
-
[SWARM-633] Arquillian container is not available in
bom
onlybom-all
-
[SWARM-622] Remove reference to Fraction.InitContext in docs
-
[SWARM-620] Generator search doesn’t recognize 'jax-'
-
[SWARM-615] Manual lookup of CDI-Instance doesn’t work since 2016.8.1
-
[SWARM-614] Container provided dependencies cannot be declared as such for WAR
-
[SWARM-613] ModuleNotFoundException while run example with 2016.8.1
-
[SWARM-611] Weld warnings being displayed when starting a swarmed app
-
[SWARM-598] swarm jmx could be used only with jar packaging
-
[SWARM-596] @CreateSwarm fails when test class implements interfaces or extends classes
-
[SWARM-588] HealthCheck endpoint doesn’t work when JAX-RS javax.ws.rs.core.Application @ApplicationPath defined
-
[SWARM-579] @ConfigValue not working when running as an uberjar
-
[SWARM-575] swarmtool fails on javaee7 Stateless EJB example
-
[SWARM-572] BOM does not include version for arquillian-junit-container
-
[SWARM-571] Arquillian does not include src/main/resource/modules
-
[SWARM-564] Can’t get underlying PostgreSQL database connection from datasource
-
[SWARM-549] Creating project from generator cannot compile as JARs cannot download
-
[SWARM-527] jboss-web defined context-root is ignored for health check resources
Enhancement
-
[SWARM-656] Stopping WF-Swarm shows ERROR in log: because no Bean Validation provider could be found
-
[SWARM-644] Change H2 Fraction stability to STABLE
-
[SWARM-639] Unify and Simplify the various .conf handling
-
[SWARM-631] @ConfigurationValue should not provide a default empty value()
-
[SWARM-621] Move :spi into main repository to simplify updating it
-
[SWARM-616] Filter the core WildFly Swarm jars from a user’s WEB-INF/lib if they appear there
-
[SWARM-609] Add appropriate debug logging in container to provide information about what’s happening
-
[SWARM-608] Display installed fractions with their stabilityLevel at boot
-
[SWARM-604] Running uber jar introduces redundant temp jar files in user tmp dir
-
[SWARM-534] Generator fractions selection
-
[SWARM-526] Define WildFly Swarm as product-name
-
[SWARM-492] Provide localized error messages and codes for Swarm exceptions
Feature Request
Component Upgrade
-
[SWARM-617] Upgrade to WildFly 10.1.0.Final
Task
-
[SWARM-562] Add swarm.fraction.tags property to camel fraction pom.xml files
Resources
Per usual, we tend to hang out on irc.freenode.net
in #wildfly-swarm
.
All bug and feature-tracking is kept in JIRA.
Examples are available in https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/2016.9.
Documentation for this release is available.
Thank you, Contributors!
We appreciate all of our contributors since the last release:
Core
-
Athou
-
Heiko Braun
-
Toby Crawley
-
Ken Finnigan
-
George Gastaldi
-
Bob McWhirter
-
Ladislav Thon
-
Sebastien Blanc
Examples
-
Ken Finnigan
-
Bob McWhirter