プロジェクト

全般

プロフィール

Java MBassador

Javaのイベントバス・ライブラリの一つ。パフォーマンスが良く高機能なライブラリです。

MBassadorの入手

https://github.com/bennidi/mbassador
から、ソース一式を入手して自分でビルドします。または、mavenリポジトリからビルド済みバイナリを入手します。
http://search.maven.org/#search|ga|1|mbassador

最初の一歩

同期(同じスレッド)でイベントバスを利用するサンプル

  • イベントバスの作成(設定はデフォルト、扱えるイベントはHelloEventクラス(とそのサブタイプ)
MBassador<HelloEvent> bus = new MBassador<>();
  • イベントバスの購読インスタンスの生成と購読登録
HelloMbassador helloSubscriber = new HelloMbassador();
bus.subscribe(helloSubscriber);
  • イベントバスの購読クラス
public class HelloMbassador {
    @Handler
    public void receive(HelloEvent event) {
        System.out.printf("Event received. Thread=%s, event=%s%n", Thread.currentThread().getName(), event);
    }
}

スレッドをまたがるサンプル

ライブラリメモ

イベントバス

  • 同期/非同期双方を扱えるイベントバスは、MBassador<T>クラス
  • 同期専用イベントバスは、SyncMessageBus<T>クラス
  • イベントバスに詳細な設定をしたい場合は、BusConfigurationインスタンスに設定をしてMBassadorコンストラクタの引数で指定
    • 非同期メッセージをハンドルする処理を呼ぶスレッドは、IBusConfigurationのgetFeature(Feature.AsynchronousHandlerInvocation.class)で設定したexecutor

クリップボードから画像を追加 (サイズの上限: 1 GB)