IBM WebSphere Message Broker および IBM WebSphere Event Broker をお買い上げいただき、ありがとうございます。この文書はフィックスパック 1 (Tooling) の README ファイルです。このファイルの内容は、バージョン 6.0.0.1 の Tooling コンポーネントおよびバージョン 6.0.0.0 の Runtime コンポーネントに関連しています。
この README では、既知の問題について説明し、オンラインのインフォメーション・センターへの掲載に間に合わなかった資料の更新情報を記載しています。
この README ファイルの翻訳版は、
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0 に用意されています。
翻訳版のインフォメーション・センターは、GA 後に Update Manager を通して入手可能になります。
WebSphere Message Broker および WebSphere Event Broker のスタンドアロン・インフォメーション・センターは、WebSphere Documentation CD に収録されています。また、 http://www.ibm.com/software/integration/wbimessagebroker/library/ からもアクセスできます。
また、以下のアドレスからもダウンロードできます。
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0/wmb_help_lin.zip (Linux バージョン)
および
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0/wmb_help_win.zip (Windows バージョン)
installing_and_managing.htm ファイルをお読みください。このファイルは wmb_help_lin.zip および wmb_help_win.zip ファイルに収められています。
印刷用にフォーマットされた情報トピック、およびルールおよびフォーマッターに関する全資料は以下のアドレスにあります。
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0/
障害: この README 文書では、全体に渡って障害番号の参照が記されています。障害番号は IBM 社内問題番号を参照しており、 問題について IBM 技術員と相談するときにこの問題番号が役立ちます。
技術情報: 現在の時点で既知の問題と使用可能なフィックスについては、次の URL をご覧ください。
http://www.ibm.com/software/integration/wbimessagebroker/support/
以下のいずれかの方法で情報を見つけます。
バージョン: WebSphere Message Broker および WebSphere Event Broker によってサポートされているオペレーティング・システムおよびデータベースの特定バージョンに関する最新状況は、
次の「WebSphere MQ Family Supported Software」ページを参照してください。
http://www.ibm.com/software/integration/mqfamily/platforms/supported.html
このセクションは、WebSphere Message Broker および WebSphere Event Broker の、コンポーネント別の制約事項を概説しています。
PDF 版の WebSphere Message Brokers バージョン 6 の「インストール・ガイド」は、eGA (ダウンロードによる一般出荷開始日) の時点では、英語でのみ入手可能です。 各国語に翻訳された「インストール・ガイド」は、GA (メディア・パックによる一般出荷開始日) の時点で入手可能になります。
ベータ・プログラム製品がインストール済みの場合、そのベータ・プログラム製品をバージョン 6.0 GA 製品にアップグレードすることはできません。代わりに、Broker ランタイム・コンポーネント、Toolkit、および RAC を完全にアンインストールする必要があります。 ただし、ベータ製品で使用されている、基礎となる WebSphere MQ とデータベースはインストールしたままにしておくことができます。
ベータ・ドライバーで開発された成果物を Toolkit からエクスポートし、GA Toolkit に再インポートできます。ただし、クリーンな状態のマシンとワークスペースを使用して作業を開始することを強くお勧めします。
GA ブローカー、GA Toolkit、および RAC のインストール後に ToolKit を初めて使うときには、 wmbt -clean コマンドを使用して Toolkit を開始する必要があります。
<install_root>¥IBM¥MessageBrokersToolkit¥6.0¥wmbt.exe
/opt/ibm/MessageBrokersToolkit/6.0/wmbt.bin
注: -clean を実行する必要があるのは、初めて Toolkit を開く場合のみです。
製品またはコンポーネントのインストールとアンインストールについては、製品のインストール・ガイドを参照してください。
バージョン 6.0 からバージョン 6.0.0.1 へ Toolkit をアップグレードする方法として、2 種類の方法 (RPU を使用する方法と CD リフレッシュ CD を使用する方法) を説明しますが、RPU を使用する方法をお勧めします。
CD リフレッシュ CD を使用して既存のインストール済み環境をアップグレードすると、その後のアンインストール処理で問題が発生することがあります。したがって、この方法を使用しないことをお勧めします。
サイレント・インストールに応答ファイルを使用する際に、応答ファイルのフラグの設定が誤っていることがあります。 その結果、(製品全体ではなく) インストールする 1 つ以上の特定のコンポーネントを選択した場合に、この選択内容が無視され、製品全体がインストールされます。この問題に対処するには、応答ファイルを編集し、該当するフラグを以下のように変更する必要があります。
-W setupTypes.selectedSetupTypeId=custom
上記の行を以下のように変更します。
-W setupTypes.selectedSetupTypeId=
つまり、何も設定しません。これにより、デフォルトの標準インストールまたはカスタム・インストール (すべてのコンポーネントのインストール) が実行されなくなります。
Message Broker Toolkit および Event Broker Toolkit と Rational Application Developer (RAD) または Rational Software Architect (RSA) 製品のインストールに関する、いくつかの重要な問題に関する技術情報を入手できます。Message Brokers Toolkit をインストールするときには、これらの技術情報を参照することを強くお勧めします。これらの技術情報の参照方法については、この README ファイルの『サポート』セクションで説明します。
During installation of the IBM Rational Agent Controller (RAC), security is enabled by default. However, if security is enabled, the Flow Debugger will not operate correctly. To allow the Flow Debugger to function, you must disable security during the RAC installation, by deselecting the Security sub-component in the IBM Rational Plugins > Security panel.
If RAC has been installed with security enabled, you must uninstall it and then reinstall with the security setting disabled.
WebSphere Message Brokers Toolkit をインストールすると、一部の Rational Application Developer (RAD) 各国語コンポーネントもインストールされます。
このセクションでは、事前にインストールされている Rational 製品と、Toolkit とともにインストールされる言語パックに関する手順を簡単に説明します。詳細は、IBM Support Web サイトから入手できる技術情報に収録されています。技術情報の参照方法については、この README ファイルの『サポート』セクションを参照してください。
注: 既存の Rational 製品の言語パック・サポートをインストールしていない状態で Toolkit 言語パックをインストールすると、Toolkit のインストールが失敗します。この場合、Toolkit の機能が不足するなどの症状が発生します。 この状況を判別する方法としては、Toolkit のインストール後に IBM Rational Product Updater を実行する方法があります。Toolkit 製品のバージョンが 1.0.0 と表示される場合、インストールが失敗している可能性があります。
インストール中に、言語パック・オプションに関する以下のメッセージが表示されます。このメッセージは 現時点では翻訳されていません。
Select the features for IBM WebSphere Event/Message Broker Toolkit you would like to install. If you select the Language Pack, ensure all Rational products present already have their Language Packs installed and the Rational Product Updater run to bring them up to the supported 6.0.0.1 level before continuing. This is a requirement, failure to do so may result in an unsuccessful installation.
Linux プラットフォームの場合:
Toolkit のインストール後 に Rational 製品をインストールする場合、その時点でのデフォルト・ディレクトリーは Toolkit インストール・ディレクトリーです。これは、Rational ワークベンチがこのディレクトリーにインストールされているためです。Linux システムでは、このディレクトリーをデフォルトのインストール・ディレクトリーとして維持する必要があります。別のディレクトリーにはインストールしないでください。別のディレクトリーにインストールすると、製品をアップグレードできなくなります。
インストールが正常に完了していても、Launchpad に Toolkit 保留中と表示されます。これは無視できます。
WebSphere Message Broker の 1 つ以上のコンポーネントが既にコンピューター上にインストール済みの場合に、さらに別のコンポーネントをインストールしようとすると、その追加のコンポーネントのインストールだけでなく、製品全体のインストールに十分なディスク・スペースがあるかどうかが InstallShield によって確認されます。その結果、追加のコンポーネントに対して十分なスペースがコンピューター上にあっても、その追加コンポーネントをインストールできないことがあります。 製品全体をインストールするのに十分なスペースがある場合、選択したコンポーネントを正常にインストールすることができます。 しかし、十分なスペースがない場合は、前にインストールしたコンポーネントをアンインストールしてから、開始し直す必要があります。
UNIX および Linux プラットフォームでは、複数のユーザーが同一コンピューターで mqsistart コマンドを実行すると、2 番目のユーザーがブローカーを開始しようとする時点で、ブローカーの開始が失敗します。ABEND ファイルに「semctl」というストリングが記録されます。
RedHat Enterprise Linux では、デフォルトで各ユーザーにそれぞれ異なる 1 次グループがあるため、複数のブローカー・ユーザーがいる場合にこの問題が発生する可能性があります。
解決策: 製品の全ユーザーの 1 次グループを同一にします。この異常終了が既に発生している場合は、影響を受けたユーザーの 1 次グループを変更し、この製品に関連するセマフォーをすべて除去する必要があります。セマフォーをすべて除去する最も簡単な方法は、マシンのリブートです。
一部の Windows システムでは、ブローカー・データベースの作成時にデフォルト構成を作成できないことがあります。メッセージの指示に従って DefaultConfigurationWizard.log ファイルを参照すると、以下のようなエントリーがあります。
+++++++++++++++++++++++++++++++++++ task trace +++++++++++++++++++++++++++++++++++++++++++++ TIMESTAMP [Fri Sep 23 16:31:42 BST 2005] デフォルト・ブローカーのデータベース [DEFBKDB6] を作成しています。 状況 ERROR: com.ibm.etools.mft.eou code=0 データベースを作成できませんでした。 C:¥Program Files¥IBM¥MQSI_TK¥600_IVT2>CALL mqsicreatedb DEFBKDB6 -i paton -a ********
また、その他のタスクに関する以下のようなメッセージが記録されていることもあります。
Stderr: ['C:¥PROGRA~1¥IBM¥MQSI¥6ABB0~1.0_I¥bin¥mqsiprofile.cmdmd' は内部コマンドまたは外部 コマンド、動作可能なプログラム、またはバッチ・ファイルとして認識されていません。]
これは、タスクごとに繰り返し記録されます。
ウィザードが製品プロファイルを検出できないことが原因で、データベースの作成が失敗します。 これは、特定のインストール済み環境で判明している問題であり、 WebSphere Message Broker のインストール・ディレクトリー (および WebSphere Message Broker に Windows ショート・ネームが割り当てられているかどうか) に基づいています。
解決策: IBM サポートに連絡し、この問題の暫定修正を要求してください。 この修正は、今後のフィックスパックに収録される予定です。
現時点では、「コマンド・アシスタント・ウィザード」では構成マネージャー・コンポーネントを管理できません。 この状況を修正するフィックスが入手可能になる予定です。
WSDL が配列タイプを定義している (soapenc:Array 定義が含まれている) 場合、Microsoft .NET および Apache の AXIS により生成された RPC/エンコード WSDL の検証またはインポートで問題が発生します。 この場合、WSDL のスキーマ部分でネームスペース宣言を解決できないために、Message Broker WSDL Importer がデータ型を解決できません。以下のエラーが生成されます。
エレメント・タイプ「a:attribute」に関連付けられている属性「wsdl:arrayType」のプレフィックス「wsdl」が見つかりません。
解決策: WSDL ファイルを手動で編集し、メイン・スキーマ・エレメントに wsdl ネームスペース宣言を追加します。 これで、Message Broker Toolkit が WSDL ファイルをインポートします。
例えば以下の行があるとします。
<wsdl:definitions ...> <wsdl:types> <a:schema targetNamespace="http://tempuri.org/encodedTypes"> ...
上記の行を次のように変更します。
<wsdl:definitions ...> <wsdl:types> <a:schema targetNamespace="http://tempuri.org/encodedTypes" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> ...
WebSphere Message Brokers Toolkit で使用する WebSphere MQ V6 Explorer プラグインをインストールするには、Eclipse Update Manager を使用できます。ただし、最初に WebSphere MQ V6 の V6.0.1 リフレッシュ・パックをインストールする必要があります。
Eclipse ツールバーから、「ヘルプ」>「ソフトウェア更新」>「検索とインストール」を選択します。「新規フィーチャー」オプションを選択します。 新規のローカル・ソースとして <WebSphere MQ installation directory>/eclipse を追加します。すると、インストール可能なものとして Explorer フィーチャーが表示されます。
V6.0.1 更新が入手可能になる前の対処法として、WebSphere MQ Explorer の各種フィーチャーとプラグインの入ったディレクトリーを、WebSphere Message Brokers Toolkit ディレクトリーに手動でコピーすることができます。WebSphere Message Brokers Toolkit を再始動した後で、WebSphere MQ Explorer を新規のパースペクティブとしてオープンすることができます。
UNIX システムで mqsimigratecomponents コマンドを使用する場合は、.odbc.ini がバージョン 6.0 フォーマットに更新されていることを確認してください。 .odbc.ini ファイルが更新されていないと、マイグレーションが失敗するか、誤った結果になります。
バージョン 6.0 odbc.ini ファイルを作成するには、以下のステップに従います。
cp /opt/IBM/mqsi/6.0/merant/odbc.ini /var/mqsi/odbc/.odbc.ini
この障害はすべての分散プラットフォーム (z/OS を除く) と、ユーザー名サーバーが含まれているドメインのみに影響します。
次の 2 つの問題があります。
場合によっては、以下の手順で Eclipse ワークスペースをバージョン 5.1.0 からバージョン 6.0 にマイグレーションすると失敗することがあります。
解決策: この問題が発生した場合は、ワークスペースを手動でバージョン 6.0.0 にマイグレーションします。
WebSphere MQSeries Integrator バージョン 2.1 からのマイグレーションを実行しており、ブローカー・データベースにデプロイ済みのメッセージ・セットがある場合は、ブローカーを開始する前にバージョン 6 Toolkit からメッセージ・セットを再デプロイする必要があります。 この操作を行わないと、メッセージ・セットのディクショナリーが初めて使用されるときに例外がスローされます。 この制限は、今後のフィックスパックで除去される予定です。マイグレーション計画の詳細については、ヘルプ・トピック『マイグレーションとアップグレード 』を参照してください。
以下の Dublin Adapter ソリューションを使用している場合は、Dublin Adapters Support (dubadsup@ie.ibm.com) に連絡し、Message Broker バージョン 6 でテスト済みのソリューションのバージョンについて確認してください。単にバージョン 5 ソリューションをマイグレーションしないでください。このマイグレーションを実行すると、バージョン 5 の動作が多少変化します。
ソリューションをバージョン 6 にマイグレーションする前に、以下の Dublin Adapter ソリューションを使用している場合は、Dublin Adapters Support (dubadsup@ie.ibm.com) に連絡し、Message Broker バージョン 6 でテスト済みのバージョンが入手可能であるかどうか、およびその他に問題があるかどうかを確認してください。
メッセージ・セットを WebSphere MQ Integrator バージョン 2.1 からマイグレーションする際に、メッセージ・セットに SWIFT などの業界標準 TDS 物理フォーマットが含まれている場合や、メッセージ・セットをバージョン 2.1 ブローカー (またはサービス・レベルがフィックスパック 3 より前のバージョン 5 ブローカー) にデプロイする予定である場合は、mqsimigratemsgsets コマンドの使用後に以下のステップを実行する必要があります。
この更新を行わないと、メッセージ・セットをバー・ファイルに追加する際に、以下のメッセージが表示されます (このメッセージ中の CSD3 はフィックスパック 3 を指します)。
BIP0202W このディクショナリーにはバージョン 5 CSD3 以上のブローカーが必要です。TDS 形式 "SWIFT" は「厳密な数値チェック」を使用します。このオプションは、バージョン 5 CSD 3 より前のブローカーではサポートされていません。
このエラーを訂正しないと、バー・ファイルを正常にデプロイできるようになりません。
メッセージ・セットを WebSphere MQ Integrator バージョン 2.1 からマイグレーションする際に、このメッセージ・セットに TDS 物理フォーマットが含まれており、同一エレメントに「仮想小数点」プロパティーと「精度」プロパティーが設定されている場合は、このメッセージ・セットをマイグレーションするとエディターの「問題」ビューにメッセージが表示されます。エレメントを調べ、「仮想小数点 」のみが設定されているようにします。このためには、まず「精度」を選択してから「仮想小数点」を選択します。これで、次回ファイルを保管するときにメッセージが表示されなくなります。
『Windows 上での ODBC 接続の定義』トピックの『Sybase Adaptive Server Enterprise』セクションのドライバー構成ステップ・リストの 3 番目のテキストの後に、以下のテキストを追加してください。
4. Sybase データベースを参照する DSN ごとに新規のレジストリー・サブキーを作成します。 REGEDIT を使用して正しい位置にナビゲートします。 HKEY_LOCAL_MACHINE SOFTWARE ODBC ODBC.INI 5. DSN を右クリックし、「新規」>「文字列」を選択します。文字列として SelectUserName を指定し、値に 1 を 設定します。
Java Compute ノードが含まれているメッセージ・フローを初めて BAR ファイルに追加するときには、JAR は特に問題なく追加されます。次に Java Compute ノードに関連付けられている Java コードを更新してから、同じメッセージ・フローを同じ BAR ファイルに再度追加すると、BAR 内の JAR ファイルが最新の Java コードで更新されないことがあります。
解決策: メッセージ・フローを再度追加する前に、BAR ファイルの内容をすべて除去します。
グローバル調整された JMSInput ノードまたは JMSOutput ノードを使用すると、出力 JMS 宛先で一部のメッセージがコミットされません。これらのメッセージの状況が「未確定」であるため、後続の処理でこれらのメッセージが使用不可になります。
解決策: 現時点ではこの問題に対する一貫性のある解決策はありませんが、場合によっては、ブローカーのキュー・マネージャーを再始動すると、メッセージの「未確定」状態が解決されることがあります。
パブリッシュ/サブスクライブ・アプリケーションで Real-timeInput ノードを使用すると、すべての分散プラットフォームの DataFlowEngine プロセスでメモリー・リークが発生する可能性があります。プラットフォームとパブリッシュ/サブスクライブ・クライアントの数によっては、DataFlowEngine プロセスにより使用されるメモリーのサイズが継続的に拡大します。
DataFlowEngine プロセスでメモリー不足が発生すると、このプロセスは停止します。Windows では、「errors」フォルダーに ABEND ファイルとダンプが生成されます。他のシステムでは、ABEND ファイルとコア・ファイルが生成されます。その後、DataFlowEngine プロセスが再開します。
例えば、1 つの実行グループを持つ 1 つのブローカーで単一メッセージ・フロー (その他のインスタンスなし) を使用し、Windows を実行する 4Way 4GB コンピューターで 80 のパブリッシュ/サブスクライブ・クライアントを使用すると、約 1.5 時間後に DataFlowEngine プロセスは停止します。
システム・イベント・ログに以下のようなエラーが記録されます。
Java 仮想マシン OutOfMemoryError が発生しました。 JVM は OutofMemoryError 状態を報告しました。
ABEND ファイルには、以下のようなエラーが記録されます。
ファイル: F:¥build¥S000_P¥src¥DataFlowEngine¥JavaNodeLibrary¥ImbJmsIpJNIJmsIpNode.cpp 行: 417 関数: Java_com_ibm_broker_server_JmsIpNode_logFatalError AbendAction: 3
この問題を解決するには、ブローカーを停止してから再始動し、Java 仮想マシン・ヒープ・サイズを大きくする必要があります。Real-timeInput ノードの代わりに Real-timeOptimizedFlow ノードを使用すると、一部のメモリーの問題を解消できます。
Data Flow Engine プロセスは、時間経過に伴いメモリー・リソースの増加を示すことがあります。これは、デプロイされたメッセージ・フローのメッセージによって、プロセスに負荷がかかっている場合に発生します。これは、デプロイされたメッセージ・フローに、TimeoutNotification ノードとペアの TimeoutControl ノードにより処理されるタイムアウト要求メッセージが含まれている場合に発生します。
解決策: メモリー・リソースをリリースする唯一の方法は、Data Flow Engine プロセスをリサイクルすることです。
Timeout ノードが制御タイムアウト要求を処理できないことがあります。この問題は、ノードに対してデプロイされたメッセージ・フローのメッセージにより大きな負荷がかかっている状況で発生します。またこのメッセージ・フローには、TimeoutNotification ノードとペアの TimeoutControl ノードにより処理されるタイムアウト要求メッセージが含まれています。処理されなかったタイムアウト要求は、ブローカーの内部タイムアウト制御キュー内で未処理のままになります。
z/OS プラットフォーム: 宛先プロパティーが「ユーザー・トレース」に設定されている Trace ノードを高スループット・メッセージ・フローに組み込むと、所有実行グループが停止することがあります (異常終了 S2C1)。Trace ノードは常にアクティブであるため、通常は実動フローに組み込まないでください。Trace ノードは常にアクティブであり、I/O オーバーヘッドが高いため、この問題を防ぐには、接続 Trace ノードが高スループット・フローに組み込まれていないことを確認してください。
ユーザー定義拡張機能プロジェクトまたはノードを evtoolkit¥eclipse¥plugins ディレクトリーに配置して Toolkit を再始動すると、これらのプロジェクトまたはノードがノード・パレットに表示されないことがあります。
解決策: evtoolkit¥eclipse¥plugins ディレクトリー内のユーザー定義拡張機能 (プロジェクトまたはノード) を変更した場合には必ず、-clean オプションを使用して Toolkit を再始動してください。このように実行するには、コマンド行から Toolkit を開始するときに -clean を追加するか、または「スタート」メニューを変更します。例えば、Windows の場合は「スタート」メニューのショートカットを以下のように変更します。
"C:¥Program Files¥IBM¥MessageBrokersToolkit¥6.0¥wmbt.exe" -clean
注: この変更により Toolkit の開始にかかる時間が長くなるため、この追加操作は一時的なものにしてください。開始にかかる時間を短くする Eclipse プラグイン・レジストリー (-clean により除去されるレジストリー) が存在しています。このレジストリーを除去すると、次回の Eclipse 再始動にかかる時間が大幅に長くなります。
「スタート」メニューの 2 つ目のショートカット (-clean を指定したショートカット、「WebSphere Message Brokers Toolkit -clean」など) を作成し、必要な場合にのみ使用すると便利です。
24 時間を超えて負荷がかかった状態で稼働しているシステムでは、集約フローで集約メッセージを適切に処理できず、集約対象メッセージの 1 つが集約されないことがあります。この問題は Solaris、AIX、HP-UX、および Windows システムで発生しています。
解決策: 現時点では解決策はありません。
フロー・デバッガー使用時の以下の制約事項に注意してください。
バージョン 6.0 のフロー・デバッガーを使用して、バージョン 5 のランタイム・ブローカーをデバッグできます。
Rational Agent Controller バージョン 6.0.0.1 および 5.0.2.1 をバージョン 6.0 ブローカーとともに使用できますが、バージョン 5 ブローカーで使用できる Rational Agent Controller のバージョンは 5.0.2.1 のみです (バージョン 2.1 のブローカーは Rational Agent Controller を使用しません)。
したがって、以前のバージョンの WebSphere Message Broker がインストールされており、ドメインにバージョン 5 とバージョン 6.0 の両方のブローカーが含まれている場合は、Rational Agent Controller バージョン 5.0.2.1 を使用する必要があります。バージョン 5 のブローカーで Rational Agent Controller を今後も使用する場合には、Rational Agent Controller バージョン 6.0.0.1 に更新しないでください。
以前のバージョンのブローカーがない場合、またはブローカーで Rational Agent Controller を使用しない場合には、Rational Agent Controller バージョン 6.0.0.1 を使用できます。これは、補足 CD および DVD に WebSphere Message Broker バージョン 6.0 とともに収録されています。
サポートされている内容、およびインストールする必要がある Rational Agent Controller のバージョンの詳細については、オンライン・インフォメーション・センターを参照してください。
例外の内容は変更できません。
実動ブローカーをデバッグしないでください。
セキュリティー機能がまだ実装されていないため、インターネット経由でのデバッグを行わないでください。
フロー・デバッガーを使用する場合は、コンピューターのロケールに関係なく、ブローカーと実行グループの名前を英字で指定する必要があります。
Propagate ステートメントまたは Mapping ノードが含まれている Compute ノードをステップオーバーする場合は、フロー・デバッガーが期待通りに機能しないことがあります。デバッガーが停止するように、当該ノードの後にブレークポイントを設定します。
ビジュアル・フロー・デバッガーには、特定の複合メッセージ・フローに設定されているブレークポイントをランタイムで実行する時点で、これらのブレークポイントが無視される原因となる問題があります。場合によっては、これが原因でそのフローを実行する実行グループが予期しない状態で終了することがあります。実行グループは自動的に再始動し、メッセージの処理を続行します。
ブレークポイントがトラップされない状況が生じた場合、つまりフローが中断されず、制御がワークベンチに戻される場合は、メッセージ・ブローカー・ランタイムが稼働しているホストのシステム・ログを調べてください。エラー BIP4353 「フロー・デバッグ中に JNI 層でエラーが発生しました 」が表示される場合は、このエラーが検出されるので、複合度が低いメッセージ・フローに対しフロー・デバッガーの通常操作を再開するため、ブローカー・ランタイムを再始動する必要があります。
Windows でデバッガーを DataFlowEngine に接続すると、JNI 例外 BIP4353 が表示されます。ほとんどの場合は、通常どおり続行できます。ただし、場合によってはフローが不定的かつ一貫した状態でデバッグに失敗することがあります。このような場合、フローは「ハング」します。つまり、フローは出力に進みませんが、デバッガーはブレークポイントで停止しません。デバッガーを DataFlowEngine から切り離すと、フローは通常どおり続行します。
異なるフロー・プロジェクトのメッセージ・フローは、同じブローカーにデプロイされている場合でもデバッグできません。この操作を可能にするには、メッセージ・フローを 1 つのフロー・プロジェクトにコピーし、「Message Broker デバッグ起動構成ウィザード」でこのプロジェクトを指定します。
Windows でバージョン 6 ワークベンチを使用する場合、LogonInfo.dll と依存関係がパスに含まれていない場合にはドメインが正しく機能しません。この場合、ドメイン名の代わりにコンピューターの名前が使用されます。
この状況を防ぐには、WebSphere Message Brokers 6.0 コマンド・コンソール内からワークベンチを開始します。
パブリッシュ/サブスクライブ・アプリケーションでのクロス・ストリーミング時 (JMS IP パブリッシャーと JMS MQ サブスクライバーを使用する場合) に、メモリー・リークが発生する可能性があります。これは、すべての分散プラットフォームに影響します。プラットフォームとパブリッシュ/サブスクライブ・クライアントの数によっては、DataFlowEngine プロセスにより使用されるメモリーのサイズが継続的に拡大します。
DataFlowEngine プロセスでメモリー不足が発生すると、このプロセスは停止します。Windows では、「errors」フォルダーに ABEND ファイルとダンプが生成されます。他のシステムでは、ABEND ファイルとコア・ファイルが生成されます。その後、DataFlowEngine プロセスが再開します。
Java クライアントから以下のような例外がスローされることがあります。
com.ibm.mq.jms.JMSWrappedException: MQJMS6119: An IOException occurred while publishing, exception java.net.SocketException: Connection reset by peer: socket write error com.ibm.mq.jms.MessageProducerImpl.publishInternal(MessageProducerImpl.java(Compiled Code)) com.ibm.mq.jms.TopicPublisherImpl.publish(TopicPublisherImpl.java(Compiled Code)) com.ibm.mq.jms.TopicPublisherImpl.publish(TopicPublisherImpl.java(Compiled Code))
生成される ABEND ファイルに、以下のような情報が記録されます。
ファイル: F:¥build¥S000_P¥src¥DataFlowEngine¥JavaNodeLibrary¥ImbJmsIpJNIJmsIpNode.cpp行: 417 関数: Java_com_ibm_broker_server_JmsIpNode_logFatalError AbendAction: 3
JVM でのメモリー不足の最も一般的な原因は、RealTime キューのサイズとして設定した値が大きすぎることです。例えば、maxQueueSize と maxMessageSize (mqsichangeproperties コマンドを使用して構成可能) に非常に大きなサイズまたは無制限 (0) を設定する場合などです。クライアントの数がそれほど多くないと想定する場合は、以下の値を使用します。
データベース操作の実行中に JESLOG に以下のメッセージが記録される場合は、データ・ソースに無効なユーザー ID とパスワードを設定し、障害端末が出力キューに接続されている可能性があります。
BIP2616E MA07 default 24 UNABLE TO COMMIT A WEBSPHERE MQ TRANSACTION; 799 MQCMIT FAILED; QUEUE MANAGER=MA07, MQCC=2, MQRC=2195. : ImbMqManager(2211)
以下に示す APAR を適用する必要があります (使用可能な場合)。
暫定修正策として、BIPSDBP を実行してデータ・ソースに設定されているユーザー ID とパスワードを除去します。この場合、コマンドが以下のように設定されています。
mqsisetdbparms brokername ?n datasourcename -d
DB2v8 との MRM メッセージ の XA 調整が失敗します。
解決策: 現時点では解決策はありません。
DB2 フィックスパック 10 との XA 調整が適切に機能しません。
解決策: 現時点では解決策はありません。
DB2v8 フィックスパック 10 がインストールされている Windows 2003 Server では、負荷の高い環境に複数の調整トランザクション (XA) がある場合には、ブローカーが入力キューからメッセージを取り出すことができません。
解決策: 現時点では解決策はありません。
AIX では、/usr/lib から Oracle 提供の 32 ビット・クライアント・ライブラリー「libclntsh.a」へのリンクがない場合は、XA 対応 WebSphere MQ キュー・マネージャーをクリーンな状態で開始できません。
この問題を解決するには、(root として) 以下のコマンドを実行します。
ln -s $ORACLE_HOME/lib32/libclntsh.a /usr/lib/libclntsh.a
これにより、キュー・マネージャーをクリーンな状態で開始できます。
このエラーが発生する場合は、カーネル・パラメーター (msgmni、sem) を大きくしてください。これらのカーネル・パラメーターには、各パラメーターの最小値よりも大幅に高く、最小限でも DB2、WebSphere MQ、および WebSphere Message Broker の推奨値の最高値を設定してください。 例えば、ブローカーに 200 フローの実行グループが 2 つデプロイされており、45 のアプリケーションがこれらのフローを使用する作業負荷が高い環境では、以下のように値を設定します。
/proc/sys/kernel/msgmni 2048 /proc/sys/kernel/sem 250 256000 32 2048
Sybase を使用している場合に mqsimigratecomponents コマンドを実行すると、SQL ネイティブ・エラー「2762」が発生してこのコマンドが失敗することがあります。 この原因は、Sybase データベースでは単一トランザクションで複数のテーブルを作成できないことにあります。 Sybase データベースを変更し、複数テーブルの作成を受け入れるには、以下の手順で操作します。
1> use master 2> go 1> sp_dboption "BROKER1","ddl in tran",TRUE 2> goこれにより、データベース「BROKER1」に対しオプション「ddl in tran」が有効になります。
1> use BROKER1 2> go 1> checkpoint 2> go
Oracle9i または Oracle10g と DB2v8 を同一 HP-UX システムにインストールしている場合は、Oracle ブローカー・データベースとブローカーを使用すると問題が発生することがあります。
ブローカーを開始できず、ABEND ファイルが作成されます。このファイルに、DB2 ライブラリーで解決された Oracle ライブラリーのシンボルが原因で、セグメンテーション違反が発生していることが記録されています。
ブローカーで Oracle を使用する際に、同じ (HP-UX) コンピューターに DB2 がインストールされている場合は、<install_dir>/lib/imbdfdb2.lil ファイルを使用不可にします。最も簡単にこれを実行する方法は、imbdfdb2.lil の名前を何らかの名前に変更する方法です。これにより、HP-UX オペレーティング・システムが Oracle シンボルの解決に使用する DB2 ライブラリーをブローカーが取得しなくなります。
DB2 データベースの XA リソース・マネージャー定義を使用してキュー・マネージャーを開始しようとすると、初期化障害が発生することがあります。
AMQ7626: XA リソース・マネージャーの初期化が失敗しました。詳しくは、エラー・ログを参照してください。
キュー・マネージャーのログに、以下のようなエントリーが記録されています。
AMQ6175: ライブラリー <install directory>/sample/xatm/db2swit を動的にロードできませんでした。
解決策: 適切な DB2 プロファイルを実行した後に、mqm ユーザーから strmqm コマンドを実行し、キュー・マネージャーを開始します。
データベース・スキーマのオーバーライド設定が「このデータ・ソースにデフォルトの実行時スキーマを使用する」に設定されているデータベース・ソースのマップを実行すると、失敗します。データベースが見つからないというデータベース例外が発行されます。この問題の原因は、誤って生成されたコードにあり、このコードが iFix で修正される必要があります。この問題の次善策は判明していません。
すべてのプラットフォームで、メッセージの処理中にブローカーとそのキュー・マネージャーの間の接続が失われると、ブローカーは異常終了します。キュー・マネージャーが再度使用可能になる時点で、ブローカーはクリーンな状態で再始動し、処理を続行します。この結果、MQCMIT/MQBACK ABEND ファイルまたはミニダンプが生成されます。
解決策: 現時点では解決策はありません。
Linux では、以下のサンプルに軽度の操作性の問題があります。
Windows では、以下のサンプルに軽度の操作性の問題があります。
これらのサンプルを使用する前に、以下の技術情報を参照してください。
http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg21218626
本書は米国 IBM が提供する製品およびサービスについて作成したものです。
本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。 日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。 本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、または サービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の 製品、プログラム、またはサービスを使用することができます。 ただし、IBM 以外の製品とプログラムの操作またはサービスの 評価および検証は、お客様の責任で行っていただきます。
IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。本書の提供は、お客様にこれらの特許権について 実施権を許諾することを意味するものではありません。 実施権についてのお問い合わせは、書面にて下記宛先にお送りください。
以下の保証は、国または地域の法律に沿わない場合は、適用されません。
IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、 商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示 もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が 禁じられる場合、強行規定の制限を受けるものとします。
この情報には、技術的に不適切な記述や誤植を含む場合があります。 本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、 改良または変更を行うことがあります。
本書において IBM 以外の Web サイトに言及している場合がありますが、 便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものでは ありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部では ありません。それらの Web サイトは、お客様の責任でご使用ください。
IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、 自ら適切と信ずる方法で、使用もしくは配布することができるものとします。
本プログラムのライセンス保持者で、(i) 独自に作成したプログラムと その他のプログラム (本プログラムを含む) との間での情報交換、 および (ii) 交換された情報の相互利用を可能にすることを目的として、 本プログラムに関する情報を必要とする方は、下記に連絡してください。
本プログラムに関する上記の情報は、適切な使用条件の下で使用すること ができますが、有償の場合もあります。
本書で説明されているライセンス・プログラムまたはその他の ライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、 IBM より提供されます。
IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。
本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具体性を与えるために、それらの例には、個人、企業、ブランド、 あるいは製品などの名前が含まれている場合があります。 これらの名称はすべて架空のものであり、 名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。
著作権使用許諾:
本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示するサンプル・アプリケーション・プログラムがソース言語で掲載されています。お客様は、サンプル・プログラムが書かれているオペレーティング・ プラットフォームのアプリケーション・プログラミング・インターフェースに 準拠したアプリケーション・プログラムの開発、使用、販売、配布を目的として、 いかなる形式においても、IBM に対価を支払うことなくこれを複製し、改変し、 配布することができます。 このサンプル・プログラムは、あらゆる条件下における完全なテストを経ていません。 従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性が あることをほのめかしたり、保証することはできません。 お客様は、IBM のアプリケーション・プログラミング・インターフェースに準拠した アプリケーション・プログラムの開発、使用、販売、配布を目的として、いかなる形式においても、 IBM に対価を支払うことなくこれを複製し、改変し、配布することができます。
以下は、IBM Corporation の商標です。
AIX、DB2、Everyplace、IBM、Universal Database、WebSphere、z/OS、zSeries。
Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Microsoft および Windows は、Microsoft Corporation の米国およびその他の国における商標です。
UNIX は、The Open Group の米国およびその他の国における登録商標です。
Linux は、Linus Torvalds の米国およびその他の国における商標です。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。
DB2 フィックスパック
DB2 フィックスパック は CD-ROM から入手するか、または Web からダウンロードして入手します。ただし、フィックスパックはサイズが大きいことがあるので、CD-ROM 版を請求すると、長時間かけてダウンロードする必要がありません。
現行のサポート契約をお持ちの場合は、DB2 サポートに電話して DB2 フィックスパックの CD-ROM 版を注文することができます。
連絡先の詳細については、次の URL に説明されています (英語)。
http://www.ibm.com/software/data/db2/udb/support.html
この同じ Web サイトからダウンロードすることもできます。
WebSphere MQ フィックスパック (英語)
http://www.ibm.com/software/integration/mqfamily/support/summary/wnt.html
WebSphere Message Brokers フィックスパック (英語)
http://www.ibm.com/software/integration/mqfamily/support/summary/wbib.html
WebSphere Message Broker および WebSphere Event Broker の要件 (英語)
http://www.ibm.com/software/integration/wbimessagebroker/requirements/
および
http://www.ibm.com/software/integration/wbieventbroker/requirements/
WebSphere Message Broker および WebSphere
Event Broker README (英語)
http://www.ibm.com/software/integration/mqfamily/support/readme/
WebSphere Message Broker および WebSphere Event Broker のスタンドアロン・インフォメーション・センター (英語)
Linux の場合:
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0/wmb_help_lin.zip
Windows の場合:
ftp://ftp.software.ibm.com/software/integration/wbibrokers/docs/V6.0/wmb_help_win.zip
WebSphere Message Brokers V6 オンライン・ヘルプ (英語)
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp
IBM Centre for Java Technology Development Downloads (英語)
http://www.ibm.com/developerworks/java/jdk/
Web Services Description Language (WSDL) の仕様 (英語)
http://www.w3.org/TR/wsdl
WebSphere Message Broker Basics (Redbook) (英語)
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg247090.html
Migration to WebSphere Message Broker V5 (Redbook) (英語)
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246995.html