旧バージョンからの仕様変更について説明します。
表12-3 アプリケーションサーバ Version 6からの仕様変更
(凡例) ○:仕様変更あり -:該当しない
表12-4 アプリケーションサーバ Version 7からの仕様変更
(凡例) ○:仕様変更あり -:該当しない
表12-5 アプリケーションサーバ Version 8からの仕様変更
(凡例) ○:仕様変更あり -:該当しない
次に仕様変更の項目の詳細について説明します。なお,表の「仕様変更の項目」の項番は,説明の項番と対応しています。
07-00以降で使用されているJ2SE 5.0は,07-00より前のJ2SE 1.4.2と異なる部分があります。J2EEアプリケーションのコンパイル時に,今までコンパイルできたJava言語仕様に違反する構文がエラーになることがあります。詳細については,J2SEのドキュメントを参照してください。
07-00以降では,07-00より前まで提供していたTPBrokerの運用支援機能は使用できません。システムの各プロセスを一括起動,停止,および監視する場合には,Management Serverを使用してください。Management Serverを使用する場合には,Smart Composer機能や運用管理ポータルでシステムを構築してください。
06-50以降では,障害検知時のsnapshotログの収集タイミングが変更されます。06-50より前までは,障害を検知したJ2EEサーバを停止後,snapshotログを収集していました。06-50以降では,障害を検知したときに,障害検知時コマンドによってsnapshotログを収集し,その後論理サーバを停止します。これによって,障害発生時のタイムリーなログが取得できるようになります。
06-50以降では,運用管理エージェント停止時の動作が変更されます。06-50より前までは,論理サーバを停止しないで運用管理エージェントを終了すると,稼働中の論理サーバを強制停止していました。06-50以降では,論理サーバを停止しないで運用管理エージェントを終了しても,稼働中の論理サーバはそのまま動作を続けます。運用管理エージェントを再起動することで,稼働中の論理サーバについての情報を引き継ぎ,論理サーバの管理を継続できます。運用管理エージェントを停止するときに論理サーバも停止させていた場合は,運用管理エージェントを停止する前に,その運用管理エージェントの稼働しているホスト上の論理サーバをすべて停止するように運用の手順を変更してください。
06-71まではManagement Server用にネーミングサービスを起動していましたが,07-00以降は,J2EEサーバのプロセス内で起動するRMIレジストリを利用します。このため,Management Server用のネーミングサービスが起動不要になりました。Management Serverのほかに論理ネーミングサービスを使用しているプロセスがない場合には,その論理ネーミングサービスを削除してください。また,Management Server用のネーミングサービスが起動不要になることで,ネーミングサービスのホストとポート番号なども設定不要になります。設定の変更方法については,「12.1.10(3) Management Server用のネーミングサービスの設定変更」を参照してください。
06-71までは,Management Serverの運用管理ポータルで,論理サーバとして旧バージョン互換用のWebサーバを新規作成できました。07-00以降では,旧バージョン互換用のWebサーバは使用できますが,新規作成はできません。
なお,旧バージョン互換用のWebサーバを使用していた場合には,現バージョンのWebサーバへの移行をお勧めします。運用管理ポータルの「論理サーバの環境設定」のWebサーバ環境のセットアップで,現バージョンへ移行できます。Webサーバ環境のセットアップについては,マニュアル「Cosminexus アプリケーションサーバ 運用管理ポータル操作ガイド」の「10.10.5 Webサーバ環境のセットアップ」を参照してください。
J2EEサーバの動作モードが変更されて,06-71までの「アドバンスドモード」と「スタンダードモード」は,07-00以降は「1.4モード」となります。
06-71までの動作モード | 07-00以降の動作モード |
---|---|
アドバンスドモード(1.3advanced) スタンダードモード(1.3standard) | 1.4モード(1.4) |
ベーシックモード(1.3basic) | ベーシックモード(1.3basic) |
括弧内の文字列は,usrconf.propertiesのejbserver.server.j2ee.featureキーの値です。
07-00より前から08-00以降へ移行する場合,07-00より前でejbserver.server.j2ee.feature=1.3standard,または,ejbserver.server.j2ee.feature=1.3advancedを指定していたときは,J2EEサーバの移行コマンドが自動的にejbserver.server.j2ee.feature=1.4に変更します。
06-50より前では,J2EEサーバは,Java HotSpot(TM) Client VM上で動作していました。06-50以降,J2EEサーバは,Java HotSpot(TM) Server VM上で動作します。ただし,AIXおよびSolarisではJava HotSpot(TM) Server VMは未サポートです。
Java HotSpot(TM) Server VMでは,Java HotSpot(TM) Client VMと比較して,J2EEアプリケーションまたはバッチアプリケーションの実行性能が向上する場合がありますが,J2EEサーバ,J2EEアプリケーション,バッチサーバ,またはバッチアプリケーションを開始するときの起動性能が劣化する場合もあります。
07-00以降では,Management Serverと連携するかどうかを設定するusrconf.propertiesのejbserver.instrumentation.enabledキーのデフォルト値がfalseからtrueに変更となります。
なお,ejbserver.instrumentation.enabledキーの指定がない場合,J2EEサーバの移行コマンドが自動的にejbserver.instrumentation.enabled=falseを追加します。
07-00以降では,J2EEサーバは,J2SE 5.0のJava言語仕様に従ってJSPから生成されたサーブレットのソースファイルをコンパイルします。
06-70より前までは,リクエスト処理時に発生したエラーをカスタマイズしない場合に出力されるデフォルトのエラーページに,製品名が出力されていましたが,06-70以降では製品名が出力されません。
07-00以降では,デフォルトパッケージにEnterprise Beanクラスを作成する場合,次に示す文字列で終わるクラスを作成しないでください。
06-50以降と06-50より前では,コネクションの共有機能の有効範囲が異なります。有効範囲がJ2EEコンポーネント内の場合は,サーブレット,JSP,Enterprise Beanなどの同一コンポーネントだけでコネクションが共有されます。有効範囲がJ2EEコンポーネントをわたる場合は,J2EEコンポーネント間でローカル呼び出しした場合,呼び出された複数のJ2EEコンポーネントにわたってコネクションが共有されます。
06-50以降,ローカルトランザクション内でのコネクションシェアリングが複数のJ2EEコンポーネントにわたって有効となります。06-50より前では,ローカルトランザクション内でのコネクションシェアリングは,J2EEコンポーネント内だけで有効で,J2EEコンポーネントをわたった場合はコネクションアソシエーションが有効でした。
また,06-50以降,グローバルトランザクション内でコネクションシェアリングが複数のJ2EEコンポーネントにわたって有効となります。06-50より前では,トランザクション内でのコネクションシェアリングはJ2EEコンポーネント内だけで有効で,J2EEコンポーネントをわたった場合はコネクションアソシエーションが有効でした。ただし,コネクションアソシエーションが有効になるのは,ejbserver.connectionpool.xatx.association=trueが指定された場合に限ります。
コネクションの共有機能については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.3 コネクションシェアリング・アソシエーション」を参照してください。
06-50以降,コネクションアソシエーションを有効にするプロパティがローカルトランザクションとグローバルトランザクションで統一されたので,ユーザプロパティファイルにはejbserver.connectionpool.association.enabledキーを指定します。06-50より前では,コネクションアソシエーションはローカルトランザクションの場合は常に有効で,グローバルトランザクションの場合はejbserver.connectionpool.xatx.association.enabledキーで有効/無効の切り替えができました。
06-50より前で,ユーザプロパティファイルにejbserver.connectionpool.xatx.association.enabled=trueを指定していた場合は,J2EEサーバの移行コマンドがejbserver.connectionpool.association.enabled=trueに自動的に変換します。変換後に取得したConnector属性ファイルと旧バージョンでのプロパティの対応関係を次に示します。
旧バージョンでの条件 | 変換後のユーザプロパティ |
---|---|
ejbserver.connectionpool.xatx.association.enabled=trueの指定がある場合 | ejbserver.connectionpool.association.enabled=true |
コネクションの共有機能については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.3 コネクションシェアリング・アソシエーション」を参照してください。
06-50以降,J2EEサーバのコネクションプーリングでのコネクションスイーパの監視時間,および監視間隔をリソースアダプタ単位に設定できます。06-50より前では,ユーザプロパティファイルにejbserver.connectionpool.connection.timeout,およびejbserver.connectionpool.sweeper.intervalキーを指定することで,それぞれ監視時間,および監視間隔をJ2EEサーバ単位に設定していました。06-50以降,Connector属性ファイルの<property>タグで,ConnectionTimeout,またはSweeperIntervalに指定します。
06-50より前で,監視時間と監視間隔をそれぞれejbserver.connectionpool.connection.timeout,およびejbserver.connectionpool.sweeper.intervalキーに指定していた場合は,J2EEサーバの移行コマンドが自動的に変換します。旧バージョンでのプロパティと,変換後にcjgetrarpropコマンドで取得したConnector属性ファイルの値の対応関係は次のとおりです。
旧バージョンでの条件 | 変換後のConnector属性ファイルの値 |
---|---|
ejbserver.connectionpool.connection.timeoutに値が指定されている場合 |
|
ejbserver.connectionpool.sweeper.intervalに値が指定されている場合 |
|
コネクションスイーパについては,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.15.7 コネクションスイーパ」を参照してください。
07-00以降では,J2EEサーバのコネクションプールのウォーミングアップを有効にするかどうかをリソースアダプタ単位に設定します。
07-00より前では,usrconf.propertiesにejbserver.connectionpool.warmupキーを指定してJ2EEサーバ単位に設定していました。07-00以降は,Connector属性ファイルの<property>タグで,Warmupを設定します。
ejbserver.connectionpool.warmupキーからConnector属性ファイルの<property>タグへの設定変更は,J2EEサーバの移行コマンドが自動的に移行します。
07-00以降では,J2EEサーバのコネクションの障害検知のタイムアウト,およびネットワーク障害のタイムアウトをリソースアダプタ単位に設定します。
07-00より前では,usrconf.propertiesにejbserver.connectionpool.validation.timeout.enabledキー,およびejbserver.connectionpool.NetworkFailureTimeout.enabledキーを指定してJ2EEサーバ単位に設定していました。07-00以降は,Connector属性ファイルの<property>タグで,NetworkFailureTimeoutを設定します。
ejbserver.connectionpool.validation.timeout.enabledキー,およびejbserver.connectionpool.NetworkFailureTimeout.enabledキーからConnector属性ファイルの<property>タグへの設定変更は,J2EEサーバの移行コマンドが自動的に移行します。
07-00以降,Webコンテナによるコネクションの自動クローズ機能は,デフォルトで有効となり,usrconf.propertiesに次のキーが設定されます。
ejbserver.webj2ee.connectionAutoClose.enabled=true
J2EEサーバの移行コマンドを使用して移行する場合には,旧バージョンでの設定値が有効になります。
07-00以降では,usrconf.propertiesのキーで指定していたリソースアダプタのログのサイズと面数のデフォルト値が次のように変更されます。
アップグレードインストールの場合には,旧バージョンでの設定値が有効になります。
07-00以降,リソースアダプタのプロパティを定義する,Connector属性ファイルのデフォルト値が変更されます。
07-00以降では,ログファイルの出力ディレクトリ構成が変更になり,保守用ログの出力先ディレクトリ構成が変更されました。
07-00より前から08-00以降へ移行する場合は,J2EEサーバの移行コマンドが自動的にejb.server.log.mode=6を設定するため,07-00より前のログファイルの出力ディレクトリ構成で保守用ログが出力されます。
06-50以降,1.4モード(06-71までのスタンダードモード,アドバンスドモード)のJ2EEサーバのデータソースが廃止になり,DB Connectorだけが利用できるようになりました。そのため,データソースを使用していた場合は,操作手順,運用手順が変更になります。なお,ベーシックモードでは引き続きデータソースだけが利用できます。
06-50より前で,データソースを使用していた場合,J2EEサーバの移行コマンドがデータソースをDB Connectorへ変換します。変換後にコマンドで取得したConnector属性ファイルと旧バージョンでコマンドを使用して取得したデータソース属性ファイルの対応関係を表に示します。表12-6から表12-8は,変換後にcjgetrarpropコマンドで取得したConnector属性ファイルの値を示します。表12-6から表12-8の「値」の列の括弧付きの数字は,表12-9または表12-10の括弧付きの数字に指定されていた値が設定されることを意味します。「デフォルト」はデフォルト値が設定されることを意味します。
表12-6 変換後にcjgetrarpropコマンドを使用して取得したConnector属性ファイル
タグ名 | 値 | |||
---|---|---|---|---|
<hitachi-connector-property> | - | |||
<description> | 表12-9の(1) | |||
<display-name> | 表12-9の(2) | |||
<icon> | - | |||
<small-icon> | デフォルト | |||
<large-icon> | デフォルト | |||
<vender-name> | デフォルト | |||
<spec-version> | デフォルト | |||
<eis-type> | デフォルト | |||
<version> | デフォルト | |||
<license> | - | |||
<license-required> | デフォルト | |||
<resourceadapter> | - | |||
<managedconnectionfactory-class> | デフォルト | |||
<connectionfactory-interface> | デフォルト | |||
<connectionfactory-impl-class> | デフォルト | |||
<connection-interface> | デフォルト | |||
<connection-impl-class> | デフォルト | |||
<transaction-support> | デフォルト | |||
<config-property> | - | |||
<description> | デフォルト | |||
<config-property-name> | 指定されるプロパティについては表12-7参照 | |||
<config-property-type> | デフォルト | |||
<config-property-value> | 指定される値については表12-7参照 | |||
<reauthentication-support> | - | |||
<security-permission> | - | |||
<description> | デフォルト | |||
<security-permission-spec> | デフォルト | |||
<runtime> | - | |||
<property> | - | |||
<property-name> | 指定されるプロパティについては表12-8参照 | |||
<property-type> | デフォルト | |||
<property-value> | 指定される値については表12-8参照 | |||
<property-default-value> | デフォルト |
(凡例)-:該当しない
表12-7 Connector属性ファイルの<config-property>タグに指定されるプロパティと値
<config-property-name>タグに指定されるプロパティ | <config-property-value>タグに指定される値 |
---|---|
loginTimeout | 表12-10の(12) |
networkProtocol | 表12-10の(13) |
serverName | 表12-10の(14) |
portNumber | 表12-10の(15) |
databaseName | 表12-10の(16) |
description | 表12-10の(17) |
DBHostName | 表12-10の(18) |
DBEnv | 表12-10の(19) |
encodLang | 表12-10の(20) |
JDBC_IF_TRC | 表12-10の(21) |
SV_EVENT_TRC | 表12-10の(22) |
TRC_NO | 表12-10の(23) |
uapName | 表12-10の(24) |
bufSize | 表12-10の(25) |
rowSize | 表12-10の(26) |
OSAuthorize | 表12-10の(27) |
HiRDBCursorMode | 表12-10の(28) |
blockUpdate | 表12-10の(29) |
executeDirectMode | 表12-10の(30) |
SQLWarningIgnore | 表12-10の(31) |
LONGVARBINARY_Access | 表12-10の(32) |
XAOpenString | 表12-10の(33) |
XACloseString | 表12-10の(34) |
RMID | 表12-10の(35) |
XAThreadMode | 表12-10の(36) |
XALocalCommitMode | 表12-10の(37) |
PreparedStatementPoolSize | 0 |
CallableStatementPoolSize | 0 |
CancelStatement | false |
logLevel | デフォルト |
表12-8 Connector属性ファイルの<property>タグに指定されるプロパティと値
<property-name>タグに指定されるプロパティ | <property-value>タグに指定される値 |
---|---|
MinPoolSize | 表12-9の(3) |
MaxPoolSize | 表12-9の(4) |
LogEnabled | デフォルト |
User | 表12-10の(38) |
Password | 表12-10の(39) |
ValidationType | デフォルト |
ValidationInterval | デフォルト |
RetryCount | 表12-9の(10) |
RetryInterval | 表12-9の(11) |
ConnectionTimeout | ejbserver.connectionpool.connection.timeoutに値が指定されている場合はその値。指定されていない場合はデフォルト。 |
SweeperInterval | ejbserver.connectionpool.sweeper.intervalに値が指定されている場合はその値。指定されていない場合はデフォルト。 |
RequestQueueEnable | false |
RequestQueueTimeout | デフォルト |
WatchEnabled | デフォルト |
WatchInterval | デフォルト |
WatchThreshold | デフォルト |
WatchWriteFileEnabled | デフォルト |
表12-9 旧バージョンでcjgetrespropコマンドによって取得したデータソース属性ファイル
タグ名 | 項目番号 | ||
---|---|---|---|
<hitachi-datasource-property> | - | ||
<description> | (1) | ||
<display-name> | (2) | ||
<property> | - | ||
<name> | 指定されるプロパティについては表12-10参照 | ||
<XADataSource> | 指定される値については表12-10参照 | ||
<PoolConfiguration> | - | ||
<MinimumSize> | (3) | ||
<MaximumSize> | (4) | ||
<Threshold> | (5) | ||
<GrowthIncrement> | (6) | ||
<WaitTimeout> | (7) | ||
<ConnectionTimeout> | (8) | ||
<SweeperInterval> | (9) | ||
<RetryCount> | (10) | ||
<RetryInterval> | (11) |
(凡例)-:該当しない
表12-10 データソース属性ファイルの<property>タグに指定されるプロパティ
<name>タグに指定されるプロパティ | <XADataSource>タグに指定される値 |
---|---|
LoginTimeout | (12) |
NetworkProtocol | (13) |
ServerName | (14) |
PortNumber | (15) |
DatabaseName | (16) |
Description | (17) |
DBHostName | (18) |
DBEnv | (19) |
EncodLang | (20) |
JDBC_IF_TRC | (21) |
SV_EVENT_TRC | (22) |
TRC_NO | (23) |
UapName | (24) |
BufSize | (25) |
RowSize | (26) |
OSAuthorize | (27) |
HiRDBCursorMode | (28) |
BlockUpdate | (29) |
ExecuteDirectMode | (30) |
SQLWarningIgnore | (31) |
LONGVARBINARY_Access | (32) |
XAOpenString | (33) |
XACloseString | (34) |
RMID | (35) |
XAThreadMode | (36) |
XALocalCommitMode | (37) |
User | (38) |
Password | (39) |
なお,移行コマンドでデータソースからDB Connectorへ変換するときに,すでに同一表示名称(display-name)のDB Connector,またはリソースアダプタが存在した場合には,表示名称の最後に連番を付与し,表示名称を一意にします。DB Connectorによる接続については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.6.1 DB Connectorによる接続の概要」を参照してください。
07-00以降では,07-00より前まで提供していたNaming Manager機能(別名付与とクラスタ化)は使用できません。この機能を使用していた場合は,次に示す機能を使用するように変更してください。
07-00以降と07-00より前では,複数のカスタムタグで,スクリプト変数名とスクリプト変数のスコープが重複した場合に,JSPファイルのコンパイル結果が異なります。
07-00以降と07-00より前では,<jsp:useBean>タグのclass属性に対して,インスタンス化できないクラス名を指定した場合に,JSPファイルのコンパイル結果が異なります。
07-00以降と07-00より前では,Expressionが指定可能な属性以外にExpressionを指定したタグを含むJSPファイルの場合に,コンパイル結果が異なります。
07-00以降と07-00より前では,タグの属性値が,「"<%=」または「'<%=」で開始して,「%>"」または「%>'」で終了していない場合(例えば,「%>」と「"」または「'」の間に,任意の文字列があるような場合)に,JSPファイルのコンパイル結果が異なります。
07-00以降と07-00より前では,taglibディレクティブの前に,taglibディレクティブで指定したprefixを使用したカスタムタグを記述している場合に,JSPファイルのコンパイル結果が異なります。
07-00以降,JSP仕様では"$"が予約語になっています。
JSPファイル内に"¥$"と記述した場合は,エスケープシーケンスによって"$"と出力されます。"¥$"と出力したい場合には,"¥¥$"と記述してください。
Servlet APIでは,WebコンテナがサポートするServlet仕様のバージョン情報を取得できます。バージョン情報を取得できるServlet APIを次に示します。
08-00以降では,WebアプリケーションのバージョンがServlet 2.4/JSP 2.0以前であっても,WebコンテナがサポートするServlet仕様のバージョンはServlet2.5/JSP2.1となります。このため,これらのServlet APIでは,Servlet仕様のバージョン情報としてServeServlet 2.5/JSP 2.1の情報を返します。
07-50以降では,Cosminexus RM連携用のリソースアダプタ(DB Connector for Cosminexus RM)で,ステートメントキャンセル機能がデフォルトで有効になります。次に示すRARファイルのConnector属性ファイルの<config-property>タグに,「CancelStatement=true」が追加されます。
なお,07-10以前から移行する場合は,「CancelStatement=false」が設定されます。
07-60以降,リソース枯渇監視機能のメモリ枯渇監視情報として出力されるRate2の値の計算式が変更になります。
サーブレットのデフォルトマッピングはデフォルトで無効になります。
usrconf.propertiesのwebserver.container.servlet.default_mapping.enabledキーで「true」を指定すると,サーブレットのデフォルトマッピングは有効になります。
アップグレードインストールをした場合,すでにセットアップされているJ2EEサーバには,サーブレットのデフォルトマッピングを有効にする設定(webserver.container.servlet.default_mapping.enabled=true)が自動的に設定されます。
javax.servlet.GenericServletクラスがインスタンス変数として保持するServletConfigがnullの場合,次に示すメソッドによってスローされる例外がバージョンごとに異なります。
これらのメソッドによってスローされる例外をバージョンごとに次に示します。
また,例外のメッセージとして「ServletConfig has not been initialized.」が出力されます。
これらの例外は,次の二つの条件を両方満たす場合にスローされます。
getReaderメソッドを呼び出したあとのsetCharacterEncodingメソッドの呼び出しは無視されるようになりました。次に示す値はgetReaderメソッドを呼び出しても変更されません。
javax.servlet.GenericServletクラスがインスタンス変数で持つServletConfigがnullの場合,次のメソッドでログが出力されなくなりました。
javax.servlet.jsp.tagext.TagInfoクラスの次に示す定数の値が,すべて大文字から小文字へ変更になります。
次に示すクラスのメソッドが総称を使用した定義になります。
これらのクラスに関連するクラスは,コンパイル時に警告メッセージが出力される場合があります。
なお,動作は08-00より前と変わらないため,クラスの再コンパイルは必要ありません。
javax.servlet.jsp.elパッケージの次に示すクラスが非推奨となります。
なお,これらのAPIを使用した場合の動作は08-00より前と変わりません。
08-00以降では,ライブラリJARに含まれるTLDファイルを検索し,ライブラリJAR内のタグライブラリが使用できるようになります。ライブラリJARにTLDファイルが含まれる場合,07-60以前では使用できなかったTLDファイルが使用できるようになるため,次の現象が発生します。
J2EEサーバでは,J2EEアプリケーションやリソースなどに設定された表示名(DDの<display-name>タグの値)を識別子として使用します。表示名に半角英数字(0~9,A~Z,a~z)以外の文字が含まれていた場合は,その文字をアンダースコア(_)に変換して識別子を生成します。設定値によっては,変換処理で生成された識別子が重複して操作に失敗することがあります。
08-00以降では,明示管理ヒープ機能がデフォルトで有効となります。明示管理ヒープ機能で使用するExplicitヒープの分,システム全体のメモリ使用量が増加します。Explicitヒープのメモリサイズを見積もって,チューニングを実施してください。
なお,07-60以前から08-00以降へ移行するサーバの場合,明示管理ヒープ機能は無効(add.jvm.arg=-XX:-HitachiUseExplicitMemory)となります。
また,明示管理ヒープ機能では,オブジェクトをExplicitメモリブロックにコピーガーベージコレクションのタイミングで移動する処理の中で,オブジェクトの最大年齢(-XX:MaxTenuringThreshold)の値を特殊な値として扱います。これに伴い,通常の年齢管理に利用できる値が1減り,オブジェクトが昇格するタイミングが早まるおそれがあります。
なお,この制限は,明示管理ヒープ機能を無効(add.jvm.arg=-XX:-HitachiUseExplicitMemory)にした場合にも該当します。
各バージョンのオブジェクトの最大年齢(-XX:MaxTenuringThreshold)を次の表に示します。
表12-11 各バージョンのオブジェクトの最大年齢(-XX:MaxTenuringThreshold)
OS | 06-71まで | 07-00~07-20 | 07-50~07-60 | 08-00~08-50 | 08-53以降 |
---|---|---|---|---|---|
Windows | 31 | 31 | 15 | 14 | 14 |
Linux(x86) | 31 | 31 | 31 | 30 | 14 |
Linux(AMD64 & Intel EM64T) | 31 | 15 | 15 | 14 | 14 |
Linux(IPF) | 31 | 15 | 15 | 14 | 14 |
HP-UX(IPF) | 31 | 31 | 31 | 30 | 30 |
AIX | 31 | 31 | 31 | 30 | 30 |
Solaris | 31 | 31 | 31 | 30 | 30 |
Webアプリケーション内でHTTPセッションを無効化すると,Webクライアントが保持するセッションIDを示すHTTP Cookie情報に対する動作が異なります。
usrconf.propertiesのwebserver.session.delete_cookie.backcompatキーで「true」を指定すると,08-00より前と同じ動作になります。
アップグレードインストールをした場合,すでにセットアップされているJ2EEサーバには,Webクライアントの保持するHTTP Cookie情報を削除しない設定(webserver.session.delete_cookie.backcompat=true)が自動的に設定されます。
08-00以降では,すべてのプラットフォームに共通して,JavaVM起動オプションの「-XX:SurvivorRatio=<value>」の<value>のデフォルト値が8になります。
08-00以降では,SOAPアプリケーション開発支援機能/SOAP通信基盤を使用する場合は,J2EEサーバ用オプション定義ファイル(usrconf.cfg)に「add.class.path=<Cosminexusのインストールディレクトリ>¥c4web¥lib¥hitsaaj.jar」の設定が必要になります。
なお,08-00よりも前のバージョンから08-00以降のバージョンに移行する場合は,J2EEサーバの移行コマンドが自動的に設定します。
07-10以降では,インターセプタに関連する次のクラスのパッケージが,javax.ejbからjavax.interceptorに変更になります。
07-10以降では,インターセプタに関連するInvocationContextに変更があります。変更点を次に示します。
07-10以降では,アノテーションの指定方法に変更があります。変更点を次に示します。
07-10以降,Session Bean属性ファイルおよびEJB-JAR属性ファイルの,次に示すタグ名に変更があります。変更点を次の表に示します。
表12-12 Session Bean属性ファイルおよびEJB-JAR属性ファイルのタグ名の変更
07-00でのタグ名 | 07-10以降でのタグ名 |
---|---|
<around-invoke-method> <method-name> <method-params> | <around-invoke> <class> <method-name> |
<post-construct-method> <method-name> <method-params> | <post-construct> <lifecycle-callback-class> <lifecycle-callback-method> |
<pre-destroy-method> <method-name> <method-params> | <pre-destroy> <lifecycle-callback-class> <lifecycle-callback-method> |
<post-activate-method> <method-name> <method-params> | <post-activate> <lifecycle-callback-class> <lifecycle-callback-method> |
<pre-passivate-method> <method-name> <method-params> | <pre-passivate> <lifecycle-callback-class> <lifecycle-callback-method> |
07-10以降,J2EEアプリケーションのリロード機能適用範囲を設定する,usrconf.propertiesのejbserver.deploy.context.reload_scopeキーのデフォルト値が変更になります。07-00では,デフォルト値は「none」でしたが,07-10以降は「app」に変更になります。
なお,移行コマンドを使用して07-00以前から移行する場合は,既定値が有効になります。
07-50以前では,異なるJ2EEアプリケーションに含まれるリソースアダプタであっても,すでに別のオブジェクトが使用している別名は指定できませんでした。
07-60以降では,異なるJ2EEアプリケーションに含まるリソースアダプタの場合に,すでに同じ名称が指定されている別名でも指定できます。
08-00以降では,cjjspcコマンドでのJSPコンパイル時,-classpathオプションでクラスパスに指定したJARファイル内のTLDファイルを検索し,JARファイル内のタグライブラリが使用できるようになります。クラスパスに指定したJARファイルにTLDファイルが含まれる場合,07-60以前では使用できなかったTLDファイルが使用できるため,次の現象が発生します。
08-00より前では,次の操作でのアノテーション情報取得処理中に,クラスのロードで例外が発生した場合,エラーとなって処理を中断していました。
08-00以降では,クラスのロードで例外が発生しても例外ログを取得したあと,処理を続行します。
usrconf.propertiesのejbserver.deploy.annotations.load_check.enabledキーで「true」を指定すると,08-00より前と同じ動作となります。
08-00以降,バッチサーバでスケジューリング機能を使用するかどうかを選択できるようになりました。スケジューリング機能を使用する場合には,usrconf.propertiesのejbserver.ctm.enabledキーで「true」を指定してください。なお,バッチサーバの場合,ejbserver.ctm.enabledキーのデフォルト値は,CTMを使用できる製品のときでも「false」(スケジューリング機能を使用できない設定)となります。
06-50以降では,排他制御によるサーバ管理コマンドの同時実行制御は,J2EEサーバごとに行います。また,サーバ管理コマンドを,処理内容に応じて「更新」,「参照」,「特権」と三つの系統に分別し,系統ごとに排他制御します。06-50より前では,排他制御によるサーバ管理コマンドの同時実行制御は,CORBAネーミングサービスごとに行っていました。
06-50より前では,サーバ管理コマンドは,CORBAネーミングサービスごとに同時に一つしか実行できなかったため,同じJ2EEサーバに対してサーバ管理コマンドを同時に実行すると一方のサーバ管理コマンドはエラー終了していました。また,複数のJ2EEサーバを同じCORBAネーミングサービスで管理し,異なるJ2EEサーバに対してサーバ管理コマンドを同時に実行する場合でも,一方のサーバ管理コマンドはエラー終了していました。06-50以降では,同じJ2EEサーバ上で系統が異なるサーバ管理コマンドを同時に実行できます。
同系統のサーバ管理コマンドを同時に実行した場合,あとに実行したサーバ管理コマンドは,最初に実行したサーバ管理コマンドの終了を待ちます。また,同じCORBAネーミングサービスが複数のJ2EEサーバを管理する場合,異なるJ2EEサーバに対してサーバ管理コマンドを同時に実行できます。コマンドの分類については,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「1.1 コマンドの種類」を参照してください。また,サーバ管理コマンドの実行と排他制御については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション設定操作ガイド」の「3.2 サーバ管理コマンドの排他制御」を参照してください。
06-50より前では,サーバ管理コマンドがエラーなどによって不正終了し,排他制御のロックが解除されないで不正な状態になった場合,cjresetsvコマンドを実行してロックを強制解除する必要があります。06-50以降では,J2EEサーバとサーバ管理コマンド間の通信間隔の時間を監視し,排他制御のためのロックを強制解除します(J2EEサーバとサーバ管理コマンドは複数回通信します)。これによって,サーバ管理コマンドが処理の途中に不正終了した場合でも,時間監視によってロックが強制解除されます。ただし,時間監視によってロックが強制解除されたあと,サーバ管理コマンドがJ2EEサーバと通信した場合,コマンドはエラー終了します。このような場合には,時間監視によるロック強制解除のタイムアウト値を変更したあとに,サーバ管理コマンドを再実行してください。usrconf.propertiesのejbserver.deploy.exclusive.lockAliveIntervalキーに値を指定することで,タイムアウト値を変更できます。キーの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
06-50より前では,cjresetsvコマンドのオプションにCORBAネーミングサービスを指定し,排他制御のロックを強制解除していました。06-50以降では,cjresetsvコマンドのオプションにJ2EEサーバを指定し,排他制御のロックを強制解除します。コマンドの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjresetsv(サーバ管理コマンドの排他強制解除)」を参照してください。
06-50以降では,サーバ管理コマンドとJ2EEサーバ間の通信は時間監視され,デフォルトのタイムアウト値は,180(秒)です。06-50より前では,時間監視されません。
cjreplaceappコマンドを使用してリデプロイを実施する際に,入れ替え前のJ2EEアプリケーションの情報を,入れ替え後のJ2EEアプリケーションに引き継ぎますが,アプリケーションサーバのバージョンによって引き継ぐ情報が異なります。
06-70より前のバージョンでは,J2EEアプリケーションのランタイム属性※だけを引き継ぎます。06-70以降のバージョンでは,デフォルトでは,J2EEアプリケーションのすべての属性情報を引き継ぎます。06-70より前のバージョンと同じように,ランタイム属性だけを引き継ぎたい場合は,オプションを指定してcjreplaceappコマンドを実行します。コマンドの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjreplaceapp(アプリケーションの入れ替え)」を参照してください。
07-00以降,サーバ管理コマンドのログファイルの出力方法が変更されます。07-00より前までは,コマンドのプロセスごとにログファイルを生成してログを出力しましたが,07-00以降では,コマンドの複数プロセスで共通のログファイルにログを出力します。
07-00より前から08-00以降へ移行する場合,J2EEサーバの移行コマンドが自動的にejbserver.cui.logfile.compatible=trueを設定するため,07-00より前のログファイルの出力方法でログが出力されます。
07-00以降,次の属性ファイルで,<icon>タグの下位に,<small-icon>タグと<large-icon>タグが出力されるようになりました。
07-00より前までJ2EEアプリケーションやリソースの設定で使用されていたサーバマネジャ(cjadminsvコマンド)とユーザマネジャ(cjadminusrコマンド)は,07-00以降は使用できません。
J2EEアプリケーションやリソースを設定する場合には,サーバ管理コマンドを使用してください。
07-00以降,次の属性ファイルで,<description>,<display-name>,および<icon>タグにxml:lang属性が出力されるようになりました。xml:lang属性のデフォルト値は「en」です。なお,バージョンによって,xml:lang属性が出力される属性ファイルが異なります。
07-10以降では,cjgetrespropコマンドまたはcjgetrarpropコマンドでのConnector属性ファイル取得時に,Connector属性ファイルの<property-name>タグの値として「User」または「Password」が設定されている場合,これらのタグに対応する<property-value>タグの値は,セキュリティ上の理由で表示されなくなりました。<property-name>タグの値として「User」または「Password」が設定されているタグの,<property-value>タグの値を変更する場合は,<property-value>タグを追加して変更後の値を設定してください。
07-10以降,メール属性ファイルの<reply-to>タグは削除されました。<reply-to>タグは指定できません。
07-50以降では,cjgetrespropコマンド,cjgetrarpropコマンド,またはcjgetapppropコマンドでConnector属性ファイル取得時に,Connector属性ファイルの<config-property-name>タグの値として「XAOpenString」が設定されている場合,このタグに対応する<config-property-value>タグの値は,セキュリティ上の理由で表示されなくなりました。<config-property-name>タグの値として「XAOpenString」が設定されているタグの,<config-property-value>タグの値を変更する場合は,<config-property-value>タグを追加して変更後の値を設定してください。
07-50以降では,Connector属性ファイルの構造が変更され,<outbound-resourceadapter>タグ,および<outbound-resourceadapter>タグの<connection-definition>タグの下位に,次のタグが出力されるようになりました。
07-50以降では,cjsetapppropコマンドまたはcjsetrespropコマンド実行時に,引数で指定された属性ファイル中の<container-transaction>,<ejb-method-observation-timeout>,または<ejb-transaction-timeout>タグで指定されたメソッドが,Enterprise Bean中にあるかどうかをチェックします。属性ファイル中のこれらのタグに指定されたメソッドが,Enterprise Bean中にない場合は,エラーとなります。
07-10より前から08-00以降へ移行する場合は,J2EEサーバの移行コマンドが自動的にejbserver.cui.checkmethod.compatible=trueを設定するため,07-10より前のメソッドのチェック方法でメソッドはチェックされます。
07-50以降では,Connector属性ファイルの<config-property>タグに指定できるプロパティの並び順が,一部変更になります。移行コマンドで07-10以前から移行する場合,<config-property>タグに指定できるプロパティの並び順は,07-50以降の並び順に変更されます。
07-60以降で,Connector 1.5仕様に準拠したリソースアダプタの場合,MessageDrivenBean属性ファイルの次に示す要素が省略できます。
ただし,Cosminexus RMおよびTP1/Message Queue - Accessによるデータベース接続で,Message-driven Beanを使用する場合は,MessageDrivenBean属性ファイルでこれらの要素の指定は省略できません。この場合,MessageDrivenBean属性ファイルでこれらの要素の指定を省略しても,cjsetapppropコマンドでの属性設定時にはエラーになりませんが,Message-driven Beanを含むJ2EEアプリケーションの開始時にエラーとなります。
EJB-JAR属性ファイルの<interceptor-binding>直下の<interceptor-class>タグの出現パターンが変更されます。07-10より前では,<interceptor-class>タグの出現パターンは1回以上でした。07-10以降では,<interceptor-class>タグの出現パターンは0回以上になります。
06-50以降,アプリケーションのRMI-IIOPスタブおよびRMI-IIOPインタフェースを一括で取得する機能をサポートします。06-50より前では,RMI-IIOPスタブ,およびRMI-IIOPインタフェースをJ2EEサーバからダウンロードしていましたが,06-50以降では,cjgetstubsjarコマンドを使用して該当のファイルを一括で取得できます。コマンドの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjgetstubsjar(アプリケーションのRMI-IIOPスタブおよびインタフェースの取得)」を参照してください。
07-10以降,cjclstartapコマンドの仕様が変更になります。変更点を次に示します。
ネーミングサービスの障害検知機能を使用している場合,08-00以降と08-00より前では,ネーミングサービスが閉塞されるタイミングが異なります。
製品のバージョンによって,インストールされるJDKが異なります。J2EEサーバでは,インストールされているjavacコンパイラのデフォルトバージョンのJava言語仕様に従ってJSPから生成されたサーブレットのソースファイルをコンパイルします。
コンパイルするJava言語仕様のバージョンを次の表に示します。
表12-13 コンパイルするJava言語仕様のバージョン
アプリケーションサーバのバージョン | JDKのバージョン | コンパイルJava言語仕様バージョン |
---|---|---|
Version 6 | JDK 1.4 | J2SE 1.3 |
Version 7 | JDK 5.0 | J2SE 5.0 |
Version 8 | JDK 6 | Java SE 6 |
JDK 5.0 | J2SE 5.0 |
08-50以降では明示管理ヒープ機能で自動解放機能を使用できるようになります。08-50より前のバージョンから,08-50以降へ移行するサーバでは明示管理ヒープ機能での自動解放機能は無効になります。
POSTリクエストのフォームデータ(Content-Typeヘッダの値がapplication/x-www-form-urlencodedの場合のPOSTデータ)の最大サイズがデフォルトで2MBに制限されます。アップグレードインストールをした場合,すでにセットアップされているJ2EEサーバには,POSTリクエストのフォームデータの最大サイズを無制限にする設定(webserver.connector.limit.max_post_form_data=-1)が自動的に実施されます。
web.xmlに指定したエラーページ内で,データベースセッションフェイルオーバ機能の抑止によってデータベースセッションフェイルオーバ機能が無効となったリクエストに対して,javax.servlet.http.HttpServletRequestインタフェースのgetSession()メソッド,またはgetSession(boolean create)メソッドを呼び出した時にスローされる例外は,バージョンごとに異なります。バージョンごとにスローされる例外を次に示します。
08-70以降で08-53以前と同じ例外をスローさせる場合は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のパラメタを設定する必要があります。
08-70以降のデータベースセッションフェイルオーバ機能では,完全性保障モードを無効にする機能をサポートしました。08-53以前は,完全性保障モードは常に有効でしたが,08-70以降ではデフォルトで無効になります。有効にする場合,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のプロパティを設定する必要があります。