ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server 使用上の注意
Interstage

2.17.3 J2EEの注意事項

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

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

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

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

( ( ( (a×460) + b) / 1024) +500) × c (単位:Kバイト)
JavaVM の最大ヒープ領域サイズの指定方法
JavaVM のヒープメモリ不足が発生した場合の現象

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

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

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

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) { }
  }

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

JDK/JREのバージョンは、開発から実行まで、すべてを同一にすることを推奨します。