アクセシビリティ

JRun リリースノート

JRun 4 アップデータ 6

Windows®、UNIX™、Linux™、および MacOSX™ 版

リリースノート

最終更新日 2005 年 7 月 29 日

このリリースノートには、Macromedia JRun 4 アップデータ 6 で解決された問題および、以下の情報が記載されています。

インストール

JRun 4 アップデータ 6 は、サービスパックあるいは、それ以前のアップデータ適用のあるなしを問わず既存の JRun 4 インストールをアップグレードします。

Macromedia JRun 4 アップデータ 6 リリースを実行する前に、次の操作を行います。

  1. 1.3.1 あるいはそれ以降のデフォルト JDK がシステム上にインストールされていることを確認します (インストーラが必要とします)。
  2. すべての JRun 4 サービスを停止します。すべての JRun プロセスを停止できなかった場合、インストレーション処理が失敗することがあります。まだ稼動している JRun サービスがあるかどうかを次の手順で確認できます。
    • UNIX および Linux では、ps -ef または同種のコマンドを使用してプロセスを表示します。残っている JRun プロセスをすべて終了させます。
    • Windows では、Ctrl + Alt + Delete を押し、タスクマネージャを選択します。
    • [プロセス] タブで実行中の JRun プロセスのすべてを終了させます。JRun サーバーが Windows サービスとしてインストールされている場合は、サービスコントロールパネルを使用してそれらのサービスを停止させてください。
  3. JRun に接続しているすべての Web サーバーを停止します。IIS を JRun の Web サーバーとして使用している場合は、World Wide Web Publishing サービスをサービスコントロールパネルで停止してください。
  4. JRun 4 のインストールルートディレクトリを書き留めておきます (c:\jrun4 など)。
  5. Windows 2000、Window XP および Windows 2003 では、アップデータによって置き換えられる {jrun.home}/bin 内のいくつかの DLL がロックされることを避けるために Windows Management Instrumentation サービスを停止させます。
  6. Windows XP および Windows 2003 では、アップデータの実行に先立って JRun をアンインストールしたら、次のレジストリキーを手動で削除する必要があります。削除しなかった場合、任意の製品インストールおよびアップデータインストールは失敗します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\955648EA1E7DC4D4FA99677EE7413103]"ProductName"="Macromedia JRun 4"

Windows レジストリの編集の詳細については、オペレーティングシステムのマニュアルを参照してください。

JRun 4 インストールをアップデータ 6 でアップグレードするには :

  1. 使用しているオペレーティングシステムに応じて EXE または BIN ファイルをダウンロードして実行します。
  2. インストールウィザードの指示に従ってインストール作業を完了します。
  3. 各 JRun サーバーの "SERVER-INF/temp" ディレクトリの内容を削除します。
  4. インストールを完了したら、JRun サービスを再起動します。必要に応じて、Web サーバーも再起動してください。
  5. Linux システムをご使用の場合、バージョンによっては Web サーバーコネクタの手動によるインストールが必要な場合があります。詳細については、「JRun アップデータ 2 既知の問題」* の問題 50586 を参照してください。

メモ

  • JRun 4 アップデータ 6 は、アップデータによって上書きされるすべてのファイルのコピーを含むディレクトリ {jrunroot}/updater6-backup を作成します。
  • Mac OSX** ユーザーの方は、シェルより .bin を実行します。Stuffit はこの .bin ファイルを解凍できず、次のメッセージを生成します。"Archive was compressed with an unknown compression method" (アーカイブは不明な圧縮方法にて圧縮されています)
    **日本語環境におけるMachintochでのJRun 4 の使用は、サポート対象外となっております。
  • RedHat AS 3.0 ユーザーの方は、アップデータ 6 にアップデートする前に、Jikes コンパイラによる潜在的な問題を避けるため RedHat AS 3.0 オペレーティングシステムへ最新のアップデートを適用していることを確認してください。詳細については、「アップデータ 5 既知の問題」の問題 59348 を参照してください。
  • RedHat AS 3.0 ユーザーの方は、Apache の問題を避けるために互換性ライブラリ (レガシーアプリケーション) がインストールされていることを確認してください。詳細については、「アップデータ 5 既知の問題」の問題 59367 を参照してください。
  • JRun 4 アップデータ 4 で JDK 1.5 互換性のための回避策を適用している場合、アップデータ 6 をインストールする前に、次の jvm.config ファイルへの設定を削除する必要があります。
    -Djmx.invoke.getters=true
  • AIX ユーザーの方は、アップデータ 6 を実行する前に、カーネルおよびライブラリメモリから現在使用されていないモジュールを除くための "slibclean" コマンドを実行してください。

