WebOTX Manual V10.2 (第4版) 目次を表示 |
WebOTXがサポートするソフトウェアについて説明します。
WebOTXに移行することにより、J2SE SDKやデータベースのバージョンを変更する場合、関連するソフトウェアのバージョンアップの必要性を確認してください。
詳細については、各インストールガイド( Windows /Linux /HP-UX )の[ソフトウェア要件]をご覧ください。
WebOTX がサポートするOSとJ2SE SDKのバージョンは以下を参照してください。
詳細については、各インストールガイド( Windows /Linux /HP-UX )の[オペレーティング・システム]をご覧ください。
WebOTX がサポートする外部Webサーバは以下を参照してください。
詳細については、各インストールガイド( Windows /Linux /HP-UX )の[Webサーバ]をご覧ください。
WebOTX がサポートする対象のデータベースは以下を参照してください。
詳細については、各インストールガイド( Windows /Linux /HP-UX )の[データベース・サーバ]をご覧ください。
WebOTXに同梱しているライブラリとバージョンは次の表のとおりです。
名称 | V10.2 |
---|---|
Java Beans Activation Framework (JAF) | 1.1 |
JavaMail | 1.5 |
JAXP | 同梱なし |
Ant | 1.9.9 |
Jakarta Commons BeanUtiles (*1) | 同梱なし |
Jakarta Commons Codec (*1) | 同梱なし |
Jakarta Commons Collections (*1) | 同梱なし |
Jakarta Commons Digester (*1) | 同梱なし |
Jakarta Commons Discovery (*1) | 同梱なし |
Jakarta Commons EL (*1) | 同梱なし |
Jakarta Commons FileUpload (*1) | 同梱なし |
Jakarta Commons Launcher (*1) | 同梱なし |
Jakarta Commons Logging (*1) | 同梱なし |
Jakarta Commons Modeler (*1) | 同梱なし |
Jakarta Regexp | 同梱なし |
Log4j | 2.8.2(*1) |
XML Xerces 2 Java Parser | 同梱なし(*2) |
XML Xalan Java 2 | 同梱なし(*2) |
The Web Services Description Language for Java Toolkit (WSDL4J) |
同梱なし |
*1:パッケージ名をWebOTX独自のものに変更しているため、ユーザアプリケーションから利用できません。Webアプリケーションで利用する場合は、WEB-INF/libの下にライブラリを配置してください
*2:V9以降は、XercesおよびXalanを同梱しなくなりました。
JAXPを使用するアプリケーションでJAXP実装のライブラリを含まない場合、デフォルトではJDKに含まれるJAXP実装(com.sun.org.apache.〜 で始まるクラス)が使用されます。
(V8までは、WebOTXに同梱のXerces、Xalanが使用されていました。)
一方、JDKに含まれるJAXP実装クラスのパッケージは、アクセスが制限されています。(Memo参照)
そのため、 ${INSTANCE_ROOT}/config/server.policy
を編集して、JAXPを使用するアプリケーションのコードに対して、JDKに含まれるJAXP実装のパッケージへのアクセス権を付与する必要があります。
※ アプリケーション内(例: WARファイル内のWEB-INF/lib)にXerces、Xalanを含む場合は、そちらのJAXP実装が使われるため、アクセス権の付与は必要ありません。
server.policyに追加する権限の例は以下の通りです。
grant codeBase "file:${com.nec.webotx.instanceRoot}/applications/<アプリケーション名>/-" { permission java.lang.RuntimePermission "accessClassInPackage.*"; }; grant codeBase "file:${com.nec.webotx.instanceRoot}/generated/-" { permission java.lang.RuntimePermission "accessClassInPackage.*"; };
上記の例では、アクセス制限のある全てのパッケージへのアクセス権を付与していますが、 "accessClassInPackage.com.sun.org.apache.xerces.internal.*" や
"accessClassInPackage.com.sun.org.apache.xalan.internal.*" のように指定することで、使用するパッケージへのアクセス権のみを付与することも可能です。
その場合は、使用する機能に合わせてパッケージ名を指定した権限を追加してください。
*3:標準ではクラスパスに含まれておりません。ライブラリの格納先は${AS_INSTALL}/lib/wssに移動しました。利用する場合は、クラスパスに含めるようにしてください。
Webアプリケーションで利用するJavaのクラスを実行するためにロードを行う機能としてクラスローダがあります。
クラスローダには階層があります。上位のクラスローダでロードされたクラスからは下位のクラスローダでロードされたクラスは参照することができません。
逆に、下位のクラスローダでロードされたクラスからは、上位のクラスローダでロードされたクラスは参照することができます。
Webアプリケーションで使用するライブラリはWEB-IN/lib に配置します。複数のアプリケーションでライブラリを共有したい場合はWebOTX/libやdomain1/libに配置します
WebOTX のクラスローダの階層は次のようになります。
また、nec-web.xml のdelegate の設定により、ロードする優先順位を決定することができます。
同じ名前のライブラリがあると、競合が発生し、優先順位の高いパスに含まれるライブラリが利用されます。
ロードされるライブラリの優先順位はdelegate=true の場合は以下のようになります。delegate の設定はWebAP のWEB-INF/nec-web.xml で設定します。delegate=false の場合は以下のようになります。
WEB-INF/lib