MicroProfile Fault Tolerance in WildFly Swarm

Every developer has the goal of building the most resilient application possible. Due to the distributed nature of microservices, resiliency and handling failures gracefully is mandatory. The Java ecosystem has some nice frameworks for fault tolerance, such as Hystrix or Failsafe. However, none of these provide a standard API, so using them means your application will be tightly coupled to that framework. The primary motivation for the MicroProfile specifications is to provide standard APIs that eliminates the tight coupling and improves deployment flexibility. This article will describe the main features of the MicroProfile Fault Tolerance specification, and then demonstrate how it was implemented in WildFly Swarm, the Red Hat MicroProfile implementation.

Continue reading “MicroProfile Fault Tolerance in WildFly Swarm”

Share

Custom Hibernate ORM and Hibernate Search on WildFly Swarm

This article will show how to use a custom version of Hibernate (Hibernate ORM and Hibernate Search) on a WildFly Swarm Java application. I won’t give details about the WildFly Swarm configuration, if you need more information you can take a look at the WildFly Swarm User’s Guide.

WildFly Swarm includes fractions for Hibernate ORM and Hibernate Search.
You can add those fractions using:

<dependency>
    <groupId>org.wildfly.swarm</groupId>
    <artifactId>jpa</artifactId>
</dependency>
<dependency>
 <groupId>org.wildfly.swarm</groupId>
 <artifactId>hibernate-search</artifactId>
</dependency>

Continue reading “Custom Hibernate ORM and Hibernate Search on WildFly Swarm”

Share

The Skinny on Fat, Thin, Hollow, and Uber

“I used WildFly Swarm to shrink my app from 45 megabytes to only 2243 bytes.”

I was recently playing around with various techniques for packaging Java microservices and running on OpenShift using various runtimes and frameworks to illustrate their differences (WildFly Swarm vs. WildFly, Spring Boot vs. the world, etc). Around the same time as I was doing this an internal email list thread ignited discussing some of the differences and using terms like Uber JARs, Thin WARs, Skinny WARs, and a few others. Some folks were highlighting the pros and cons of each, especially the benefits of the thin WAR approach when combined with docker image layers.

Continue reading “The Skinny on Fat, Thin, Hollow, and Uber”

Share