Fabric3 2.5.3

Released January 26, 2015

Annotation and API-Based Configuration

  • Support for configuring services, bindings, channels and other application resources using annotations and a Java-based API

UI Integration

  • Support for a new client API for integrating UI frameworks

Gradle Support

  • New Gradle Plugins for integration testing, application packaging (contributions), and runtime image assembly
  • Converted the Fabric3 build system from Maven to Gradle

Subsystem Upgrades

  • Upgraded all major third-party libraries used by extensions, including Spring, Hibernate, ZeroMQ, ActiveMQ, JGroups, and JErsey


  • Support for JeroMQ


  • Support for client acknowledgement


  • Support JAX-RS 2.0
  • Support for configuring components as JAX-RS providers


  • Updated and improved all samples

Bug fixes

Getting Started

The best way to learn Fabric3 is to download and install the samples. The samples build will download and assemble a set of fully functional Fabric3 servers. If you intend to use Fabric3 with Spring, we recommend starting with the Spring samples.

For instructions on installing and running the samples, see the Getting Started Guide.

Getting Started Samples BigBank Sample FastQuote Sample Spring Samples


Fabric3 can be deployed as a standalone server, hosted on Tomcat, or hosted on WebLogic Server. Fabric3 also ships Gradle and Maven plugins for automated integration tests.

Fabric3 is a highly modular runtime. The server and Tomcat distributions contain only the core capabilities needed to run a single-VM or distributed service fabric. The WebLogic distribution bundles support for WLS JMS, clustering and Web Services. In most cases, you will need to install extension profiles for additional capabilities.

Fabric3 provides Gradle and Maven runtime assembly plugins. These plugins enable runtime images to be configured and provisioned as part of an automated build instead of manually downloaded and installed. For details on using the runtime assembly plugin, see the documentation.

Fabric3 Server

A lightweight, high-performance standalone runtime.

Fabric3 for Tomcat

An embedded runtime for Apache Tomcat 7+.

Fabric3 for WebLogic

An embedded runtime for WebLogic 10.3+. Includes the JMS and Web Services profiles.

Admin Command Line Tool

A command line tool used to administer Fabric3 runtimes. It provides a shell environment and can be used to execute administration scripts.

Fabric3 Maven Pugin

A plugin for performing in-container integration testing. Plugin configuration is detailed in the documentation. The plugin is downloaded by Maven.

Gradle Plugin

A plugin for performing in-container integration testing. Configuration is detail in the documentation.

Profiles and Extensions

Profiles add a set of features to the Fabric3 runtime. They are installed by unzipping their contents to the runtime extensions directory.

Extensions add specific capabilities to the Fabric3 runtime. They are installed by placing the extension archive in the runtime extensions directory.

File System Messaging Extension

Support for component messaging using a file system as the transport.

FTP Messaging Profile

Support for component messaging over FTP. Includes an embedded FTP server for exposing service endpoints.

JAX-RS Profile

Enables publishing components as RESTful resources using JAX-RS 2.0 annotations. Bundles Jersey as the JAX-RS provider.

JMS Profile

Enables using JMS providers for component messaging. Bundles Apache ActiveMQ and also supports connecting to external JMS brokers. Includes support for XA transactions.

Web Profile

Support for deploying web applications to Fabric3.

Web Services Profile

Enables exposing services as WS-* endpoints and consuming external WS-* endpoints.

ZeroMQ Profile

Enables pub/sub and asynchronous messaging using ZeroMQ. On Linux requires gclib 2.14+. Windows not supported.

JeroMQ Profile

Enables pub/sub and asynchronous messaging using a pure Java implementation of ZeroMQ.

Spring Profile

Enables Spring and Spring Security in Fabri3.

Timer Profile

Support for timer components.

Web Profile

Support for deploying web applications to Fabric3.

Bytecode Proxy Generator Extension

Support for using bytecode generation for reference proxies. For use in low-latency systems that are required to minimize object allocation.

Hibernate/JPA Profile

Support for persisting data using Hibernate and JPA. Allows components to be injected with Hibernate Session or JPA EntityManager instances.