org.apache.struts.actions
クラス RedeployableActionServlet

java.lang.Object
  拡張javax.servlet.GenericServlet
      拡張javax.servlet.http.HttpServlet
          拡張org.apache.struts.action.ActionServlet
              拡張org.apache.struts.actions.RedeployableActionServlet
すべての実装インタフェース:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class RedeployableActionServlet
extends ActionServlet

開発モードではウェブアプリの再デプロイ時に、 WebLogic(少なくともv6とv7)はTilesRequestProcessorをシリアライズすることを試みます。 TilesRequestProcessorはシリアライズできません、 そしてTilesの定義は失われてしまいます。 このため自動再デプロイの後でアプリケーションを使う時に、 NullPointerExceptionおよび/またはNotSerializableExceptionとなります。

WebLogic (at least v6 and v7) attempts to serialize the TilesRequestProcessor when re-deploying the Webapp in development mode. The TilesRequestProcessor is not serializable, and loses the Tiles definitions. This results in NullPointerException and/or NotSerializableException when using the app after automatic redeploy.

他の方々を助けそして現実に苦境を動かすであろうことを期待し、 このバグ報告はこの問題のための回避方法を提案します。

This bug report proposes a workaround for this problem, in the hope it will help others and maybe motivate an actual fix.

関連付けられたクラスはStrutsアクションサーブレットを拡張して、 消された時にTilesの定義をリロードすることにより問題を修正します。

The attached class extends the Struts Action servlet and fixes the problem by reloading the Tiles definitions when they have disappeared.

討論の背景については以下を参照してください。 http://issues.apache.org/bugzilla/show_bug.cgi?id=26322

For background discussion see http://issues.apache.org/bugzilla/show_bug.cgi?id=26322

導入されたバージョン:
1.2.1
バージョン:
$Revision: 1.4 $ $Date: 2005/02/22 12:29:00 $
関連項目:
直列化された形式
翻訳者:
棚澤 昌幸
校正者:
翻訳状況:
初稿(校正者募集中)

フィールドの概要
private  TilesRequestProcessor tileProcessor
           
 
クラス org.apache.struts.action.ActionServlet から継承したフィールド
config, configDigester, convertNull, dataSources, internal, internalName, log, processor, registrations, servletMapping, servletName
 
クラス javax.servlet.http.HttpServlet から継承したフィールド
 
コンストラクタの概要
RedeployableActionServlet()
           
 
メソッドの概要
protected  RequestProcessor getRequestProcessor(ModuleConfig config)
          指定されたモジュールに関係するRequestProcessorを探して、 必要に応じて新たに生成し、 返します。
 
クラス org.apache.struts.action.ActionServlet から継承したメソッド
addServletMapping, destroy, destroyConfigDigester, destroyInternal, destroyModules, doGet, doPost, getInternal, getModuleConfig, init, initConfigDigester, initInternal, initModuleConfig, initModuleConfigFactory, initModuleDataSources, initModuleMessageResources, initModulePlugIns, initModulePrefixes, initOther, initServlet, parseModuleConfigFile, process
 
クラス javax.servlet.http.HttpServlet から継承したメソッド
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
クラス javax.servlet.GenericServlet から継承したメソッド
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

tileProcessor

private TilesRequestProcessor tileProcessor
コンストラクタの詳細

RedeployableActionServlet

public RedeployableActionServlet()
メソッドの詳細

getRequestProcessor

protected RequestProcessor getRequestProcessor(ModuleConfig config)
                                        throws javax.servlet.ServletException
クラス ActionServlet の記述:

指定されたモジュールに関係するRequestProcessorを探して、 必要に応じて新たに生成し、 返します。

Look up and return the {@link RequestProcessor} responsible for the specified module, creating a new one if necessary.

オーバーライド:
クラス ActionServlet 内の getRequestProcessor
パラメータ:
config - 取得してRequestProcessorを返すためのモジュールの設定
@param config The module configuration for which to acquire and return a RequestProcessor.
例外:
javax.servlet.ServletException - RequestProcessorのインスタンスを生成できない場合
@exception ServletException if we cannot instantiate a RequestProcessor instance


このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2004 - Apache Software Foundation