きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

DB2トリガーMDBを考えてみる(z/OS)

可能性は2つかな。
DB2トリガーをいずれも使う。
片方はJavaプロシージャを使って独自JMS。
もう一方はMQ関数を使う、DB2で。


後者の方が面白そうだ。


WebSphere Message Brokerなんかは、DatabaseInput Nodeがあるが、
あれはプル型な動きをするので、今回考えてるのとは違う。プッシュなやり方だ。


どうもWLM環境で動くっぽいな。
ということは、アドレス空間が違うのか。
ふむ、少し障害ポイントが気になる。
DB2トリガーでMQ関数叩いて2フェーズ・コミットができるっぽい。
無論MQの1フェーズ・コミットにもできるっぽい。


DB2MQ.MQSENDはスカラー関数。(プロシージャではなくスカラー関数か)
送れるデータは文字列かCLOB。
サイズ制限あり。
まあ、4000バイト送れるなら十分だろう。
しかし、複雑なデータを送るのは辛いかな。


例として載っていたのは、INSERTのトリガーで送るタイプ。
DB2MQ.MQSERVICEテーブルとDB2MQ.MQPOLICYテーブルに事前にMQ関連の設定情報を入れておく必要がある。
宛先の情報とか、メッセージのヘッダー的情報なんかを入れておく。
何も指定しない場合は、デフォルトが使われる。
デフォルトの詳細は発見できず、名前は決まってるから、実際にテーブルから拾ったら分かるだろう。


試したいけど最近の仕事環境的に面倒だ。
このくらいエンジニアの妄想をストップさせておこう。