jp.co.fujitsu.reffi.client.swing.manager
クラス JMSSubscribeCoreManager

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.swing.manager.JMSSubscribeCoreManager

public class JMSSubscribeCoreManager
extends Object

[概 要]

JMSサーバトピックを購読するJMSSubscribeCoreを管理するクラスです。

[詳 細]

トピックを購読中のJMSSubscribeCoreを管理して、開始、停止処理を行います。
このクラスを使用することで、任意のタイミングで購読を停止させることが出来ます。
  @Override
        public void successForward(int index, Model model, Object result) throws Exception {
                JMSSubscribeCoreManager.getInstance().unsubscribe("トピック名");
        }
 

[備 考]

[環 境] JDK 6.0 Update 11

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

作成者:
Project Reffi

メソッドの概要
static JMSSubscribeCoreManager getInstance()
          [概 要] このマネージャクラスのインスタンスを返却します。
 Map<String,List<JMSSubscribeCore>> getSubscriberMap()
          [概 要] JMSSubscribeCoreを管理するマップを返却します。
 void setSubscriberMap(Map<String,List<JMSSubscribeCore>> subscriberMap)
          [概 要] JMSSubscribeCoreを管理するマップを設定します。
protected  void stop(JMSSubscribeCore subscribeCore)
          [概 要] 引数subscribeCoreに対して購読を停止させます。
 void subscribe(String topicName, JMSSubscribeCore subscribeCore)
          [概 要] topicNameで表されるJMS Topicを購読開始します。
 void unsubscribe(String topicName)
          [概 要] topicNameで表されるJMS Topicを購読中の機能モデル全てに購読停止を命令します。
 void unsubscribe(String topicName, String identifier)
          [概 要] topicNameで表されるJMS Topicを購読中の任意の機能モデルに購読停止を命令します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getSubscriberMap

public Map<String,List<JMSSubscribeCore>> getSubscriberMap()

[概 要]

JMSSubscribeCoreを管理するマップを返却します。

[詳 細]

subscriberMapフィールドを返却します。

[備 考]

戻り値:
JMSSubscribeCoreを管理するマップ

setSubscriberMap

public void setSubscriberMap(Map<String,List<JMSSubscribeCore>> subscriberMap)

[概 要]

JMSSubscribeCoreを管理するマップを設定します。

[詳 細]

subscriberMapフィールドを引数subscriberMapで設定します。

[備 考]

パラメータ:
subscriberMap - JMSSubscribeCoreを管理するマップ

getInstance

public static JMSSubscribeCoreManager getInstance()

[概 要]

このマネージャクラスのインスタンスを返却します。

[詳 細]

instanceフィールを返却します。 instanceフィールドがnullの場合、 新規にJMSSubscriberManagerオブジェクトを生成します。

[備 考]

戻り値:
このマネージャクラスのシングルトンインスタンス

subscribe

public void subscribe(String topicName,
                      JMSSubscribeCore subscribeCore)
               throws NamingException,
                      JMSException

[概 要]

topicNameで表されるJMS Topicを購読開始します。

[詳 細]

topicNameトピックを購読開始する処理を行います。 JMSの各種情報、
  1. コネクション
  2. セッション
  3. トピック
  4. メッセージハンドラ
はsubscribeCoreに設定されます。 これらの情報はJMSSubscribeCoreがメッセージ受信する為、unsubscribe命令を受けた時に 購読を中止する為に使用されます。

[備 考]

パラメータ:
topicName - 購読を開始するトピック名
subscribeCore - 購読を行い、JMS接続情報を保持するモデルインスタンス
例外:
NamingException
JMSException

unsubscribe

public void unsubscribe(String topicName)
                 throws JMSException

[概 要]

topicNameで表されるJMS Topicを購読中の機能モデル全てに購読停止を命令します。

[詳 細]

unsubscribe(String, String) メソッドに処理委譲します。

[備 考]

「topic/chatTopic」トピックを購読中の全JMSSubscribeCoreに購読中止を命令します。
 JMSSubscriberManager.getInstance().unsubscribe("topic/chatTopic");
 

パラメータ:
topicName - 購読を停止するトピック名
例外:
JMSException

unsubscribe

public void unsubscribe(String topicName,
                        String identifier)
                 throws JMSException

[概 要]

topicNameで表されるJMS Topicを購読中の任意の機能モデルに購読停止を命令します。

[詳 細]

topicNameトピックを購読中の全機能モデルの内、引数identifierを識別子として持つ JMSSubscribeCoreに購読停止を命令します。

topicNameトピックを購読中のJMSSubscribeCoreが存在しない場合は処理は行いません。
identifierがnullの場合、topicNameトピックを購読中の全JMSSubscribeCoreに購読を停止させます。
購読停止処理の結果、topicNameを購読中のJMSSubscribeCoreが無くなった場合、topicNameキーを subscribeMapフィールドから削除して管理を終了します。

[備 考]

パラメータ:
topicName - 購読を停止するトピック名
identifier - 購読を停止させる機能モデルの識別子
例外:
JMSException

stop

protected void stop(JMSSubscribeCore subscribeCore)
             throws JMSException

[概 要]

引数subscribeCoreに対して購読を停止させます。

[詳 細]

subscribeCoreに保持されている
  1. TopicConnectionをstop
  2. TopicSessionをclose
  3. TopicConnectionをclose
させます。

[備 考]

パラメータ:
subscribeCore - トピックを購読中のJMSSubscribeCoreインスタンス
例外:
JMSException


Copyright(C) Fujitsu All Rights Reserved.