Japan
サイト内の現在位置
タイトル |
WebOTX コンポーネントから他コンポーネント呼び出しを行う場合の注意事項について |
|||||
---|---|---|---|---|---|---|
詳細 |
WebOTX 上のサーバコンポーネントから、別のサーバコンポーネントのオペレーション呼び出しを行う場合、オペレーション呼び出し時に CORBA システム例外が発生する(例えば、呼び出し先のオペレーションに障害が発生しており閉塞している)と、env構造体のエラー処理に制御が戻らず(オペレーション呼び出しの次処理が実行されず)、クライアントのアプリケーションに CORBA_NO_MEMORY 例外が発生します。 この現象を回避するためには、TRY PROTECT ~ CATCH 文による構造化例外処理を追加してください。
【本現象の確認方法】 本現象が発生した場合、サーバコンポーネント(HOLONサーバスタブ)において、TPSUserTrace(LOG_CRIT, "Unknown Exception from ABL.");が実行されます。したがって、Windowsシステムの場合には、イベントビューアに"Unknown Exception from ABL." というメッセージが出力されます。
|
|||||
環境 | Version | HolonEnterprise V6以降 | ||||
OS | Windows、HP-UX、Solaris | |||||
補足 |
サーバスタブでは、HOLON 構造化例外の CATCH 漏れを防ぐため、default の CATCH を自動生成しています。この default の CATCH 文に制御が渡ると、クライアントに CORBA_NO_MEMORY 例外を投げて、ユーザにバグを通知するという機能です。 クライアントスタブでは、CORBA システム例外が発生した場合、HOLON 構造化例外を使ったエラー処理を実現するため、該当する CATCH 文をサーチして例外を投げる機能を実装しています。 サーバスタブ上のサーバコンポーネントから、他のサーバコンポーネントを呼び出す(つまり、呼び出すクライアントスタブを使う)場合、呼び出すオペレーションが障害等により閉塞していると CORBA システム例外が発生します。このとき、クライアントスタブは、該当する CATCH 文をサーチするのですが、サーバスタブが自動生成した default の CATCH をサーチして例外を投げます。
|
|||||
更新日 | 2002.10.04 |