ページの先頭行へ戻る
Interstage Business Application Server オープンJavaフレームワークユーザーズガイド
FUJITSU Software

10.5 トラブルシューティング

”javax.naming.CommunicationException: SYMNameServer isn't being started. HostName : **** Exception:接続が拒否されました。”というエラーメッセージが出力された。

以下の可能性があります。

詳細は、”Interstage Business Application Server セットアップガイド”の”付録B SymfowareのJDBC環境の設定 > B.2 ネーミングサービスの起動”を参照してください。

高信頼性ログの使用時に、”java.sql.SQLException: [SymfoWARE ODBC Driver] JYP1010E サーバ接続要求が拒否されました.” というエラーメッセージが出力された。

以下の可能性があります。

ログにコンテキストIDが"*****"で出力される。

以下の条件を満たす場合、コンテキストIDが”*****”でログに出力されます。

  1. 利用するログクラスが以下のいずれかである

    • com.fujitsu.uji.log.LogComposer

    • com.fujitsu.uji.log.ext.ExtDataComposer

    • com.fujitsu.uji.log.ext.ExtMessageComposer

    • com.fujitsu.uji.log.ext.ExtTimeComposer

    • com.fujitsu.uji.ulog.ULogComposer

  2. リクエストを受信して動作するメソッド以外でログを出力している

  3. ログを出力しているAPIがcommons-logging APIである

コンテキストIDはリクエストから情報を取り出して生成しています。
リクエストを受信して動作するメソッド以外でログを出力した場合、ログ定義ファイルに記載したメッセージフォーマットにコンテキストIDが定義されていても、コンテキストIDが生成されていないのでログを出力することができません。そのため、内部でダミーのコンテキストID"*****"を設定し、ログを出力しています。

ログにリクエスト情報から生成されたコンテキストIDを出力させる場合は、リクエストを受信してから動作するメソッドでログを出力するようにアプリケーションを修正してください。

ログにコンテキストIDが出力されない。

以下の条件を満たす場合、コンテキストIDがログに出力されません。

  1. 利用するログクラスが以下のいずれかである

    • com.fujitsu.uji.log.LogComposer

    • com.fujitsu.uji.log.ext.ExtDataComposer

    • com.fujitsu.uji.log.ext.ExtMessageComposer

    • com.fujitsu.uji.log.ext.ExtTimeComposer

  2. リクエストを受信して動作するメソッド以外でログを出力している

  3. ログを出力しているAPIが前述(1)のクラスが持っているAPIである

コンテキストIDはリクエストから情報を取り出して生成しています。
リクエストを受信して動作するメソッド以外でログを出力した場合、ログ定義ファイルに記載したメッセージフォーマットにコンテキストIDが定義されていても、コンテキストIDが生成されていないためコンテキストIDが出力されません。

ログにコンテキストIDを出力させる場合は、リクエストを受信してから動作するメソッドでログを出力するようにアプリケーションを修正してください。

高信頼性ログを出力する際にエラーが発生する。

以下の条件を満たす場合、高信頼性ログへログを出力できずにエラーが発生します。

  1. 利用するログクラスが以下である

    • com.fujitsu.uji.ulog.ULogComposer

  2. リクエストを受信して動作するメソッド以外でログを出力している

コンテキストIDはリクエストから情報を取り出して生成しています。

また、高信頼性ログの出力にはコンテキストIDが必須です。

リクエストを受信して動作するメソッド以外でログを出力した場合、必須であるコンテキストIDが生成されていないため、エラーとなります。

高信頼性ログへログを出力させる場合は、リクエストを受信してから動作するメソッドでログを出力するようにアプリケーションを修正してください。

指定したサブシステム名が正しく出力されない

以下の可能性があります。

サブシステム名は半角英数字7文字以内を指定してください。

FSP_INTS-BAS_JF6002の警告メッセージが出力される

ユーザアプリケーションが動作するための外部ライブラリのモジュールでcommons-loggingを利用している場合、ユーザアプリケーションで設定したログ実装クラスの指定の影響を受けます。

ログ実装クラスにcom.fujitsu.interstage.apfw.logging.ApfwLoggerを指定した場合はFSP_INTS-BAS_JF6002の警告メッセージが出力される可能性があります。

以下のログ定義を追加してください。

<logComposer name="FSP_INTS-BAS_JF6002の警告メッセージで出力された管理名">
  <output name="任意の名前" type="stderr" />
</logComposer>

ClassCastException発生す

ユーザアプリケーションのwarファイルの中にcommons-logging.jarを含む場合、かつオープンJavaフレームワーク側で生成したログのインスタンスをユーザアプリケーションで取得しようとした場合、ClassCastExceptionなどの例外が発生することがあります。

オープンJavaフレームワークで使用するjarと同様のjarをユーザアプリケーションでwarに含める場合、インスタンスがクラスローダをまたいで使用されることがないように注意してください。

■”java.lang.ClassNotFoundException: com.fujitsu.interstage.apfw.logging.ApfwLogger”が発生する。

Consolidation Option製品を利用する場合、業務ユニット上のアプリケーションでApfwLoggerを使用すると本事象が発生します。業務ユニット上ではApfwLoggerを使用しないようアプリケーションを修正してください。

■”org.apache.commons.logging.LogConfigurationException: User-specified log class 'com.fujitsu.interstage.apfw.logging.ApfwLogger' cannot be found or is not useable.”が発生する。

Consolidation Option製品を利用する場合、業務ユニット上でcommons-logging API仕様に準拠したログ機能を使用する際に、commons-logging.propertiesのログ実装クラスにApfwLoggerを指定すると本事象が発生します。業務ユニット上ではApfwLoggerを使用しないようcommons-logging.propertiesを修正してください。