Fabric3 2.0

Released August 15, 2013

OASIS SCA Conformance

  • Conformance to all mandatory and optional features of OASIS SCA Assembly, Policy, WS Binding and Spring

Low Latency Systems

  • A new garbage-free, high performance monitoring/logging framework
  • Garbage-free service proxies using bytecode generation
  • Refactored invocation handling for performance
  • Refactored callback handling for performance
  • Injection performance improvements
  • Thread-dispatching performance improvements

Event-based Architectures

  • Support for LMAX Disruptor-based channels
  • Support for garbage-free event publishing
  • Ordered consumers
  • Support for global channels
  • Extensible channels

ZeroMQ Binding

  • Refactoring for performance improvements
  • ProtocolBuffers support
  • Optimized byte array handling
  • Multi-part message support
  • Improved shutdown time

JAX-RS Binding

  • Support for JAX-RS 2.0 resources


  • Support for transacted JMS sessions


  • Simplified extensibility for integrating with third-party JMS providers


  • New samples have been added including FastQuote, a high-performance currency trading platform

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.

Download the Samples Download the Spring Samples


Fabric3 can be deployed as a standalone server, hosted on Tomcat, or hosted on WebLogic Server. Fabric3 also ships a Maven plugin and embedded Ant runtime 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 a Maven runtime assembly plugin. This plugin enables 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.

Fabric3 Ant Task

An Ant task 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 and exposing services as Websocket endpoints.

Web Services Profile

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

ZeroMQ Profile

Enables pub/sub and asynchronous messaging using 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 and exposing services as Websocket endpoints.

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.