Package nablarch.fw.messaging
Class MessageSenderSettings
java.lang.Object
nablarch.fw.messaging.MessageSenderSettings
MessageSender
の設定情報を保持するクラス。- Author:
- Kiyohito Itoh
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
messageSenderClientを使用した通信を行うか否かを取得する。createSettingKeyMessage
(MessageSenderSettings.SettingType settingType, String propertyName) エラーメッセージに付加する設定値のタイプに応じた設定情報キーのメッセージを作成する。<T> T
getComponent
(String propertyName, MessageSenderSettings.SettingType settingType, boolean required) コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する。<T> List<T>
getComponentList
(String propertyName, MessageSenderSettings.SettingType settingType, boolean required) コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する(「,」区切りで定義された複数コンポーネントの読み込みに対応)。送信キュー名(論理名)を取得する。getFormatter
(String propertyName, MessageSenderSettings.SettingType settingType, String formatDir, String formatName) 指定されたフォーマット名に対応するフォーマッタを取得する。ヘッダのフォーマッタ(送信電文と受信電文で共通)を取得する。int
HTTP通信用接続タイムアウトを取得する。HTTP通信時に使用するメッセージID採番コンポーネントを取得する。リアルタイム通信で使用するユーザIDを取得する。HTTPMethodを取得する。HTTP通信時に使用するProxyのホストを取得する。HTTP通信時に使用するProxyのポートを取得する。int
HTTP通信用読み取りタイムアウトを取得する。getIntSetting
(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, Integer defaultValue) Integer型の設定値を取得する。getLongSetting
(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, Long defaultValue) Long型の設定値を取得する。SyncMessageConvertor
を取得する。MessageSenderから呼び出される基本APIを実装したインターフェースを取得する。MessagingProvider
を取得する。受信電文データのフォーマッタを取得する。受信キュー名(論理名)を取得する。int
リトライ回数を取得する。送信電文データのフォーマッタを取得する。送信用リクエストIDを取得する。設定情報キーのリクエストIDを取得する。HTTP通信時に使用するSSLContextを取得する。getStringSetting
(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, String defaultValue) String型の設定値を取得する。メッセージ送信の処理前後に行う処理を取得する。long
応答タイムアウト(単位:ミリ秒)を取得する。getUri()
HTTP通信の接続先URIを取得する。
-
Constructor Details
-
MessageSenderSettings
コンストラクタ。リポジトリから設定値を取得し初期化を行う。 <キューを使用した通信で使用する設定項目> デフォルト設定 messageSender.DEFAULT.messagingProviderName=MessagingProviderをリポジトリから取得する際に使用するコンポーネント名 messageSender.DEFAULT.destination=送信キュー名(論理名) messageSender.DEFAULT.replyTo=受信キュー名(論理名) messageSender.DEFAULT.retryCount=タイムアウト発生時の再送回数。再送しない場合は0以下を指定。デフォルトは-1 messageSender.DEFAULT.formatDir=フォーマット定義ファイルの格納ディレクトリ(論理名)。デフォルトはformat messageSender.DEFAULT.headerFormatName=ヘッダフォーマット名 messageSender.DEFAULT.messageConvertorName=SyncMessageConvertorをリポジトリから取得する際に使用するコンポーネント名 個別設定 messageSender.リクエストID.messagingProviderName=MessagingProviderをリポジトリから取得する際に使用するコンポーネント名。デフォルト設定を指定しない場合は必須 messageSender.リクエストID.destination=送信キュー名(論理名)。デフォルト設定を指定しない場合は必須 messageSender.リクエストID.replyTo=受信キュー名(論理名)。デフォルト設定を指定しない場合は必須 messageSender.リクエストID.timeout=応答タイムアウト(単位:ミリ秒)。デフォルトは-1。0以下または指定がない場合はMessagingProviderの設定値となる messageSender.リクエストID.retryCount=タイムアウト発生時の再送回数。再送しない場合は0以下を指定 messageSender.リクエストID.headerFormatName=ヘッダフォーマット名。デフォルト設定を指定しない場合は必須 messageSender.リクエストID.sendingRequestId=送信用リクエストID。メッセージ処理用のリクエストIDが重複する場合に使用する。 送信用リクエストIDが指定された場合は、送信用リクエストIDの値をヘッダのリクエストIDに設定する。 messageSender.リクエストID.messageConvertorName=SyncMessageConvertorをリポジトリから取得する際に使用するコンポーネント名 <HTTP通信で使用する設定項目> 以下の項目が定義されているリクエストについて、「HTTP通信を行う」とみなす。 ・messageSender.リクエストID.messageSenderClient デフォルト設定 messageSender.DEFAULT.httpMessagingUserId=フレームワーク制御ヘッダーに設定するユーザID messageSender.DEFAULT.httpMethod=通信に使用するHTTPメソッド messageSender.DEFAULT.httpConnectTimeout=コネクションタイムアウト(単位:ミリ秒)。0の場合は、サーバから切断されるまで待ち続ける。 messageSender.DEFAULT.httpReadTimeout=読み取りタイムアウト(単位:ミリ秒)。0の場合は、サーバからデータを読み終わるまで待ち続ける。 messageSender.DEFAULT.sslContextComponentName=SSLContext取得コンポーネント(論理名)。SSL通信時、証明書の設定を行いたい場合に設定する。 messageSender.DEFAULT.httpProxyHost=プロキシサーバ messageSender.DEFAULT.httpProxyPort=プロキシサーバのポート messageSender.DEFAULT.httpMessageIdGeneratorComponentName=HTTPヘッダに付与するメッセージID(キー名:X-Message-Id)の採番コンポーネント(任意項目)。 個別設定 messageSender.リクエストID.messageSenderClient=MessageSenderClient通信クライアント(論理名)。HTTP通信時は必須。 messageSender.リクエストID.httpMessagingUserId=フレームワーク制御ヘッダーに設定するユーザID。任意項目。 messageSender.リクエストID.uri=接続先uri。必須項目 messageSender.リクエストID.httpMethod=通信に使用するHTTPメソッド messageSender.リクエストID.httpConnectTimeout=コネクションタイムアウト(単位:ミリ秒)。デフォルト値にも、本項目にも指定がない場合は、0を設定したとみなす。 messageSender.リクエストID.httpReadTimeout=コネクションタイムアウト(単位:ミリ秒)。デフォルト値にも、本項目にも指定がない場合は、0を設定したとみなす。 messageSender.リクエストID.sslContextComponentName=SSLContext取得コンポーネント(論理名)。任意項目。 messageSender.リクエストID.httpProxyHost=プロキシサーバ messageSender.リクエストID.httpProxyPort=プロキシサーバのポート messageSender.リクエストID.httpMessageIdGeneratorComponentName=HTTPヘッダに付与するメッセージID(キー名:X-Message-Id)の採番コンポーネント(任意項目)。 <キューを使用した通信、HTTP通信共通事項> デフォルト設定 messageSender.DEFAULT.syncMessagingEventHookNames=同期送信の前後処理をリポジトリから取得する際に使用するコンポーネント名(論理名)。複数指定可(「,」で区切って指定)。任意項目。 個別設定 messageSender.リクエストID.syncMessagingEventHookNames=同期送信の前後処理をリポジトリから取得する際に使用するコンポーネント名(論理名)。複数指定可(「,」で区切って指定)。任意項目。 送信電文データと受信電文データのフォーマッタは下記のフォーマット名から取得する。 送信電文データのフォーマット名: リクエストID+"_SEND" 受信電文データのフォーマット名: リクエストID+"_RECEIVE"
- Parameters:
requestId
- リクエストID
-
-
Method Details
-
canUseMessageSenderClient
public boolean canUseMessageSenderClient()messageSenderClientを使用した通信を行うか否かを取得する。- Returns:
- trueの場合にmessageSenderClientを使用した通信を行う。
-
getComponent
public <T> T getComponent(String propertyName, MessageSenderSettings.SettingType settingType, boolean required) コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する。getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得したコンポーネント名を使用してリポジトリからコンポーネントを取得する。 コンポーネント名取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。 コンポーネント名が指定され、かつrequired属性がtrueの場合に、 リポジトリからコンポーネントが取得できない場合は実行時例外を送出する。- Type Parameters:
T
- コンポーネントの型- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtrue- Returns:
- コンポーネント
-
getComponentList
public <T> List<T> getComponentList(String propertyName, MessageSenderSettings.SettingType settingType, boolean required) コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する(「,」区切りで定義された複数コンポーネントの読み込みに対応)。getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得したコンポーネント名を使用してリポジトリからコンポーネントを取得する。 コンポーネント名取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。 コンポーネント名が指定され、かつrequired属性がtrueの場合に、 リポジトリからコンポーネントが取得できない場合は実行時例外を送出する。- Type Parameters:
T
- コンポーネントの型- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtrue- Returns:
- コンポーネント
-
getFormatter
public DataRecordFormatter getFormatter(String propertyName, MessageSenderSettings.SettingType settingType, String formatDir, String formatName) 指定されたフォーマット名に対応するフォーマッタを取得する。- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプformatDir
- フォーマット定義ファイルの格納ディレクトリ(論理名)formatName
- フォーマット名- Returns:
- 指定されたフォーマット名に対応するフォーマッタ
-
getSettingRequestId
設定情報キーのリクエストIDを取得する。- Returns:
- 設定情報キーのリクエストID
-
getSendingRequestId
送信用リクエストIDを取得する。 送信用リクエストIDが設定されない場合は、設定情報キーのリクエストIDが返される。- Returns:
- 送信用リクエストID
-
getMessagingProvider
MessagingProvider
を取得する。- Returns:
MessagingProvider
-
getMessageConvertor
SyncMessageConvertor
を取得する。- Returns:
SyncMessageConvertor
。 指定がない場合はnull
-
getDestination
送信キュー名(論理名)を取得する。- Returns:
- 送信キュー名(論理名)
-
getReplyTo
受信キュー名(論理名)を取得する。- Returns:
- 受信キュー名(論理名)
-
getRetryCount
public int getRetryCount()リトライ回数を取得する。- Returns:
- リトライ回数
-
getTimeout
public long getTimeout()応答タイムアウト(単位:ミリ秒)を取得する。- Returns:
- 応答タイムアウト(単位:ミリ秒)
-
getHeaderFormatter
ヘッダのフォーマッタ(送信電文と受信電文で共通)を取得する。- Returns:
- ヘッダのフォーマッタ(送信電文と受信電文で共通)
-
getSendingDataFormatter
送信電文データのフォーマッタを取得する。- Returns:
- 送信電文データのフォーマッタ
-
getReceivedDataFormatter
受信電文データのフォーマッタを取得する。- Returns:
- 受信電文データのフォーマッタ
-
getSyncMessagingEventHookList
メッセージ送信の処理前後に行う処理を取得する。- Returns:
- メッセージ送信の処理前後に行う処理
-
getMessageSenderClient
MessageSenderから呼び出される基本APIを実装したインターフェースを取得する。
MessagingProvider
とMessageSenderClient
が共に本クラスに設定されている場合は、MessageSenderClient
を優先的に使用する。- Returns:
- MessageSenderから呼び出される基本APIを実装したインターフェース
-
getHttpMessagingUserId
リアルタイム通信で使用するユーザIDを取得する。- Returns:
- リアルタイム通信で使用するユーザID
-
getHttpConnectTimeout
public int getHttpConnectTimeout()HTTP通信用接続タイムアウトを取得する。- Returns:
- 接続タイムアウト
-
getHttpReadTimeout
public int getHttpReadTimeout()HTTP通信用読み取りタイムアウトを取得する。- Returns:
- 読み取りタイムアウト
-
getHttpMethod
HTTPMethodを取得する。- Returns:
- HTTPMethod
-
getHttpMessageIdGenerator
HTTP通信時に使用するメッセージID採番コンポーネントを取得する。- Returns:
- HTTP通信の接続先URI
-
getUri
HTTP通信の接続先URIを取得する。- Returns:
- HTTP通信の接続先URI
-
getSslContextSettings
HTTP通信時に使用するSSLContextを取得する。- Returns:
- HTTP通信の接続先URI
-
getHttpProxyHost
HTTP通信時に使用するProxyのホストを取得する。- Returns:
- HTTP通信時に使用するProxyのホスト
-
getHttpProxyPort
HTTP通信時に使用するProxyのポートを取得する。- Returns:
- HTTP通信時に使用するProxyのポート
-
getIntSetting
public Integer getIntSetting(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, Integer defaultValue) Integer型の設定値を取得する。getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得した設定値をInteger型に変換して返す。 設定値取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値- Returns:
- Integer型の設定値
-
getLongSetting
public Long getLongSetting(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, Long defaultValue) Long型の設定値を取得する。getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得した設定値をLong型に変換して返す。 設定値取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値- Returns:
- Long型の設定値
-
getStringSetting
public String getStringSetting(String propertyName, MessageSenderSettings.SettingType settingType, boolean required, String defaultValue) String型の設定値を取得する。createSettingKey(String, String)
メソッドを使用し設定情報キーを取得する。 はじめに個別設定の取得を試み、取得できない場合はデフォルト設定の取得を試みる。 ただし、settingType引数の指定に応じて個別設定とデフォルト設定の取得を行う。 設定値を取得できない、かつrequired引数がtrueの場合は、実行時例外を送出する。 設定値を取得できない、かつrequired引数がfalseの場合は、デフォルト値を返す。- Parameters:
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値- Returns:
- String型の設定値
-
createSettingKeyMessage
public String createSettingKeyMessage(MessageSenderSettings.SettingType settingType, String propertyName) エラーメッセージに付加する設定値のタイプに応じた設定情報キーのメッセージを作成する。メッセージの形式は下記のとおり。 デフォルト設定のみ : "defaultKey = [デフォルト設定キー]" 個別設定のみ : "key = [個別設定キー]" デフォルト設定と個別設定の両方: "defaultKey = [デフォルト設定キー] or key = [個別設定キー]" キーは
createSettingKey(String, String)
メソッドを使用して取得する。- Parameters:
settingType
- 設定値のタイプpropertyName
- プロパティ名- Returns:
- エラーメッセージに付加する設定値のタイプに応じた設定情報キーのメッセージ
-