[Seasar-user] Notification

B isid.co.jp Yasuo Higa higa
2003年 11月 12日 (水) 15:43:36 JST


<000001c3850d$c3c2f9f0$[E-MAIL ADDRESS DELETED]> の、
   "[Seasar-user] Notification" において、
   ""植山能成" <[E-MAIL ADDRESS DELETED]>"さんは書きました:

ひがです。

> 植山です。
> 
> Notificationのサンプル実行しました。
> コンソールに"Hello World"がでて、感激です。
> 
> 登場人物A、B、Cの居場所に関して質問です。
> メッセージを通知されるヒト(B)は、seasar内にしか存在できないのでしょう
> か?
> 
Bは、Seasarの外にも生存できます。

> 通知するヒト(A)が通知されるヒト(B)を探すときには、mbean-config.xmlの
> <notificationListner>か<remoteNotificatoinListner>に登録されているクラス
> から探すのでそんな気がするのですが、合ってますか?
> 
> サンプルは、クライアントからサーバーにメッセージを送り、サーバー内の
> Notifyクラスが
> サーバー内のNotifyListnerに通知するってパターンですが、逆がやりたいんで
> す。
> 処理結果(メッセージ)をseasarサーバーが通知し、クライアント側で受け取る
> パターン!
> サーバーからのプッシュっす。
> 
import org.seasar.mbean.RemoteNotificationListenerContainer;
	
public static void main(String[] args) {
    RemoteNotificationListenerContainer rnlc =
        new RemoteNotificationListenerContainer(
            HelloNotifyListener.class.getName(),
            "HelloNotify", "seasar");
    rnlc.start();
    try {
        System.in.read();
    } catch (IOException ex) {
        ex.printStackTrace();
    } finally {
        rnlc.stop();
    }
}

RemoteNotificationListenerContainerのコンストラクタの
第1引数はBのクラス名、第2引数はAの名前、第3引数はSeasarContext名です。

デバッグパースペクティブのコンソールにカーソルを置いて、
Enterキーを押下するとプログラムが終了します。

あっけないほどサーバプッシュは簡単です。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.




Seasar-user メーリングリストの案内