イベント・ソースがイベントの送信を試みても、エミッターがイベントをイベント・サービスに送信せず、ログ・ファイルに、メッセージ CEIEM0015E (「指定された同期モードは、エミッターでサポートされません
(The emitter does not support the specified synchronization mode)」) を出力します。
原因
この問題は、イベント送信時にイベント・ソースが渡すパラメーターで、エミッターでサポートされない同期モードが指定されていることを示しています。この問題は、以下のいずれかの条件によって発生します。
- イベント・ソースで指定されている同期モードが無効になっている。
これは、IllegalArgumentException のメッセージ「同期モード mode は無効です。(Synchronization mode mode is not valid.)」
で確認することができます。
- イベント・ソースで指定されている同期モードが、エミッターでサポートされるように構成されていない。これは、SynchronizationModeNotSupportedException の
メッセージ「指定された同期モード mode は、エミッターでサポートされません。(The emitter does not
support the specified synchronization mode: mode.)」で確認することができます。
対応策
イベント・ソースで指定されている同期モードが無効であること (IllegalArgumentException) が例外メッセージで示された場合は、イベント送信を試みているメソッド呼び出しを調べます。メソッド・パラメーターに以下の有効な同期モードのいずれかが指定されていることを確認します。
- SynchronizationMode.ASYNCHRONOUS
- SynchronizationMode.SYNCHRONOUS
- SynchronizationMode.DEFAULT
これらの定数は、com.ibm.events.emitter.SynchronizationMode インターフェースで定義されています。
指定された同期モードがエミッターでサポートされないこと (SynchronizationModeNotSupportedException) が例外メッセージで示された場合は、以下の手順でエミッター・ファクトリー構成を確認します。
- 管理コンソールで「サービス統合」>「Common Event Infrastructure」>「イベント・エミッター・ファクトリー」>「emitter_factory」をクリックします。
イベント・ソース・アプリケーションが使用するエミッター・ファクトリーが表示されていることを確認します。
- エミッター・ファクトリーの設定を調べて、サポートされる同期モードを確認します。
- 「イベント・サービス伝送をサポート (Support Event Service transmission)」プロパティーが選択されている場合は、同期モードがサポートされます。
- 「JMS 伝送をサポート (Support JMS transmission)」プロパティーが選択されている場合は、非同期モードがサポートされます。
トランザクション・モードの照会: イベント・ソースは、isSynchronizationModeSupported() メソッドを使用することにより、特定のエミッターでサポートされるトランザクション・モードをプログラマチックに照会できます。詳しくは、Javadoc API の資料を参照してください。
- 使用しようとする同期モードがエミッターでサポートされない場合は、エミッター・ファクトリー構成を変更するか、サポートされる同期モードを使用するようにイベント・ソースを変更します。