Immutant 2.0.0-beta1

Guides

MigrationImmutant 1.1 -> 2.0 migration guide
InstallationUsing the Immutant libraries in your application
WebRunning Clojure web applications and WebSockets
MessagingSimple creation and usage of distributed queues and topics
SchedulingSchedule asynchronous jobs
CachingFlexible caching and memoization using a linearly-scalable data grid
TransactionsProviding support for distributed (XA) transactions
WildFlyDeploying your app to WildFly
LoggingDetails about how logging with Immutant works, along with how to change it

Namespaces

The public API for Immutant.

immutant.caching

Create, manage and manipulate Infinispan caches in a data grid

immutant.caching.core-cache

Require this to extend org.infinispan.Cache to the core.cache CacheProtocol

Public variables and functions:

    immutant.caching.core-memoize

    Use an Infinispan cache as a PluggableMemoization from core.memoize

    Public variables and functions:

    immutant.codecs

    Common codecs used when [de]serializing data structures.

    Public variables and functions:

    immutant.codecs.fressian

    Provides support for using Fressian as an Immutant codec.

    Public variables and functions:

    immutant.coercions

    Defines AsPeriod and AsTime protocols for schedule specifications

    Public variables and functions:

    immutant.daemons

    Asynchronous, highly-available services that share the lifecycle of your application.

    Public variables and functions:

    immutant.messaging

    Easily publish and receive messages containing any type of nested data structure to dynamically-created queues and topics.

    immutant.messaging.hornetq

    Utilities specific to HornetQ

    immutant.messaging.pipeline

    Provides functions for creating and managing pipelines. A pipeline is a composition of functions (“steps”), where each function is passed the result of the previous function, dereferenced if needed. It is built on top of Immutant’s messaging subsystem, allowing each step to have multiple processing threads, and to be automatically load balanced across a cluster.

    immutant.scheduling

    Schedule jobs for execution

    Public variables and functions:

    immutant.scheduling.joda

    Adapts the clj-time library, which must be included among your app’s dependencies to load this namespace

    Public variables and functions:

    immutant.transactions

    Provides support for distributed (XA) transactions.

    Public variables and functions:

    immutant.transactions.jdbc

    Enables clojure.java.jdbc to behave within an XA transaction

    Public variables and functions:

    immutant.transactions.scope

    Macros that control transaction scope, analagous to JEE transaction attributes

    Public variables and functions:

    immutant.util

    Various utility functions.

    immutant.web

    Serve web requests using Ring handlers, Servlets, or Undertow HttpHandlers

    Public variables and functions:

    immutant.web.middleware

    Ring middleware useful with immutant.web

    Public variables and functions:

    immutant.web.ssl

    A few SSL-related utilities, typically invoked via immutant.web.undertow/options

    immutant.web.undertow

    Advanced options specific to the Undertow web server used by Immutant

    Public variables and functions:

    immutant.web.websocket

    Provides for the creation of asynchronous WebSocket services

    Public variables and functions:

    immutant.wildfly

    Utility functions only useful within a WildFly container.