- 追加された行はこの色です。
- 削除された行はこの色です。
RIGHT:[[目次>Hestia Hacks]]|[[前>Hestia SDKの概要]]|[[次>本ガイドとサンプルについて]]
#freeze
RIGHT:[[目次>Hestia Hacks#SDKDevDuide]]|[[前>Hestia SDKの概要]]|[[次>本ガイドとサンプルについて]]
*ハンドラとは [#e1965f0e]
ハンドラとはHestiaに登録するEISの接続口です。ハンドラの登録方法は、Hestiaインストーラで設定する方法と、設定ファイルを編集する方法の2つがあります。インストーラによる設定方法は「Hestia Getting Start」を参照してください。以下では設定ファイルを編集する方法について解説します。
*設定ファイルの編集 [#ga0102fc]
ハンドラの設定ファイルは以下のファイルです。
-{HestiaHOME}/server/default/data/bridgehandlers.xml
bridgehandlers.xmlはXML形式のテキストファイルです。下記のように、1つのhandler要素により1つのハンドラの設定を記述します。個々のEIS毎にhandler要素を設定します。
【bridgehandlers.xmlの記述例】
<handlers>
<handler>
Handler.ID=internal
Handler.Priority=1000
Communicator.Type=RMI
Filter.Partner.Local=Any
Filter.Partner.Remote=123456789;123454321
Filter.Pip=Any
</handler>
<handler>
Handler.ID=EISforPARTNER1
Handler.Priority=500
Communicator.Type=RMI
Filter.Partner.Local=987654321
Filter.Partner.Remote=123456789
Filter.Pip=Any
</handler>
<handler>
Handler.ID=EISforPARTNER2
Handler.Priority=500
Communicator.Type=RMI
Filter.Partner.Local=987654321
Filter.Partner.Remote=123454321
Filter.Pip=Any
</handler>
<handler>
Handler.ID=EISforPARTNER2_VMI
Handler.Priority=400
Communicator.Type=RMI
Filter.Partner.Local=987654321
Filter.Partner.Remote=123454321
Filter.Pip=4A1,V01.00.00;4A3,V01.00.00;4A5,V01.00.00
</handler>
<handler>
・・・
</handler>
</handlers>
各handler要素には以下のような項目を記述します。
|設定項目|内容|固定値|h
|Handler.ID|ハンドラのID。EISはハンドラIDを指定してHestiaにアクセスする。|「internal」:HestiaCommanderのデフォルトID。|
|Handler.Priority|ハンドラの優先度。整数値(int型)で指定。小さいほど優先度が高い。|-|
|Communicator.Type|HestiaとEISとの通信方法。|「RMI」または「JMS」。|
|JMS.Queue.Receive|PIPメッセージ受信に使用するキューの名前。Communicator.Typeに「JMS」を指定した場合のみ設定する。|「queue/hestiaIncomingQueue」:Hestiaのデフォルト。|
|JMS.Queue.Send|PIPメッセージ送信に使用するキューの名前。Communicator.Typeに「JMS」を指定した場合のみ設定する。|「queue/hestiaOutcomingQueue」:Hestiaのデフォルト。|
|JMS.Factory|JMSのオブジェクトを生成するクラス名。Communicator.Typeに「JMS」を指定した場合のみ設定する。|「UIL2ConnectionFactory」:Hestiaのデフォルト。|
|Filter.Partner.Local|メッセージを振り分ける識別子の1つ。ハンドラが処理するPIPメッセージのローカル(自社)DUNS。区切り文字「\t ;:,」で区切り、複数のDUNSを指定可能。|「Any」:任意のローカルDUNSを処理する場合。|
|Filter.Partner.Remote|メッセージを振り分ける識別子の1つ。ハンドラが処理するPIPメッセージの取引先DUNS。区切り文字「\t ;:,」で区切り、複数のDUNSを指定可能。|「Any」:任意の取引先DUNSを処理する場合。|
|Filter.Pip|メッセージを振り分ける識別子の1つ。ハンドラが処理する受信PIP。送信するPIPに対しては影響しない。区切り文字「\t ;:,」で区切り、PIP名とPIPバージョンの組で指定。区切り文字「\t ;:,」で区切り、複数のPIPを指定可能。|「Any」:任意のPIPを処理する場合。|
HestiaがPIPメッセージを受信すると、優先度の高い順にハンドラを検索し、最初にフィルタにパスしたハンドラにPIPメッセージを流します。フィルタは自社DUNS(Filter.Partner.Local)、パートナーDUNS(Filter.Partner.Remote)、PIP名+PIPバージョン(Filter.Pip)が一致したPIPメッセージをパスします。