public class RedeployableActionServlet extends ActionServlet
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.
The attached class extends the Struts Action servlet and fixes the problem by reloading the Tiles definitions when they have disappeared.
For background discussion see http://issues.apache.org/bugzilla/show_bug.cgi?id=26322
chainConfig, config, configDigester, convertNull, internal, internalName, log, registrations, servletMapping, servletName| Constructor and Description |
|---|
RedeployableActionServlet() |
| Modifier and Type | Method and Description |
|---|---|
protected RequestProcessor |
getRequestProcessor(ModuleConfig config)
Look up and return the
RequestProcessor responsible for the
specified module, creating a new one if necessary. |
addServletMapping, destroy, destroyConfigDigester, destroyInternal, destroyModules, doGet, doPost, getInternal, getModuleConfig, init, initChain, initConfigDigester, initInternal, initModuleActions, initModuleConfig, initModuleConfigFactory, initModuleExceptionConfigs, initModuleFormBeans, initModuleForwards, initModuleMessageResources, initModulePlugIns, initModulePrefixes, initOther, initServlet, parseModuleConfigFile, parseModuleConfigFile, process, processActionConfigClass, processActionConfigExtension, processExceptionConfigClass, processExceptionExtension, processFormBeanConfigClass, processFormBeanExtension, processForwardConfigClass, processForwardExtension, splitAndResolvePathsdoDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, serviceprotected RequestProcessor getRequestProcessor(ModuleConfig config) throws javax.servlet.ServletException
ActionServletLook up and return the RequestProcessor responsible for the
specified module, creating a new one if necessary.
getRequestProcessor in class ActionServletconfig - The module configuration for which to acquire and return
a RequestProcessor.RequestProcessor responsible for the specified
module,javax.servlet.ServletException - If we cannot instantiate a RequestProcessor
instance a UnavailableException is
thrown, meaning your application is not loaded
and will not be available.Copyright © 2000–2024 Apache Software Foundation. All rights reserved.