強化された機能

JRun 4 アップデータ 6 には、強化された次の機能が含まれています。

  • 更新された JDBC ドライバ - JRun 4 アップデータ 6 キットには、JRun JDBC ドライバのバージョン 3.4 build 50 が含まれています。
  • コネクタ - Unix のApache コネクタについて、Apache Multi-Processing Module (MPM) もサポートするようになりました。パフォーマンスの強化および向上が図られました。 特に Microsoft IIS 6.0 に対してパフォーマンスが向上しています。 (59653 も参照)。
  • JRun Web Server (JWS) - JWS には、現在完全なキープアライブ機能が備わっています。HTTP リクエストに固有のログを取得するため、新しいログレベルが追加されました。詳細については、「解決された問題」を参照してください。
  • Windows サポート - JRun は、Windows 2003 および IIS 6 をアップデータ 3 からサポートしています。Windows 98 および Windows ME は、アップデータ 5 以降サポートされません。
  • HP-UX サポート - JRun は、HP-UX PA-RISC (1.1 および 2.0) システムでサポートされます。バージョン 11.0 と 11i (11.11) がサポートされます。現在 HP-UX IA64 はサポートされていません。
  • Mac OS X サポート** - JRun 4 アップデータ 6 は Mac OS X 10.4 (Tiger) をサポートします。OS X 10.4 上の JDK 1.5 もサポートします。以下の Mac OS X に関する 「メモ」を参照してください。
    **日本語環境におけるMachintochでのJRun 4 の使用は、サポート対象外となっております。
  • Solaris サポート - JRun 4 は、Solaris 10 をサポートします。
  • IBM AIX サポート - JRun 4 は、IBM AIX 5.3 をサポートします。
  • Apache サポート - JRun は、Apache バージョン 1.3.2x-1.3.33 および Apache バージョン 2.043-2.054 をサポートします。Apache 2.x の古いバージョンを使用しているユーザは、JRun 4 アップデータ 6 をインストールする前に Apache をアップグレードする必要があります。
  • Linux サポート - JRun 4 は、RedHat 8、Redhat AS2.1、AS3.0 と AS 4.0、および Novell Suse Linux 8.0 をサポートします。
  • Sun JDK サポート - JRun 4 は、Sun JDK 1.5.0 をサポートします。JDK 1.5.0 は HP-UX PA-RISC (2.0 のみ、11.0 および 11i システム上) でもサポートされています。

完全なサポート一覧

OS JDK Web サーバー
Windows 2000 SP 4 Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
IIS 5、Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
Windows XP Professional SP2 Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
IIS 5.1、Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
Windows 2003 Enterprise Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
IIS 6、Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
RedHat Linux 7/8/9 Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
Apache 1.3/2.0 (最新バージョンと共にバンドル)、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
RedHat AS 2.1/3.0/4.0 Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
Apache 1.3/2.0 (最新バージョンと共にバンドル)、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
Suse Linux 8.0 Sun JDK 1.3/1.4/1.5 Apache 1.3/2.0
Turbo Linux Sun JDK 1.3/1.4/1.5 Apache 1.3/2.0 (最新バージョンと共にバンドル)
Solaris 7/8/9/10 Sun JDK 1.3/1.4/1.5 Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
IBM AIX 4.3/5.0/5.1/5.2/5.3 Sun JDK 1.3/1.4/1.5
IBM JDK 1.3/1.4
Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
HP-UX 11/11i (PA-RISC 1.1/2.0 のみ) Sun JDK 1.3/1.4/1.5 (1.5 は PA-RISC 2.0 のみ) Apache 1.3/2.0、iPlanet 4.1/6.0、NES 6.0/6.1、SunONE Web Server 6.1
Mac OS X 10.2/10.3/10.4** Sun JDK 1.3/1.4/1.5 Apache 1.3/2.0

**日本語環境におけるMachintochでのJRun 4 の使用は、サポート対象外となっております。

