3

WebSphere 8.5 サーバーに、ロード時に Web アプリケーションのクラスパスをスキャンしないように指示する方法はありますか? アプリを WAS バージョン 6.1 から WAS 8.5 に移行しています。6.1 バージョンでは、WAS はクラスパスをスキャンせず、リソース インジェクションを実行しました。Spring を使用して、6.1 でアプリのリソース インジェクションを実行しました。8.5 に到達すると、WAS サーバーはロード時にクラスをスキャンしようとします。これにより、アプリの構成に問題が発生します。

WAS によるスキャンを無効にして、Spring 構成でアプリのリソース インジェクションを引き続き処理できるようにする方法が本当に必要です。誰もこれについてどうやって行くのか知っていますか?

私は次のことを試しました:

  1. EAR マニフェストの「Ignore-Scanning-Packages」設定を使用して、パッケージのスキャンを無効にします (これは効果がないようです)。
  2. サーバー (および EAR マニフェスト) で "UseEJB61FEPScanPolicy" 設定を使用して、WAS に古い方法で処理を行わせます (これも効果はありません)。

私が試すかもしれない手がかりやその他のことはありますか?

ありがとう

4

1 に答える 1

1

これがあなたのケースで機能するかどうかはわかりませんが、実際には、スキャン リソース インジェクションはサーバー バージョン 2.5 からのみ利用できます。したがって、Websphere がプロジェクトをスキャンするのを回避する簡単な方法はweb.xmlファイルにあり、次のようにルート タグを設定します。

<web-app version="2.4">

サーバー バージョン 3.0 を引き続き使用する場合は、ルート タグに追加することもできますmetadata-complete="true"。これにより、プロジェクトをまったくスキャンしないように Websphere に指示できます。

例:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0">

于 2014-01-08T05:51:35.097 に答える