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

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

public class JMSConsumeCoreManager
extends Object

[概 要]

JMSサーバキューを受信するJMSConsumeCoreを管理するクラスです。

[詳 細]

キューを受信中のJMSConsumeCoreを管理して、開始、停止処理を行います。
このクラスを使用することで、任意のタイミングで受信を停止させることが出来ます。
  @Override
        public void successForward(int index, Model model, Object result) throws Exception {
                JMSConsumeCoreManager.getInstance().unconsume("キュー名");
        }
 

[備 考]

[環 境] JDK 6.0 Update 11

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

作成者:
Project Reffi

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

メソッドの詳細

getSubscriberMap

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

[概 要]

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

[詳 細]

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

[備 考]

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

setSubscriberMap

public void setSubscriberMap(Map<String,List<JMSConsumeCore>> consumerMap)

[概 要]

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

[詳 細]

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

[備 考]

パラメータ:
consumerMap - JMSConsumeCoreを管理するマップ

getInstance

public static JMSConsumeCoreManager getInstance()

[概 要]

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

[詳 細]

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

[備 考]

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

consume

public void consume(String queueName,
                    JMSConsumeCore consumeCore)
             throws NamingException,
                    JMSException

[概 要]

queueNameで表されるJMS Queueを購読開始します。

[詳 細]

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

[備 考]

パラメータ:
queueName - 購読を開始するキュー名
consumeCore - 購読を行い、JMS接続情報を保持するモデルインスタンス
例外:
NamingException
JMSException

unconsume

public void unconsume(String queueName)
               throws JMSException

[概 要]

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

[詳 細]

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

[備 考]

「queue/chatQueue」キューを購読中の全JMSConsumeCoreに購読中止を命令します。
 JMSConsumerManager.getInstance().unconsume("queue/chatQueue");
 

パラメータ:
queueName - 購読を停止するキュー名
例外:
JMSException

unconsume

public void unconsume(String queueName,
                      String identifier)
               throws JMSException

[概 要]

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

[詳 細]

queueNameキューを購読中の全機能モデルの内、引数identifierを識別子として持つ JMSConsumeCoreに購読停止を命令します。

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

[備 考]

パラメータ:
queueName - 購読を停止するキュー名
identifier - 購読を停止させる機能モデルの識別子
例外:
JMSException

stop

protected void stop(JMSConsumeCore consumeCore)
             throws JMSException

[概 要]

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

[詳 細]

consumeCoreに保持されている
  1. QueueConnectionをstop
  2. QueueSessionをclose
  3. QueueConnectionをclose
させます。

[備 考]

パラメータ:
consumeCore - キューを購読中のJMSConsumeCoreインスタンス
例外:
JMSException


Copyright(C) Fujitsu All Rights Reserved.