Interstage Web Server 使用上の注意 - Solaris -
目次 前ページ次ページ

第3章 注意事項

3.8 J2EEの注意事項

1) J2EEアプリケーションの運用について

 Web アプリケーション、またはJ2EE アプリケーションクライアントの運用時に、以下のXMLファイルを使用する場合、計算式から算出されるJavaVM ヒープ領域サイズを、JavaVM の最大ヒープ領域サイズの指定値に加算してください。

[JavaVM ヒープ領域サイズの算出]

 使用しているXMLファイルごとに以下の計算式から算出したサイズの総和を求めます。

( ( ( (a×460) + b) / 1024) +500) × c (単位:Kバイト)

[JavaVM の最大ヒープ領域サイズの指定方法]

[JavaVM のヒープメモリ不足が発生した場合の現象]

 各アプリケーションの運用時に、使用するJavaVMヒープ領域サイズを加算しなかった場合は、以下の例外が発生する場合があります。

javax.naming.NamingException:com.fujitsu.interstage.j2ee.def.FJDefException: unknown error: java.lang.OutOfMemoryError

2) JDBCデータソース参照時の注意事項

 WebアプリケーションとEJBアプリケーションを同一VM上で運用し、かつ、同一のデータソースを使用する場合は、Webアプリケーション、EJBアプリケーションそれぞれでInitialContextのlookupメソッドを使用してJDBCデータソースの取得を行ってください。
 以下の場合は、問題が発生することがあります。

3) SQLServer2005使用時の注意事項

 J2EEアプリケーションクライアントより、Interstage管理コンソールまたはisj2eeadminコマンドで定義したデータソースを使用して取得したjava.sql.Connectionに対して、close()メソッド発行後にisClosed()メソッドによりConnectionの状態を確認すると、isClosed()メソッドが期待した値を返却しない可能性があります。本現象はスレッド多重で動作させた場合に発生します。
 以下に本現象が発生する可能性のある例を示します。

-------------------------------------------------------------------------------
  javax.sql.DataSource dataSource = null;
  java.sql.Connection connection = null;
  try {
      javax.naming.Context nctx = new javax.naming.InitialContext();
      dataSource = (javax.sql.DataSource)nctx.lookup("java:comp/env/jdbc/DB1");
  } catch (javax.naming.NamingException ex) { }
  try {
      connection = dataSource.getConnection();
      /* データベースアクセス処理 */
      connection.close();
  } catch ( java.sql.SQLException sqlEx ) { 
  } finally {
      try {
          if ( !connection.isClosed() ) {
              connection.close();
          }
      } catch (java.sql.SQLException sqlEx2) { }
  }

-------------------------------------------------------------------------------

4) JDK/JREのバージョンに関する注意事項

 JDK/JREのバージョンは、開発から実行まで、すべてを同一にすることを推奨します。
 JDK/JRE 5.0でコンパイルしたアプリケーションは、JDK/JRE 1.4の実行環境では正しく動作しません。

5) SQLServer2000使用時の注意事項

 JDBCドライバの障害により、J2EEアプリケーションクライアントからlookupしたデータソースに対して複数スレッドでアクセスすると、コネクション獲得時に以下のエラーが発生することがあります。詳細な情報は、JDBCドライバの提供元へ問い合わせてください。

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Pooled connection reclaimation not supported.

目次 前ページ次ページ

Copyright 2008 FUJITSU LIMITED