Qualities of Service

Producers, consumers, and channels specify required qualities of service using Fabric3 policy.  

Transactional Receive

A JMS consumer can be configured to receive an event in the context of a transaction using the @ManagedTransaction or requires attribute in a composite.

Durable Channels

By default, channels are not durable. That is, messages are not persisted prior to delivery. A channel can be declared durable by setting the requires attribute to use "durable":

<composite xmlns:f3="urn:fabric3.org" ...>

   <channel name="SomeChannel" requires="f3:durable"/>

</composite>

Setting the channel to durable will result in channel binding transports using durable messaging to deliver events. Note setting a local channel to durable has no effect.  

Non-Persistent Channels

By default, Fabric3 will use persistent messaging when a channel is bound to a messaging transport. Non-persistent messaging can be enabled by setting the requires attribute to use "nonPersistent":

<composite xmlns:f3="urn:fabric3.org" ...>

   <channel name="SomeChannel" requires="f3:nonPersistent"/>

</composite>