added documentation
This commit is contained in:
parent
ed901a8501
commit
9a81992a0a
10
README.md
10
README.md
@ -4,8 +4,8 @@ MBassador
|
|||||||
MBassador is a very light-weight message (event) bus implementation following the publish subscribe pattern. It is designed
|
MBassador is a very light-weight message (event) bus implementation following the publish subscribe pattern. It is designed
|
||||||
for ease of use and aims to be feature rich and extensible while preserving resource efficiency and performance. The core of MBassador's
|
for ease of use and aims to be feature rich and extensible while preserving resource efficiency and performance. The core of MBassador's
|
||||||
high performance is a specialized data structure that minimizes lock contention such that performance degradation of concurrent access is minimal.
|
high performance is a specialized data structure that minimizes lock contention such that performance degradation of concurrent access is minimal.
|
||||||
The performance win of this design is illustrated in <a href="http://codeblock.engio.net/?p=37" target="_blank">performance comparison</a>.
|
The performance win of this design is illustrated in <a href="http://codeblock.engio.net/?p=37" target="_blank">performance comparison</a>
|
||||||
The benchmarking code can be found <a href="https://github.com/bennidi/eventbus-performance" target="_blank">here</a>
|
and more recently in the [eventbus-performance](https://github.com/bennidi/eventbus-performance) github repository.
|
||||||
|
|
||||||
Read this documentation to get an overview of MBassadors features. There is also some documentation in the Wiki - although admittedly
|
Read this documentation to get an overview of MBassadors features. There is also some documentation in the Wiki - although admittedly
|
||||||
not enough to make a developer happy (work is in progress).
|
not enough to make a developer happy (work is in progress).
|
||||||
@ -147,6 +147,7 @@ Beginning with version 1.1.0 MBassador is available from the Maven Central Repos
|
|||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can also download the latest binary release here: http://mvnrepository.com/artifact/net.engio/mbassador
|
||||||
|
|
||||||
Of course you can always clone the repository and build from source.
|
Of course you can always clone the repository and build from source.
|
||||||
|
|
||||||
@ -157,6 +158,11 @@ to avoid confusion and misunderstanding.
|
|||||||
|
|
||||||
<h2>Release Notes</h2>
|
<h2>Release Notes</h2>
|
||||||
|
|
||||||
|
<h3>1.1.11</h3>
|
||||||
|
+ Added support for conditional handlers using Java EL. Thanks to Bernd Rosstauscher
|
||||||
|
for the initial implementation.
|
||||||
|
|
||||||
|
|
||||||
<h3>1.1.10</h3>
|
<h3>1.1.10</h3>
|
||||||
+ Fixed broken sort order of prioritized handlers (see #58)
|
+ Fixed broken sort order of prioritized handlers (see #58)
|
||||||
+ Addressed issue #63 by making the constructor of `MessageHandler` use a map of properties and by replacing dependencies to
|
+ Addressed issue #63 by making the constructor of `MessageHandler` use a map of properties and by replacing dependencies to
|
||||||
|
@ -23,7 +23,7 @@ public class MessagePublication {
|
|||||||
private final Object message;
|
private final Object message;
|
||||||
// message publications can be referenced by multiple threads to query publication progress
|
// message publications can be referenced by multiple threads to query publication progress
|
||||||
private volatile State state = State.Initial;
|
private volatile State state = State.Initial;
|
||||||
private volatile boolean delivered = false; // TODO: maybe replace with return value of subscription and dispatchers?
|
private volatile boolean delivered = false;
|
||||||
private final BusRuntime runtime;
|
private final BusRuntime runtime;
|
||||||
|
|
||||||
protected MessagePublication(BusRuntime runtime, Collection<Subscription> subscriptions, Object message, State initialState) {
|
protected MessagePublication(BusRuntime runtime, Collection<Subscription> subscriptions, Object message, State initialState) {
|
||||||
@ -37,6 +37,9 @@ public class MessagePublication {
|
|||||||
return subscriptions.add(subscription);
|
return subscriptions.add(subscription);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO: document state transitions
|
||||||
|
*/
|
||||||
protected void execute() {
|
protected void execute() {
|
||||||
state = State.Running;
|
state = State.Running;
|
||||||
for (Subscription sub : subscriptions) {
|
for (Subscription sub : subscriptions) {
|
||||||
|
@ -3,8 +3,14 @@ package net.engio.mbassy.listener;
|
|||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
|
* This annotation is meant to carry configuration that is shared among all instances of the annotated
|
||||||
|
* listener. Supported configurations are:
|
||||||
|
*
|
||||||
|
* Reference type: The bus will use either strong or weak references to its registered listeners,
|
||||||
|
* depending on which reference type (@see References) is set
|
||||||
|
*
|
||||||
* @author bennidi
|
* @author bennidi
|
||||||
* Date: 3/29/13
|
|
||||||
*/
|
*/
|
||||||
@Retention(value = RetentionPolicy.RUNTIME)
|
@Retention(value = RetentionPolicy.RUNTIME)
|
||||||
@Target(value = {ElementType.TYPE})
|
@Target(value = {ElementType.TYPE})
|
||||||
|
Loading…
Reference in New Issue
Block a user