64 ビットのサポートに関するメモ

JRun は、現在 JRun コアサーバーとバンドルされている Web サーバーコネクタの両方について、32 ビット環境および 32 ビット JVM をサポートします。

完全な 64 ビット環境はサポートされていません (64 ビットカーネルの 64 ビット JVM/64 ビットハードウェアの OS)。

サポートされている 64 ビットの設定は、64 ビット OS/64ビットハードウェアで動作している 32 ビット JRun 環境のみです。

Mac OS X および JDK バージョンに関するメモ**

**日本語環境におけるMachintochでのJRun 4 の使用は、サポート対象外となっております。

JRun は、現在最新の Mac OS X 10.4 (Tiger) をサポートします。この OS 上での JDK 1.5 の使用もサポートします。JDK 1.5 は Mac OS X の標準インストールには含まれていません。ダウンロードして Mac にインストールできます。JRun は、Mac 上の JVM を選択しながら、/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK シンボリックリンクで示される VM を取得します。OS X では、このリンクはデフォルトで JDK 1.4.2 を指します。JDK 1.5 で JRun を実行するには、次の 2 つのいずれかを実行します。

  • 次のコマンドを発行して、"CurrentJDK" リンクが JDK1.5 ディレクトリを指すようにします。

    % rm CurrentJDK
    % sudo ln -sfh 1.5.0 CurrentJDK
  • JAVA_JVM_VERSION を目的のバージョンに設定します。
    % export JAVA_JVM_VERSION 1.5

jvm.config で、OS X 上の JVM の検出に "java.home" が使用されていないことに注意してください。

このリリースで解決された問題

JRun 4 アップデータ 6 には次のバグ修正が含まれています。

ビルトイン JDBC データベースドライバ

JRun 4 アップデータ 6 の JDBC ドライバパックは 3.4 build 50 です。このリリースに含まれる JDBC ドライバは、SQL Server の NT 認証をサポートします。 詳細については、テクニカルノート「Updated DataDirect JDBC Drivers (version 3.4)」* を参照してください。

このバージョンで修正された問題 :

Oracle

  • 60039 - Oracle サーバー上で SQLNET.AUTHENTICATION_SERVICES が無効になっている場合、ドライバは接続不能でした。
  • 60019 - 東部標準時間の場合、取得した時刻がデータベースサーバーの時刻より 1 時間進んでいました。
  • 60066 - TIMSTAMP WITH LOCAL TIME ZONE データ型が、夏時間の正しい時刻より 1 時間遅れで報告されていました。
  • 57661 - 期限切れのパスワードで、"Net8 プロトコルエラー" がスローされます。
  • 59202 - setMaxRows() 使用時に、resultset.close() で16 秒ハングします。
  • 57263 - statement.close() で CLOB 取得中、16 秒ハングします。
  • 54831,55217 - CLOB に null で終わるデータがある場合、Oracle CLOB はハングします。(NLS_Characterset UTF8)
  • 55313 - 誤って登録された出力パラメータで、Net8 プロトコルエラーが発生します。
  • 54937 - "[Macromedia][Oracle JDBC Driver]Cannot establish socket to redirected host/port" で、ホスト/ポートを識別できません。
  • 54994 - Oracle で、ドライバは char(8) に対して 16 バイトを返します。(NLS_Characterset JA16SJIS)
  • 55605 - CLOB 列に、日本語キャラクタを挿入することができません。(NLS_Characterset UTF8)
  • 55308 - ストアドプロシージャから返される LONG は 2K の制限があります (現在は、32K)。
  • 55546 - CFTRANSACTION は ORA-01453 をスローします。
  • 53182 - 約 3 ~ 6MB の CLOB が 0 バイトを返します。
  • 53366 - CLOB の取得中に文字セット "ELM8MSWIN1253" がハングします。
  • 53357 - CLOB 取得で、EL8MSWIN1253、JA16SJIS の場合に 0 バイトが返されます。
  • 52262 - CharacterSets が EL8MSWIN1253 あるいは JA16SJIS の場合、2000 以上の文字を含む CLOB の更新に失敗します。
  • 53466 - CLOB 取得で、CharacterSet: JA16SJIS が設定されていると、java.lang.ArrayIndexOutOfBoundsException がスローされます。
  • 53477 - Oracle 9i JA16SJIS データベースに接続しようとすると、"読み取り可能なデータがありません" という内容のメッセージが表示されます。
  • 53758 - Oracle9i で CharacterSet: JA16SJIS の場合に、CLOB 取得で ArrayIndexOutOfBoundsException がスローされます。
  • 53752 - Characterset が WE8ISO8859P15 の場合に、CLOB 取得でハングします。
  • 53750 - ドライバが、2000 文字を超える VARCHAR アウトパラメータを受け入れません。
  • 53357 - NLS_CharacterSet が WE8ISO8859P15 の場合に、CLOB 更新で失敗します。
  • 49775 - クライアント変数データが大量にある場合、Net8 プロトコルでエラーになります (軽負荷)。

