Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Eventing framework <code>MBassador</code> is compatible with Android 4.0.<br> <code>Guava Event Bus</code> is lightweight and also compatible with both the technologies. </p> <p>Both the above framework are lightweight and provide robust mechanism for Subscribe/Publish pattern and according to description of <code>MBassador</code> it's initial design was inspired from <code>Guava Event Bus</code> but the Strong reference to listeners used in <code>Guava Event Bus</code> was problem in some scenario.</p> <p>According to credits section in description at <a href="https://github.com/bennidi/mbassador" rel="nofollow noreferrer">GitHub MBassador</a></p> <blockquote> <p>The initial inspiration for creating this component came from trying out Google Guava's event bus implementation. I liked the simplicity of its design and I do trust the developers at Google a lot, so I was happy to find that they also provided an event bus system. The main reason it proved to be unusable for our scenario was that it uses strong references to the listeners such that every object has to be explicitly deregistered. This was difficult in our Spring managed environment. Finally, I decided to create a custom implementation, which then matured to be stable, extensible and yet very efficient</p> </blockquote> <p>Both the framework are robust, lightweight and it depends on your requirement which one to use. </p> <p>I have found performance comparison on [Java event bus library comparison]](<a href="http://codeblock.engio.net/?p=37" rel="nofollow noreferrer">http://codeblock.engio.net/?p=37</a>) (I got the results from google cached page of this site) where Google Guava, SimpleBus, EventBus and mbassador frameworks were compared and <strong>MBassador was the clear winner</strong>. </p> <p><strong>EDIT:</strong> I removed the picture snapshot and just focusing on end results,</p> <blockquote> <p>The shown performance characteristics of the compared implementations indicate that,<br> 1. Listener subscription is an expensive operation for all implementations but MBassador and Guava<br> 2. Concurrent access does generally slow down the bus performance because of higher contention/synchronization.<br> 3. SimpleBus is by far the slowest implementation.<br> 4. MBassador is by far the fastest implementation in all scenarios. It also offers the best scaling characteristics meaning that higher concurrency rates do not slow down the bus performance as much as the others. This is because MBassador relies on a custom data structure with very fast write operations that do not block readers and at the same time do not copy existing data structures (most other implementations use CopyOnWriteArrayList).</p> </blockquote> <p><strong>To sum it up</strong> For the past few months we have been using <code>MBassador</code> and it holds up to our requirement it is working well in <strong>Android, JavaFX</strong> and works well in <strong>simple java</strong> too on <strong>Linux, Windows, Mac</strong> etc O.S.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload