jp.co.fujitsu.reffi.client.swing.model
クラス JMSProduceCore

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.swing.model.BaseModel
      上位を拡張 jp.co.fujitsu.reffi.client.swing.model.JMSProduceCore
すべての実装されたインタフェース:
Callable<Object>, Model

public class JMSProduceCore
extends BaseModel

[概 要]

JMSサーバキューにメッセージを発行する為の機能モデルです。

[詳 細]

JMSキューを使用してP2P通信を行う為のクラスです。
Queueコネクションをスタートして設定されたメッセージをキューに送信します。

必須設定メソッド

[備 考]

使用例)
サーバ上のキューにMapMessageを送信する
        package demo.serverpush.action;
        
        import java.util.List;
        
        import javax.jms.MapMessage;
        
        import jp.co.fujitsu.reffi.client.swing.action.BaseAction;
        import jp.co.fujitsu.reffi.client.swing.event.ModelProcessEvent;
        import jp.co.fujitsu.reffi.client.swing.model.JMSProduceCore;
        import jp.co.fujitsu.reffi.client.swing.model.Model;
        
        public class ClientProduceAction extends BaseAction {
                
                @Override
                protected void reserveModels(List> models) {
                        models.add(JMSProduceCore.class);
                }
        
                @Override
                public boolean nextModel(int index, ModelProcessEvent prev, Model next) throws Exception {
                        if(index == 0) {
                                ((JMSProduceCore)next).setQueueName("queue/testQueue");
                                ((JMSProduceCore)next).createSession();
                                MapMessage mapMessage = ((JMSProduceCore)next).createMapMessage();
                                mapMessage.setString("index", "");
                                mapMessage.setString("message", "クライアント");
                                ((JMSProduceCore)next).setMessage(mapMessage);
                        }
                        return true;
                }
        
                @Override
                public void successForward(int index, Model model, Object result) throws Exception {
                        System.out.println("success");
                }
        
                @Override
                public Exception failureForward(int index, Model model, Exception e) {
                        System.out.println("failure");
                        
                        return e;
                }
        }
 
 

[環 境] JDK 6.0 Update 11

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

作成者:
Project Reffi

コンストラクタの概要
JMSProduceCore()
           
 
メソッドの概要
 MapMessage createMapMessage()
          [概 要] MapMessageオブジェクトを生成します。
 ObjectMessage createObjectMessage()
          [概 要] ObjectMessageオブジェクトを生成します。
 void createSession()
          [概 要] JMS QueueSessionを生成します。
 StreamMessage createStreamMessage()
          [概 要] StreamMessageオブジェクトを生成します。
 TextMessage createTextMessage()
          [概 要] TextMessageオブジェクトを生成します。
 void done()
          [概 要] JMS Queueコネクションを切断します。
 String getConnectionFactoryName()
          [概 要] JMSコネクションファクトリJNDI名を返却します。
 Hashtable<String,String> getEnvironment()
          [概 要] JMS接続を行う為の接続先環境設定プロパティを返却します。
 Message getMessage()
          [概 要] JMS Queueに発行するメッセージオブジェクトを返却します。
 MessageProducer getProducer()
           
 Queue getQueue()
           
 QueueConnection getQueueConnection()
          [概 要] サーバとのキューコネクションを返却します。
 String getQueueName()
           
 QueueSession getQueueSession()
          [概 要] サーバとのキューコネクションを返却します。
 String getTextMessage()
          [概 要] Textメッセージを取得する簡易メソッドです。
protected  void mainproc()
          [概 要] JMS Queueコネクションを開始してメッセージを発行します。
protected  void postproc()
          [概 要] モデル処理成功イベント、モデル処理終了イベントを発行します。
 void setConnectionFactoryName(String connectionFactoryName)
          [概 要] JMSコネクションファクトリJNDI名を設定します。
 void setEnvironment(Hashtable<String,String> environment)
          [概 要] JMS接続を行う為の接続先環境設定プロパティを設定します。
 void setMessage(Message message)
          [概 要] JMS Queueに発行するメッセージオブジェクトを設定します。
 void setProducer(MessageProducer producer)
           
 void setQueue(Queue queue)
           
 void setQueueConnection(QueueConnection queueConnection)
          [概 要] サーバとのキューコネクションを設定します。
 void setQueueName(String queueName)
           
 void setQueueSession(QueueSession queueSession)
          [概 要] サーバとのキューコネクションを返却します。
 void setTextMessage(String textMessage)
          [概 要] Textメッセージを設定する簡易メソッドです。
 void stop()
          [概 要] JMS Queueコネクションを切断します。
 
クラス jp.co.fujitsu.reffi.client.swing.model.BaseModel から継承されたメソッド
addModelProcessListener, call, finalproc, fireModelFailure, fireModelFinished, fireModelSuccess, getController, getExecuteIndex, getListenerList, getParameterMapping, getResult, getSuccessCount, incrementSuccessCount, init, isAsync, isSkip, preproc, removeModelProcessListener, run, setAsync, setController, setExecuteIndex, setListenerList, setParameterMapping, setResult, setSkip, trap
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JMSProduceCore

public JMSProduceCore()
メソッドの詳細

getEnvironment

public Hashtable<String,String> getEnvironment()

[概 要]

JMS接続を行う為の接続先環境設定プロパティを返却します。

[詳 細]

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

[備 考]

戻り値:
JMS接続を行う為の接続先環境設定プロパティ

setEnvironment

public void setEnvironment(Hashtable<String,String> environment)

[概 要]

JMS接続を行う為の接続先環境設定プロパティを設定します。

[詳 細]

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

[備 考]

パラメータ:
environment - JMS接続を行う為の接続先環境設定プロパティ

getConnectionFactoryName

public String getConnectionFactoryName()

[概 要]

JMSコネクションファクトリJNDI名を返却します。

[詳 細]

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

[備 考]

戻り値:
JMSコネクションファクトリJNDI名

setConnectionFactoryName

public void setConnectionFactoryName(String connectionFactoryName)

[概 要]

JMSコネクションファクトリJNDI名を設定します。

[詳 細]

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

[備 考]

パラメータ:
connectionFactoryName - JMSコネクションファクトリJNDI名

getQueueConnection

public QueueConnection getQueueConnection()

[概 要]

サーバとのキューコネクションを返却します。

[詳 細]

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

[備 考]

戻り値:
サーバとのキューコネクション

setQueueConnection

public void setQueueConnection(QueueConnection queueConnection)

[概 要]

サーバとのキューコネクションを設定します。

[詳 細]

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

[備 考]

パラメータ:
queueConnection - サーバとのキューコネクション

getQueueSession

public QueueSession getQueueSession()

[概 要]

サーバとのキューコネクションを返却します。

[詳 細]

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

[備 考]

戻り値:
サーバとのキューコネクション

setQueueSession

public void setQueueSession(QueueSession queueSession)

[概 要]

サーバとのキューコネクションを返却します。

[詳 細]

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

[備 考]

パラメータ:
queueSession - サーバとのキューコネクション

getQueue

public Queue getQueue()

setQueue

public void setQueue(Queue queue)

getQueueName

public String getQueueName()

setQueueName

public void setQueueName(String queueName)

getProducer

public MessageProducer getProducer()

setProducer

public void setProducer(MessageProducer producer)

getTextMessage

public String getTextMessage()

[概 要]

Textメッセージを取得する簡易メソッドです。

[詳 細]

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

[備 考]

戻り値:
送信するTextメッセージ

setTextMessage

public void setTextMessage(String textMessage)

[概 要]

Textメッセージを設定する簡易メソッドです。

[詳 細]

textMessageフィールドを設定します。

[備 考]

Textメッセージ情報はQueueSessionが無い状態でも生成出来る為、 簡易メッセージ設定メソッドとして用意されています。

パラメータ:
textMessage - 送信するTextメッセージ