SQL Server

  • 59000 - データベースがオフラインの場合、SQL Server で AlternateServers フェイルオーバーが機能しません。
    58950 - Windows 固有 (Type 2) の Windows 認証が "cannot find DDJDBCAuth.DLL" エラーで失敗しました。
  • 56302 - @@Nestlevel 内部ストアードプロシージャが常に 3 を返します。
  • 57050 - 特定の照合 (210-217) がサポートされていません。
  • 51266 - データベースの最大接続数を超過すると、紛らわしい "No more data available to read" エラーがスローされました。
  • 52851 - SQL Server で予期せず接続が切断された場合、CPU の使用率が急上昇します。
  • 53556,53280 - 2048 文字の SQL ステートメントで、ArrayIndexOutOfBoundsException が発生します。

Informix

  • 53223 - データ取得時に発生する "String to date conversion error" は、新しい DBDATE URL パラメータで修正されました。詳細については、テクニカルノート 1a3c2ad0* を参照してください。
  • 53592 - Informix SELECT INTO TEMP が失敗します。

Sybase

  • 57539 - ストアドプロシージャ名をデータベース名で修飾すると、エラーがスローされます。

DB2

  • 54536 - Cp1114 エンコーディングを使用するデータベースに接続できません。
  • 53347 - DB2 用の "StripNewLines" でホワイトスペースが処理されません。
  • 53442 - "StripNewLines" でタブが使用されています。

すべてのドライバ

  • 54937 - 関連するホストとポートを識別するために、接続例外が修正されました。
  • 54826 - INSERT 文で列が指定されない場合、ArrayIndexOutOfBounds メッセージが発生します。
  • 53947 - 高負荷時、クエリーループでの CFQUERY タイムアウトによってワーカーモニタースレッドの堆積が発生します。

Web サーバーコネクタ

SunOne、Netscape、IPlanet コネクタ

NSAPI モジュールは最新のライブラリを使用するようになりました。異なる Web サーバーバージョンに基づいた個々のモジュールは、各メジャープラットフォーム毎にひとつのモジュールへと統合されました。UNIX、Linux モジュールは、jrun_nsapi.so。Windows モジュールは jrun_nsapi.dll です。

Apache コネクタ

Apache コネクタは、現在 Unix 上のデフォルトでない Apache Multi-Processing Module (MPM) をサポートします。

その他のバグ修正

  • 56736 - -DWSConfig.PortScanStartPort=2901 と -DWSConfig.PortScanCount=2 のスイッチを使用して wsconfig を実行すると、実際の開始ポートが Windows と Solaris で変わります。Windows では、スキャンはポート 2901 から始まり、2902 に進んで停止します。Solaris では、ポート 2901 から始まり、ポート 2902 と 2903 に進みます。
  • 59653 - IIS 6.0 は VectorSend をサポートします。これにより、ISAPI 拡張機能で、複数のファイルやバッファに格納されているデータに対するリクエストの応答を送信する、バッファとファイルハンドルのベクターを指定できるようになるため、パフォーマンスが向上します。
  • 59720 - JRun サーバーが停止し、ユーザーが http://localhost/index.jsp に対するリクエストを行うと、Window 2003 と WinXP/2000 では、異なる結果が得られます。Win2003 では、コネクタは 503 エラーを返します。XP/2000 では、ブラウザがリクエストをタイムアウトします。コネクタは、現在すべての Windows システムで正しく 503 を返します。
  • 59858 - Web サーバーが最初に起動し、リクエストが JRun サーバーの起動後、ただし Web アプリケーションのロード終了前に届いた場合、mapCheck=0 - であれば、JRun の再起動後でも、マッピングはロードされません。
  • 60181 - ColdFusion ワイルドカードハンドラと ISAPI フィルタをロードする際 (サイトまたはグローバルレベル)、インライン PDF ダウンロードは、IIS ログファイルの部分コンテンツとして、206 ではなく 200 をロギングします。
  • 60584 - アップデータをインストールしても、SunONE、Netscape、および IPlanet コネクタのコネクタモジュールがアップグレードされません。コネクタモジュールは、アップデータのインストール後に手動でアップグレードする必要があります。それには、Web サーバー設定ツールを実行し、コネクタをアンインストールしてから再インストールします。

