この付録では、Oracle B2Bでメッセージの順序付けの管理に使用されるANTコマンドとパブリックAPIについて説明します。
この付録の内容は次のとおりです。
メッセージの順序付けを保持することは、Oracle B2Bのメッセージ処理では重要です。それには、堅牢な管理オプションも必要です。これには、ダッシュボードを使用したり、Oracle B2Bの内部で、および他のアプリケーションにより外部から、特定のターゲットを管理したりすることによる、効率的なレポートが含まれます。
順序付けされたメッセージを管理するための適切なフレームワークが必要な理由を次に示します。
順序付けされたメッセージのわかりやすい表示(ダッシュボード)
外部から使用できるようにするパブリックAPIのサポート
ターゲット、状態およびメッセージIDを指定することによるメッセージの削除
ターゲットおよび状態を指定することによる保留中のメッセージの表示
メッセージ・フローを一時停止および再開するオプション
Oracle B2Bでは、順序付けされたメッセージを管理するためのANTコマンドライン・ユーティリティとパブリックAPIが提供されています。
この項では、順序付けされたメッセージに対して実行できる様々な管理タスクをリストします。
すべてのエンドポイントまたはターゲットを状態とともにリストするには:
このアクティビティは、すべてのターゲットが個々の状態とともに表示されるダッシュボードを生成する作業と同じです。これにより、ターゲットまたはエンドポイントのヘルス(正常に処理しているのか、またはエラー状態にあるのか)を知ることができます。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=listTargets
パブリックAPI
public java.util.List<java.lang.String> listSequenceTargets() throws java.lang.Exception
保留中の順序付けされたメッセージを状態とエンドポイントに基づいてリストするには:
このアクティビティは、特定のターゲットまたはエンドポイントに関するメッセージの数およびそのターゲットまたはエンドポイントの様々な状態を知るために必要です。この情報は、特定のエンドポイントまたはターゲットに関する問題が発生している場合、そのターゲットに関するメッセージの累積件数を知るために役立ちます。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dstate=PROCESSED -Dtarget=Pha01
パブリックAPI
public java.util.List<java.lang.String> getSequenceMessagesByTargetAndState(java.lang.String target, java.lang.String state) throws java.lang.Exception
状態を指定して保留中の順序付けされたメッセージをリストするには:
すべてのエンドポイントまたはターゲットに関する特定の状態のすべてのメッセージを取得します。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dstate=PROCESSED
パブリックAPI
public java.util.List<java.lang.String> getSequenceMessagesByTarget (java.lang.Stringtarget)
はjava.lang.Exceptionをスローします
エンドポイントを指定して保留中の順序付けされたメッセージをリストするには:
特定のエンドポイントまたはターゲットのすべての保留中のメッセージをリストします。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=report -Dtarget=Pha01
パブリックAPI
public java.util.List<java.lang.String> getSequenceMessagesByTarget
(java.lang.String target) throws java.lang.Exception
エンドポイントを指定してメッセージを破棄するには:
特定のターゲットまたはエンドポイントを指定してメッセージを削除します。基本的に、順序付けマネージャの表から特定のターゲットまたはエンドポイントに関連するすべてのメッセージを削除します。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Ddirection=OUTBOUND
パブリックAPI
public java.util.List<java.lang.String> discardSequencedMessageByTarget(java.lang.String target) throws java.lang.Exception
public java.util.List<java.lang.String> discardSequencedMessageByTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception
状態を指定してメッセージを破棄するには:
すべてのエンドポイントまたはターゲットから特定の状態のすべてのメッセージを削除します。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dstate=STACKED
パブリックAPI
public java.util.List<java.lang.String> discardSequencedMessageByState(java.lang.String state) throws java.lang.Exception
状態とエンドポイントを指定してメッセージを破棄するには:
特定の状態およびエンドポイントまたはターゲットのすべてのメッセージを削除します。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Dstate=PROCESSED
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard -Dtarget=Pha01 -Dstate=PROCESSED -Ddirection=OUTBOUND
パブリックAPI
public java.util.List<java.lang.String> discardSequencedMessageByStateAndTarget(java.lang.String target, java.lang.String state) throws java.lang.Exception
public java.util.List<java.lang.String> discardSequencedMessageByStateAndTarget(java.lang.String target, java.lang.String state, java.lang.String direction) throws java.lang.Exception
メッセージIDを指定してメッセージを破棄するには:
特定のメッセージの処理で問題が発生し、順序付けて処理できない場合があります。この場合、メッセージIDを指定して、このメッセージを削除できます。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discard-Dmsgid=0AE851ED131B3D6103A00000152F97E9
パブリックAPI
public java.util.List<java.lang.String> discardSequencedMessageByMessageId(java.lang.String msgId) throws java.lang.Exception
エンドポイントの先頭のメッセージを破棄するには:
これは、エンドポイントまたはターゲットの先頭のメッセージを削除する場合に便利なオプションです。メッセージがスタック状態になり、処理できない場合に必要になる可能性があります。これはスタックの先頭のレコードなので、これを削除することによって、他のすべてのメッセージを正常に処理できます。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discardFirst -Dtarget=Pha01
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=discardFirst -Dtarget=Pha01 -Ddirection=OUTBOUND
パブリックAPI
public java.util.List<java.lang.String> discardFirstSequenceMessageByTarget(java.lang.String target) throws java.lang.Exception
public java.util.List<java.lang.String> discardFirstSequenceMessageByTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception
メッセージIDを使用してメッセージを再処理するには(ペイロードあり/なし):
メッセージの再処理は、便利なオプションです。なんらかの問題が発生して、特定のターゲットまたはエンドポイントが停止しているとします。ターゲットまたはエンドポイントが正常な動作を開始してからメッセージを再処理することで、メッセージをターゲットまたはエンドポイントに順番に送信できます。
パブリックAPI
public boolean processSequenceMessageByMessageId(java.lang.String messageId) throws java.lang.Exception
エンドポイントを一時停止/再開するには:
順序付けされたメッセージの処理を一時停止する必要があるシナリオがあるとします。受信アプリケーションが停止している場合、アプリケーションが動作を開始するまでこれらのメッセージを一時停止できます。メッセージを一時停止するには、特定のエンドポイントまたはターゲットを指定します。
ANTコマンド
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=pause -Dtarget=Pha01
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=pause -Dtarget=Pha01 -Ddirection=OUTBOUND
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=resume -Dtarget=Pha01
ant -f ant-b2b-util.xml b2bsequencemanager -Dmode=resume -Dtarget=Pha01 -Ddirection=OUTBOUND
パブリックAPI
public boolean pauseSequenceTarget(java.lang.String target)throws java.lang.Exception
public boolean pauseSequenceTarget(java.lang.String target, java.lang.String direction) throws java.lang.Exception
public boolean resumeSequenceTarget(java.lang.String target) throws java.lang.Exception
public boolean resumeSequenceTarget(java.lang.String target, java.lang.String direction)throws java.lang.Exception
特定のターゲット/エンドポイントの状態を取得するには:
特定のターゲットまたはエンドポイントの状態を取得します。
パブリックAPI
public String getStateByTarget(java.lang.String target)throws java.lang.Exception
public String getStateByTarget(java.lang.String target, java.lang.String direction)throws java.lang.Exception