Announcement 1.0.0.Beta6
Impact of the repository reorganization
Continuing in our trend of announcing versions that are arbitrarily larger than our last release, we’re happy to announce 1.0.0.Beta6.
As usual, beware the Ides of March.
As noted previously, we’ve broken the codebase into discrete chunks, each with its own release cycle. This release represents a released version of the aggregating BOM, which encompasses all of the various released components.
About that BOM
Since WildFly Swarm now is actually a collection of components, each with their own unique snowflake of a version number, we have a BOM that we recommend in order to tie it all together in your app.
If you’re using Maven, in your own pom.xml
, you would have:
<properties>
<version.swarm>1.0.0.Beta6</version.swarm>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>bom</artifactId>
<version>${version.swarm}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
And then, to pick any particular fraction for use within your app, you can specify the dependency without a version:
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>undertow</artifactId>
</dependency>
</dependencies>
Faster Boot-times
Through the work of Heiko Braun, we no longer spend ages scanning the classpath at boot-time, and rather have pre-computed indexes, which makes the initial startup of a swarmified application significantly faster.
Fraction Auto-detection
While the typical usage of WildFly Swarm still involves using our BOM
and specifying dependencies, if you’re coming from a project that already
has a <packaging>war</packaging>
build that works, all you need to do
is add our plugin.
<build>
<plugins>
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<version>${version.swarm}</version>
<configuration>
....
</configuration>
<executions>
<execution>
<id>package</id>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
The plugin will scan your project for applicable packages (javax.servlet
etc)
being used, and will implicitly bring in the WildFly Swarm dependencies you need
in order to package up the -swarm.jar
version of your existing .war
file.
Spring Framework Support
Just as WildFly has always been the best place to run Spring applications, we want to ensure that WildFly Swarm continues that tradition.
We now have a org.wildfly.swarm:spring
fraction that can help you out.
Yo dawg, we heard you like WildFly Swarm, so we put a Swarm in your Swarm, so you can Swarm while you Swarm.
In previous releases, you could either provide your own class with a main()
or use
org.wildfly.swarm.Swarm
as your main. Usually, within your own main()
you would create
an instance of Container
and configure it.
While you can continue to do that, you can actually just instantiate org.wildfly.swarm.Swarm
as it now extends the familiar Container
:
public static void main(String...args) {
Swarm swarm = new Swarm()
.fraction(...)
.fraction(...);
swarm.start();
swarm.deploy(...);
}
SPI
We’re starting to see an interest in other folks writing fractions for WildFly Swarm
(we hope to ship a Camel fraction in our next release). To make this easier and less
brittle, we’ve codified the SPI for fraction authors in org.wildfly.swarm:spi
.
Changelog
Release notes for 1.0.0.Beta6 are available here.
- [ SWARM-213 ] A simple .war project without any changes should select the right fractions.
- [ SWARM-224 ] swarmtool should expose bundleDependencies
- [ SWARM-236 ] Remove string methods that have enum versions
- [ SWARM-245 ] Create swagger-webapp-server
- [ SWARM-247 ] Improve load balancing for ribbon-webapp
- [ SWARM-250 ] Swagger should scan top level packages in the deployment
- [ SWARM-252 ] Spring integration
- [ SWARM-268 ] Simplify HTTPS configuration
- [ SWARM-295 ] Prevent FractionList from reading a file repeatedly
- [ SWARM-298 ] java.lang.ClassNotFoundException: org.wildfly.swarm.undertow.descriptors.WebXmlAsset from Module "org.wildfly.swarm.keycloak:api"
- [ SWARM-300 ] Restructure repositories
- [ SWARM-306 ] Support different versions within FractionList
- [ SWARM-307 ] Extract plugins from core into wildfly-swarm.git
- [ SWARM-309 ] ARQ protocol ignores setup actions
- [ SWARM-320 ] CNFE for org.jboss.arquillian.test.spi.TestResult
- [ SWARM-323 ] NPE in ServiceActivatorArchiveImpl with no archive suffix
- [ SWARM-324 ] Improve the RuntimeServer bootstrap performance
- [ SWARM-325 ] ribbon-secured example does not work.
- [ SWARM-326 ] NetflixOSS Ribon example buttons not working
- [ SWARM-335 ] Integration Tests are not running in -examples
- [ SWARM-340 ] Pull out fraction SPI to separate GAVs and repository
- [ SWARM-341 ] Topology endpoint without scheme breaks browser call
- [ SWARM-344 ] Error parsing undertow handlers conf
- [ SWARM-346 ] Ribbon example broken, topology.js not found
- [ SWARM-350 ] Replace the word "Container" with "Swarm".
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 http://github.com/wildfly-swarm/wildfly-swarm-examples.
Documentation for this release is available.
Thank you, Contributors!
We appreciate all of our contributors since the last release:
Core
-
Heiko Braun
-
Toby Crawley
-
Thomas Diesler
-
Ken Finnigan
-
George Gastaldi
-
Bob McWhirter
Examples
-
Toby Crawley
-
Ken Finnigan
-
Bob McWhirter
-
Lukáš Vlček
Documentation
-
Toby Crawley
-
Ken Finnigan
-
Bob McWhirter