Cosminexus Reliable Messaging
Cosminexus RMとDB Connector for Cosminexus RMが連携するときのコネクションとSQLの運用について説明します。
DB Connector for Cosminexus RMとCosminexus RMは,共にJDBCコネクションを利用します。同一トランザクション内でJDBCとJMSのアクセスを行う場合は,JDBCコネクションを共有できます。
DB Connector for Cosminexus RMとCosminexus RMの間でコネクションを共有するには,次の条件を満たす必要があります。
コネクション共有の条件を満たさない場合は,別のJDBCコネクションが取得されます。この場合も,トランザクションマネジャでのトランザクション内では最初にトランザクションに参加したJDBCコネクションが常に利用されます。つまり,2番目以降のJDBCコネクションに対する処理も,最初のJDBCコネクションを利用して行われるので注意が必要です。
なお,コネクション共有を利用するかどうかに関係なく,JDBCコネクションはCosminexus RMのコネクションとしてプール管理されます。一方,DB Connector for Cosminexus RMのコネクションはプール管理されません。コネクション取得時にはCosminexus RMのコネクションプールからJDBCコネクションを取得します。
DB Connector for Cosminexus RMと連携する場合,実行中のSQL処理が返ってこない状態でトランザクションのタイムアウトが発生すると,ステートメントがキャンセルされます。
Cosminexus RMのステートメントキャンセルで注意する点を次に示します。
デッドロックやスローダウンなどの障害が発生した場合,発行したSQLが障害の要因となった可能性があります。そこで,発行したSQLをログに出力することによって,障害要因の解析が容易になります。ログに出力されるSQLの情報を障害調査用SQLと呼びます。障害調査用SQLの詳細については,マニュアル「Cosminexus 機能解説」を参照してください。
Cosminexus RMの障害調査用SQLの出力で注意する点を次に示します。
コネクション利用時に発生したエラーが,テーブルの一意性に違反したSQLの発行など軽微な障害の場合,コネクションを再利用します。
Cosminexus RMの軽微な障害時のコネクション再利用で注意する点を次に示します。
DB Connector for Cosminexus RMと連携した場合,接続先DBのコネクションIDを取得できます。コネクションIDとは,DBとの接続に使用しているコネクションを一意に識別するための接続情報です。コネクションIDの取得の詳細については,マニュアル「Cosminexus システム運用ガイド」を参照してください。
Cosminexus RMのコネクションIDの取得で注意する点を次に示します。
Cosminexus Component Containerが提供するCosminexus RMの接続テストを行うには,連携するDB Connector for Cosminexus RMが稼働中であることが前提となります。また,DB Connector for Cosminexus RMの接続テストでは,Cosminexus RMとDB Connector for Cosminexus RMの両方が稼働中であることを前提とします。
接続テストに失敗した場合は,メッセージの内容に応じて要因を取り除いてください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.