|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.servlet.GenericServlet javax.servlet.http.HttpServlet org.apache.struts.action.ActionServlet org.apache.struts.tiles.RedeployableActionServlet
public class RedeployableActionServlet
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
Field Summary |
---|
Fields inherited from class org.apache.struts.action.ActionServlet |
---|
chainConfig, config, configDigester, convertNull, internal, internalName, log, registrations, servletMapping, servletName |
Constructor Summary | |
---|---|
RedeployableActionServlet()
|
Method Summary | |
---|---|
protected org.apache.struts.action.RequestProcessor |
getRequestProcessor(org.apache.struts.config.ModuleConfig config)
|
Methods inherited from class org.apache.struts.action.ActionServlet |
---|
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, splitAndResolvePaths |
Methods inherited from class javax.servlet.http.HttpServlet |
---|
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service |
Methods inherited from class javax.servlet.GenericServlet |
---|
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RedeployableActionServlet()
Method Detail |
---|
protected org.apache.struts.action.RequestProcessor getRequestProcessor(org.apache.struts.config.ModuleConfig config) throws javax.servlet.ServletException
getRequestProcessor
in class org.apache.struts.action.ActionServlet
javax.servlet.ServletException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |