@Published(tag="architect") public class MessageSenderSettings extends java.lang.Object
MessageSender
の設定情報を保持するクラス。Modifier and Type | Class and Description |
---|---|
static class |
MessageSenderSettings.SettingType
設定値のタイプを表す列挙型。
|
Constructor and Description |
---|
MessageSenderSettings(java.lang.String requestId)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
boolean |
canUseMessageSenderClient()
messageSenderClientを使用した通信を行うか否かを取得する。
|
java.lang.String |
createSettingKeyMessage(MessageSenderSettings.SettingType settingType,
java.lang.String propertyName)
エラーメッセージに付加する設定値のタイプに応じた設定情報キーのメッセージを作成する。
|
<T> T |
getComponent(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
boolean required)
コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する。
|
<T> java.util.List<T> |
getComponentList(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
boolean required)
コンポーネント名の設定値を使用してリポジトリからコンポーネントを取得する(「,」区切りで定義された複数コンポーネントの読み込みに対応)。
|
java.lang.String |
getDestination()
送信キュー名(論理名)を取得する。
|
DataRecordFormatter |
getFormatter(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
java.lang.String formatDir,
java.lang.String formatName)
指定されたフォーマット名に対応するフォーマッタを取得する。
|
DataRecordFormatter |
getHeaderFormatter()
ヘッダのフォーマッタ(送信電文と受信電文で共通)を取得する。
|
int |
getHttpConnectTimeout()
HTTP通信用接続タイムアウトを取得する。
|
HttpMessageIdGenerator |
getHttpMessageIdGenerator()
HTTP通信時に使用するメッセージID採番コンポーネントを取得する。
|
java.lang.String |
getHttpMessagingUserId()
リアルタイム通信で使用するユーザIDを取得する。
|
java.lang.String |
getHttpMethod()
HTTPMethodを取得する。
|
java.lang.String |
getHttpProxyHost()
HTTP通信時に使用するProxyのホストを取得する。
|
java.lang.Integer |
getHttpProxyPort()
HTTP通信時に使用するProxyのポートを取得する。
|
int |
getHttpReadTimeout()
HTTP通信用読み取りタイムアウトを取得する。
|
java.lang.Integer |
getIntSetting(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
boolean required,
java.lang.Integer defaultValue)
Integer型の設定値を取得する。
|
java.lang.Long |
getLongSetting(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
boolean required,
java.lang.Long defaultValue)
Long型の設定値を取得する。
|
SyncMessageConvertor |
getMessageConvertor()
SyncMessageConvertor を取得する。 |
MessageSenderClient |
getMessageSenderClient()
MessageSenderから呼び出される基本APIを実装したインターフェースを取得する。
|
MessagingProvider |
getMessagingProvider()
MessagingProvider を取得する。 |
DataRecordFormatter |
getReceivedDataFormatter()
受信電文データのフォーマッタを取得する。
|
java.lang.String |
getReplyTo()
受信キュー名(論理名)を取得する。
|
int |
getRetryCount()
リトライ回数を取得する。
|
DataRecordFormatter |
getSendingDataFormatter()
送信電文データのフォーマッタを取得する。
|
java.lang.String |
getSendingRequestId()
送信用リクエストIDを取得する。
送信用リクエストIDが設定されない場合は、設定情報キーのリクエストIDが返される。
|
java.lang.String |
getSettingRequestId()
設定情報キーのリクエストIDを取得する。
|
HttpSSLContextSettings |
getSslContextSettings()
HTTP通信時に使用するSSLContextを取得する。
|
java.lang.String |
getStringSetting(java.lang.String propertyName,
MessageSenderSettings.SettingType settingType,
boolean required,
java.lang.String defaultValue)
String型の設定値を取得する。
|
java.util.List<SyncMessagingEventHook> |
getSyncMessagingEventHookList()
メッセージ送信の処理前後に行う処理を取得する。
|
long |
getTimeout()
応答タイムアウト(単位:ミリ秒)を取得する。
|
java.lang.String |
getUri()
HTTP通信の接続先URIを取得する。
|
public MessageSenderSettings(java.lang.String requestId)
リポジトリから設定値を取得し初期化を行う。 <キューを使用した通信で使用する設定項目> デフォルト設定 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"
requestId
- リクエストIDpublic boolean canUseMessageSenderClient()
public <T> T getComponent(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, boolean required)
getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得したコンポーネント名を使用してリポジトリからコンポーネントを取得する。 コンポーネント名取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。 コンポーネント名が指定され、かつrequired属性がtrueの場合に、 リポジトリからコンポーネントが取得できない場合は実行時例外を送出する。
T
- コンポーネントの型propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruepublic <T> java.util.List<T> getComponentList(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, boolean required)
getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得したコンポーネント名を使用してリポジトリからコンポーネントを取得する。 コンポーネント名取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。 コンポーネント名が指定され、かつrequired属性がtrueの場合に、 リポジトリからコンポーネントが取得できない場合は実行時例外を送出する。
T
- コンポーネントの型propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruepublic DataRecordFormatter getFormatter(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, java.lang.String formatDir, java.lang.String formatName)
propertyName
- プロパティ名settingType
- 設定値のタイプformatDir
- フォーマット定義ファイルの格納ディレクトリ(論理名)formatName
- フォーマット名public java.lang.String getSettingRequestId()
public java.lang.String getSendingRequestId()
public MessagingProvider getMessagingProvider()
MessagingProvider
を取得する。MessagingProvider
public SyncMessageConvertor getMessageConvertor()
SyncMessageConvertor
を取得する。SyncMessageConvertor
。
指定がない場合はnullpublic java.lang.String getDestination()
public java.lang.String getReplyTo()
public int getRetryCount()
public long getTimeout()
public DataRecordFormatter getHeaderFormatter()
public DataRecordFormatter getSendingDataFormatter()
public DataRecordFormatter getReceivedDataFormatter()
public java.util.List<SyncMessagingEventHook> getSyncMessagingEventHookList()
public MessageSenderClient getMessageSenderClient()
MessagingProvider
とMessageSenderClient
が共に本クラスに設定されている場合は、MessageSenderClient
を優先的に使用する。
public java.lang.String getHttpMessagingUserId()
public int getHttpConnectTimeout()
public int getHttpReadTimeout()
public java.lang.String getHttpMethod()
public HttpMessageIdGenerator getHttpMessageIdGenerator()
public java.lang.String getUri()
public HttpSSLContextSettings getSslContextSettings()
public java.lang.String getHttpProxyHost()
public java.lang.Integer getHttpProxyPort()
public java.lang.Integer getIntSetting(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, boolean required, java.lang.Integer defaultValue)
getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得した設定値をInteger型に変換して返す。 設定値取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値public java.lang.Long getLongSetting(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, boolean required, java.lang.Long defaultValue)
getStringSetting(String, SettingType, boolean, String)
メソッドを使用して 取得した設定値をLong型に変換して返す。 設定値取得の詳細はgetStringSetting(String, SettingType, boolean, String)
メソッド のJavaDocを参照。
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値public java.lang.String getStringSetting(java.lang.String propertyName, MessageSenderSettings.SettingType settingType, boolean required, java.lang.String defaultValue)
createSettingKey(String, String)
メソッドを使用し設定情報キーを取得する。
はじめに個別設定の取得を試み、取得できない場合はデフォルト設定の取得を試みる。
ただし、settingType引数の指定に応じて個別設定とデフォルト設定の取得を行う。
設定値を取得できない、かつrequired引数がtrueの場合は、実行時例外を送出する。
設定値を取得できない、かつrequired引数がfalseの場合は、デフォルト値を返す。
propertyName
- プロパティ名settingType
- 設定値のタイプrequired
- 必須の場合はtruedefaultValue
- デフォルト値public java.lang.String createSettingKeyMessage(MessageSenderSettings.SettingType settingType, java.lang.String propertyName)
メッセージの形式は下記のとおり。
デフォルト設定のみ : "defaultKey = [デフォルト設定キー]"
個別設定のみ : "key = [個別設定キー]"
デフォルト設定と個別設定の両方: "defaultKey = [デフォルト設定キー] or key = [個別設定キー]"
キーはcreateSettingKey(String, String)
メソッドを使用して取得する。
settingType
- 設定値のタイプpropertyName
- プロパティ名