JSP / サーブレット / Web エンジン

JWS とキープアライブ

JWS は、現在ダイナミックコンテンツ (JSP/サーブレット) を使用したキープアライブ接続もサポートします。以前のバージョンは、スタティックコンテンツしかサポートしていませんでした。

キープアライブ機能を有効にするには、次のように jrun.xml の "Web Service" を編集します。

<service class="jrun.servlet.http.WebService" name="WebService">
   ---
   ---
<attribute name="keepAlive">true</attribute>
<attribute name="chunkedEncoding">true</attribute>
   ---
   ---
</service>

ダイナミックコンテンツをサポートするには、"chunkedEncoding" 属性が必要です。ダイナミックコンテンツで "keepAlive" が "true" の場合、chunkedEncoding を "true" に設定する必要があります。次の表では、JWS の動作を説明します。

リクエスト コンテンツ キープアライブ chunkedEncoding 接続 応答 備考
HTTP 1.0 スタティック false 該当なし クローズ HTTP 1.0 chunked エンコーディングは、HTTP 1.0 には適用されません。
HTTP 1.0 スタティック true 該当なし キープアライブ HTTP 1.0  
HTTP 1.0 ダイナミック false 該当なし クローズ HTTP 1.0  
HTTP 1.0 ダイナミック true 該当なし クローズ HTTP 1.0 HTTP 1.0 では chunked エンコーディングが使用できないため、接続が閉じられ、キープアライブは使用できなくなります。
HTTP 1.1 スタティック false 該当なし クローズ HTTP 1.0 キープアライブがオフの場合、chunked エンコーディングは不要です。
HTTP 1.1 スタティック true * キープアライブ HTTP 1.0 Content-Length ヘッダーが送信されるため、chunkedEncoding の値は無視されます。
HTTP 1.1 ダイナミック false 該当なし クローズ HTTP 1.0  
HTTP 1.1 ダイナミック true false キープアライブ HTTP 1.0 ブラウザの使用率が急上昇するため、この設定はお勧めできません。
HTTP 1.1 ダイナミック true true キープアライブ HTTP 1.1 HTTP 1.1 応答ヘッダーが送信されます。chunkedEncoding は HTTP 1.1 でのみ動作します。

JWS と HTTP リクエストのロギング

アップデータ 6 には、JRun Web Server が提供する HTTP リクエストをログするための新しい機能が追加されました。この機能は、アクセス分析を行う際に非常に便利です。デフォルトではこの機能はオフになっています。アクセスの詳細をログするには、次の手順を実行します。

  1. jrun.xml の "LoggerService" セクションで、"accessEnabled" を true に設定し、"accessFormat" 属性のコメントを解除して、形式パラメータを設定します。有効な形式パラメータについては、すべて jrun.xml ファイルにリストされています。パラメータを組み合わせて使用できます。何も指定されていない場合、JRun はデフォルトのアクセス形式を使用します。
  2. "filename" 属性に "event" などのハードコーディングされた値でなく、{log.level} が指定されていることを確認します。
<service class="jrunx.logger.LoggerService" name="LoggerService">
<attribute name="accessEnabled">true</attribute>
<attribute name="filename">{jrun.rootdir}/logs/{jrun.server.name}-{log.level}.log</attribute>

HTTP リクエストの詳細を含む、<サーバー>-access.log (たとえば、default-access.log) と呼ばれるログファイルが作成されます。

JRun および jrun-web.xml の <load-system-classes-first> 設定

jrun-web.xml 内のパラメータ <load-system-classes-first> は、Web Application 用にクラスをロードする場所を定義します。

この値が "true" の場合、システムのクラスパスが Web Application のクラスパスより優先します。

"false" の場合、クラスまたはリソースのロードに、最初ローカル Web Application のクラスパスが使用され、そこで見つからない場合は、システムのクラスパスが検索されます。

デフォルト値は "true" です。この設定はWeb Application がシステムのクラスパス (たとえば、jrun.jar 内)にあるクラス/リソースと同様のものを持っている場合、非常に便利です。

この設定が必要なシナリオの一つとして、ユーザーアプリケーションが Log4j を使う必要がある場合が考えられます。JRun は特定のバージョンの Log4j を Axis Web サービスに事前にバンドルしています。Web Application で異なるバージョンの Log4j が必要な場合は、 を "false" に設定します。

この領域で修正されたバグは次の 2 つです。

  • 51723 - Apache Log4J マルチ設定ファイル機能が、JRun4 では機能しない。
  • 59842 - jrun.jar は内部で Apache log4j/commons.logging を固定名で持っているため、ユーザーが独自に変更することができない。

その他のバグ修正

  • 46136 - ヘルパクラスの再コンパイル中に、jsp:useBean で ClassCastException が発生します。
  • 48334 - サーバーの起動直後にインクルードファイルが失敗し、ランダムエラーをスローすることがあります。一部のインクルードファイルでは、インクルード済みの html がページの間違った場所に表示されます。
  • 49197 - .jsp、.html、.txt 以外の拡張子を持つファイルを jsp ページに動的にインクルード (jsp:include) することはできません。スタティックインクルード (<@include>) は正常に動作します。
  • 49287 - <jsp:include> が jsp またはサーブレットをインクルードし、JSP または Servlet に RequestDispatcher.forward() がある場合、forward が壊れ何も返されません。JRun はエラーをスローしません。
  • 50364 - JRun4 jsp:forward タグを使用すると、ターゲットページが html ページの場合、ページコントロールのリフレッシュまたは POST アクションで、IllegalStateException が発生します。
  • 50436 - リクエストディスパッチャを使用して html ページをインクルードしようとすると、無効な状態例外がスローされます。jsp ページのインクルードは機能します。
  • 50471 - cgi.remote_host は、サーバー名の代わりに IP アドレスを返します(remote_address のみ IP を返します)。
  • 50959 - HttpServletResponse.setLocale を複数回呼び出すと、複数の Content-Language 行が HTTP ヘッダーに表示されます。
  • 53072 - JSP forward がサーブレットに転送され、サーブレットが出力ストリームを取得すると、JRun は無効な状態例外をスローします。
  • 54348 - response.setLocale() を呼び出すと、ヘッダーは正しく設定されません (Content-Type の文字セットを含む)。
  • 55876 - jsp:include をサーブレットに使用し、そのサーブレットが RequestDispatch.forward() を呼び出すと、java.lang.IllegalStateException が発生します。
  • 58765 - リクエストがサーブレットに転送され、そのサーブレットが response.getOutputStream を呼び出してからストリームを閉じると、JRun は ClosedIOExcpetion "Response has already been closed" エラーと IllegalStateException をスローします。ただし、コードは正常に終了します。
  • 59049 - サーブレットが SingleThreadModel を実装しない場合でも、JRun がサーブレットクラスの複数のインスタンスを作成します。init() の完了に時間がかかり過ぎる場合に発生します。
  • 59255 - request.setAttribute() メソッドが属性を受け入れ、"null" 値で属性を設定します。サーブレットの指定では、属性値が "null" の場合、属性を設定せず、既に存在している場合は、リクエストから属性を削除することを示します。
  • 59396 - 正常に存在していないサーブレットをリクエストすると、404 がスローされます。その後、サーブレットを要求された場所に配置し、Web Application の "reload" が true の場合、サーバーを再起動しない限り、サーブレットは提供されません。常に 404 が返されます。
  • 59729 - JRun4 のサーブレットマッピングがサーブレットの仕様に準拠せず、明示的なマッピングを暗黙的なマッピングより優先させることができません。
  • 59857 - キープアライブを有効にすると、JWS が応答を停止します。「JWS とキープアライブ」については、上記のメモを参照してください。
  • 59884 - J2EE/Servlet 2.3 仕様に従うと、Filter (javax.servlet.Filter を実装するクラス) が init() メソッドで Exception をスローした場合、フィルタを無効にしフィルタチェーンから削除する必要があります。JRun はフィルタチェーンからフィルタを削除しませんが、その時点ではフィルタが正しく初期化されておらず、機能しません。
  • 60167 - lastAccessTime が HTTP セッション用に正しく設定されません。
  • 60464 - JSP で依存クラスを変更すると、Class Cast Exception がスローされます。
  • 60573 - JRun は、Sun JDK の javac を使用して jsp から呼び出すと、java ファイルをコンパイルしません。
  • 60574 - JRun は、コンパイラに関する決定を行う際、jvm.config 内の "java.home" 設定を優先しません。
  • 60375 - MySQL データベースでは、JDBC セッションの持続性が失敗します。