getMessage

public Message getMessage()

[概 要]

JMS Queueに発行するメッセージオブジェクトを返却します。

[詳 細]

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

[備 考]

戻り値:
JMS Queueに発行するメッセージオブジェクト

setMessage

public void setMessage(Message message)

[概 要]

JMS Queueに発行するメッセージオブジェクトを設定します。

[詳 細]

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

[備 考]

パラメータ:
message - JMS Queueに発行するメッセージオブジェクト

createSession

public void createSession()
                   throws NamingException,
                          JMSException

[概 要]

JMS QueueSessionを生成します。

[詳 細]

を行います。

[備 考]

JMSメッセージオブジェクトはQueueSessionから作成します。
このメソッドはJMSConsumeCore機能モデルがrunされる前に 呼び出しておく必要が有ります。
        @Override
        public boolean nextModel(int index, ModelProcessEvent prev, Model next) throws Exception {
                
                if(index == 0) {
                        ((JMSProduceCore)next).setQueueName("queue/testQueue");
                        // 要コール
                        ((JMSProduceCore)next).createSession();
                        MapMessage mapMessage = ((JMSProduceCore)next).createMapMessage();
                        mapMessage.setString("index", "");
                        mapMessage.setString("message", "クライアント");
                        ((JMSProduceCore)next).setMessage(mapMessage);
                }
                return true;
        }
 

例外:
NamingException
JMSException

mainproc

protected void mainproc()
                 throws JMSException

[概 要]

JMS Queueコネクションを開始してメッセージを発行します。

[詳 細]

QueueConnectionをstartさせ、getQueue()に対応するPublisherを生成します。
PublisherはgetMessage()をメッセージとして、JMS Queueに発行を行います。

[備 考]

オーバーライド:
クラス BaseModel 内の mainproc
例外:
JMSException

postproc

protected void postproc()
                 throws Exception

[概 要]

モデル処理成功イベント、モデル処理終了イベントを発行します。

[詳 細]

fireModelSuccess、fireModelFinishedメソッドをコールします。

[備 考]

オーバーライド:
クラス BaseModel 内の postproc
例外:
Exception - オーバーライド先で発生する可能性が有る例外

done

public void done()
          throws Exception

[概 要]

JMS Queueコネクションを切断します。

[詳 細]

stopメソッドに処理委譲します。

[備 考]

オーバーライド:
クラス BaseModel 内の done
例外:
Exception

stop

public void stop()
          throws JMSException

[概 要]

JMS Queueコネクションを切断します。

[詳 細]

を行います。

[備 考]

例外:
JMSException

createTextMessage

public TextMessage createTextMessage()
                              throws JMSException

[概 要]

TextMessageオブジェクトを生成します。

[詳 細]

確立されているQueueSessionにTextMessageオブジェクトの生成を依頼します。

[備 考]

戻り値:
TextMessageオブジェクト
例外:
JMSException

createObjectMessage

public ObjectMessage createObjectMessage()
                                  throws JMSException

[概 要]

ObjectMessageオブジェクトを生成します。

[詳 細]

確立されているQueueSessionにObjectMessageオブジェクトの生成を依頼します。

[備 考]

戻り値:
ObjectMessageオブジェクト
例外:
JMSException

createMapMessage

public MapMessage createMapMessage()
                            throws JMSException

[概 要]

MapMessageオブジェクトを生成します。

[詳 細]

確立されているQueueSessionにMapMessageオブジェクトの生成を依頼します。

[備 考]

戻り値:
MapMessageオブジェクト
例外:
JMSException

createStreamMessage

public StreamMessage createStreamMessage()
                                  throws JMSException

[概 要]

StreamMessageオブジェクトを生成します。

[詳 細]

確立されているQueueSessionにStreamMessageオブジェクトの生成を依頼します。

[備 考]

戻り値:
StreamMessageオブジェクト
例外:
JMSException


Copyright(C) Fujitsu All Rights Reserved.