Interstage Application Server 使用上の注意 - Windows(R) - |
目次
![]() ![]() |
第3章 注意事項 |
Web アプリケーション、またはJ2EE アプリケーションクライアントの運用時に、以下のXMLファイルを使用する場合、計算式から算出されるJava VM ヒープ領域サイズを、Java VM の最大ヒープ領域サイズの指定値に加算してください。
[Java VM ヒープ領域サイズの算出]
使用しているXMLファイルごとに以下の計算式から算出したサイズの総和を求めます。
( ( ( (a×460) + b) / 1024) +500) × c (単位:Kバイト)
- a:XMLファイル内行数
- b:XMLファイルサイズ(単位:バイト)
- c:同時クライアントアクセス数(Web アプリケーション運用時)、またはlookup を発行しているスレッド数(J2EE アプリケーションクライアント運用時)
[Java VM の最大ヒープ領域サイズの指定方法]
Java VM の最大ヒープ領域サイズに、512M バイトを指定する場合の例:
-Xmx512m
Java VM の最大ヒープ領域サイズに、128M バイトを指定する場合の例:
java -Xmx128m ClientAPL
[Java VM のヒープメモリ不足が発生した場合の現象]
各アプリケーションの運用時に、使用するJava VMヒープ領域サイズを加算しなかった場合は、以下の例外が発生する場合があります。
javax.naming.NamingException:com.fujitsu.interstage.j2ee.def.FJDefException: unknown error: java.lang.OutOfMemoryError
WebアプリケーションとEJBアプリケーションを同一VM上で運用し、かつ、同一のデータソースを使用する場合は、Webアプリケーション、EJBアプリケーションそれぞれでInitialContextのlookupメソッドを使用してJDBCデータソースの取得を行ってください。
以下の場合は、問題が発生することがあります。
例) JDBCリソースアクセス定義名が“DB1”のJDBCデータソースの場合
------------------------------------------------------------------------------- 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) { } } -------------------------------------------------------------------------------
目次
![]() ![]() |