コネクションプーリング

  • 52855- JDBC コネクションをスタンドアロンクライアントから使用すると、正しく割り当てられません。クライアントコード内の複数の開いたコネクションには、同じ物理コネクションが関連付けられます。2 つのコネクションが開いていて最初のコネクションを閉じると、2 番目のコネクションを閉じようとしながら、"Connection Closed" 例外がスローされます。

EJB

  • 53355 - 1.1 CMP の ejbStore の前にデータベースの更新が行われます(SQL Server で確認されています)。

その他

JRun Windows サービスと OS のシャットダウン/再起動

  • 56758 - Windows マシンの再起動時に、JRun Windows サービス (jrunsvc.exe) build 80735 で JRun が安全に停止しません。

シャットダウン通知は、現在正しく処理されます。

メモ : JRun サーバーのシャットダウンに長時間かかるシステムでは、Windows 独自のサービスタイムアウトメカニズムが JRun プロセスを中断します。この場合、ユーザーは次のレジストリキーの WaitToKillServiceTimeout 値を変更することで、Windows サービスの時間制限を変更できます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

デフォルト値は 20 秒です。この値を変更すると、システムのシャットダウンと再起動のパフォーマンスに影響を与える可能性があります。

その他のバグ修正

  • 54079 - Windows上で JRun の JVM としてIBM 1.4.1を使ったときサーバーの開始ができない。
  • 57058 - サーバーが、測定データの metrics.log と標準出力への書き込みを停止することがあります。

    SchedulerService に新しい属性が追加されています。
    <service class="jrunx.scheduler.SchedulerService" name="SchedulerService">
    <attribute name="bindToJNDI">true</attribute>
    <!-- This is the time after which the scheduler service should try
    to reschedule any tasks due to non availability of Active Handler
    Threads.The default value is 60 seconds -->
    <attribute name="droppedTaskRescheduleTime">[time in seconds] </attribute>
    </service>
    SchedulerService の "maxHandlerThreads" を "activeHandlerThreads" 以上にすることはできません。高負荷時に SchedulerService によって生成されたスレッドは、アイドル時に停止されないためです。これらのアイドルなスレッドはシステムリソースを消費します。
  • 58303 - admin は、RedHat EL 3.0 または 2.1 上にリモート JRun サーバーを登録できますが、サーバー情報を取得することはできません。これらのリモートサーバーのステータスは、/etc/hosts ファイルが正しく設定されていない場合、"not running" となります。この問題を解決する方法は 2 つあります。
    1. /etc/hosts ファイルに次のエントリがあることを確認します。

      127.0.0.1 localhost.localdomain localhost
      <IP> <hostname>

      メモ : <IP> はサーバーマシンの IP で、<hostname> はサーバーマシンのホスト名で置き換えてください。
    2. (1) で問題が解決されない場合、次の操作を実行します。

      次の引数を jvm.config ファイルに追加します。

      java.args=
      -Xms32m -Xmx128m -Dsun.io.useCanonCaches=false
      -Djava.rmi.server.hostname=<hostname/IP>
      次に、jvm.config ファイルに指定されている "hostname" または "IP" を使用して、リモートサーバーを登録します。
  • 59885 - jvm.config の java.args 引数を wsconfig (-start、-ntservice 引数なしで使用されている) で使用すると、ランチャーが java.args 引数を削除します。
  • 59886 - JRun のロールベース承認は、プライマリドメインでしか機能しません。ローカルドメインを使用した承認のサポートが追加されました。