Skip to content

Commit

Permalink
Added documentation about OSGi and EventProcessingMonitor
Browse files Browse the repository at this point in the history
  • Loading branch information
abuijze committed Jan 22, 2014
1 parent 39b50e3 commit e2f4eb4
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,11 @@
<para>Axon Framework consists of a number of modules that target specific problem areas of
CQRS. Depending on the exact needs of your project, you will need to include one or more
of these modules.</para>
<para>As of Axon 2.1, all modules are OSGi compatible bundles. This means they contain the
required headers in the manifest file and declare the packages they import and export.
At the moment, only the Slf4J bundle (1.7.0 &lt;= version &lt; 2.0.0) is required. All
other imports are marked as optional, although you're very likely to need others, like
<code>org.joda.time</code>.</para>
<sect2>
<title>Main modules</title>
<para>Axon's main modules are the modules that have been thorouhgly tested and are
Expand All @@ -151,13 +156,6 @@
JGroupsConnector that is used to connect DistributedCommandBus implementation on
these nodes.</para>
</simplesect>
<simplesect>
<title>Axon Disruptor CommandBus</title>
<para>The SimpleCommandBus implementation provides pretty good performance, but the
Disruptor CommandBus module allows you to squeeze more juice out of the same
CPU. It provides an implementation that uses the Disruptor (a lightweight
high-performance computing framework) to speed up processing.</para>
</simplesect>
<simplesect>
<title>Axon AMQP</title>
<para>The AMQP module provides components that allow you to build up an EventBus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,25 @@
"order-resolver-ref" attribute can be used to refer to another Order resolver to
use.</para>
</simplesect>
<simplesect>
<title>Commit Handlers</title>
<para>In some cases, you want to know when a cluster has handled a specific event.
For example, when a cluster handles an Event asynchronously, but you need send
an acknowledgement to the sender. Generaly, you are unlikely to require this
feature directly. It is mainly used by infrastructure components.</para>
<para>The EventProcessingMonitorSupport interface, which was introduced in Axon 2.1,
defines class capable of notifying subscribed monitors. <code>Cluster</code>
extends this interface, meaning each Cluster implementation must be able to deal
with the Event Processing Monitors. Event Listeners that handle Events
asynchronously, such as the <code>AsyncAnnotatedSagaManager</code> also
implement this interface.</para>
<para>To register a Monitor with a Cluster (or Event Listener), call the
<code>subscribeEventProcessingMonitor(...)</code> method. It will be invoked
each time an Event has been successfully handled by that listener (by invoking
the <code>onEventProcessingCompleted</code> method) or when event handling has
failed (by invoking <code>onEventProcessingFailed</code>). A single notification
may contain any number of Events.</para>
</simplesect>
</sect2>
</sect1>
<sect1 xml:id="event-listeners">
Expand Down

0 comments on commit e2f4eb4

Please sign in to comment.