Return-Path: Delivered-To: apmail-struts-dev-archive@www.apache.org Received: (qmail 5501 invoked from network); 24 Apr 2006 20:39:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Apr 2006 20:39:39 -0000 Received: (qmail 63735 invoked by uid 500); 24 Apr 2006 20:39:23 -0000 Delivered-To: apmail-struts-dev-archive@struts.apache.org Received: (qmail 63636 invoked by uid 500); 24 Apr 2006 20:39:22 -0000 Mailing-List: contact dev-help@struts.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Struts Developers List" Reply-To: "Struts Developers List" Delivered-To: mailing list dev@struts.apache.org Received: (qmail 63576 invoked by uid 99); 24 Apr 2006 20:39:22 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2006 13:39:22 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2006 13:39:20 -0700 Received: from brutus (localhost.localdomain [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id A0B13410007 for ; Mon, 24 Apr 2006 20:38:11 +0000 (GMT) Message-ID: <3175145.1145911091655.JavaMail.jira@brutus> Date: Mon, 24 Apr 2006 20:38:11 +0000 (GMT+00:00) From: "David Evans (JIRA)" To: dev@struts.apache.org Subject: [jira] Reopened: (STR-1937) WebLogic hot-deploy breaks Tiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/struts/browse/STR-1937?page=all ] David Evans reopened STR-1937: ------------------------------ Assign To: David Evans (was: Struts Developer Mailing List) > WebLogic hot-deploy breaks Tiles > -------------------------------- > > Key: STR-1937 > URL: http://issues.apache.org/struts/browse/STR-1937 > Project: Struts Action 1 > Type: Bug > Components: Tiles > Versions: 1.1 Final > Environment: Operating System: other > Platform: All > Reporter: Renaud Waldura > Assignee: David Evans > Fix For: 1.2 Family > Attachments: ModuleConfig.diff, ModuleUtils.diff, PlugIn.diff, RedeployableActionServlet.java, RedeployableActionServlet.java, RequestProcessor.diff, TilesPlugin.diff, TilesRequestProcessor.diff, WebLogicRedeployableActionServlet.java > > Please refer to the following documents for background information about this > issue: > http://www.mail-archive.com/struts-user@jakarta.apache.org/msg53294.html > http://marc.theaimsgroup.com/?l=struts-user&m=105203952331713 > http://marc.theaimsgroup.com/?l=struts-user&m=105188532730261 > http://marc.theaimsgroup.com/?l=struts-user&m=105268268519113 > To summarize: 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. > /** > * In development mode, WebLogic 7.0 automatically redeploys servlets by > creating a new classloader, > * then propagates the servlet context to the new servlet classes by > serializing it. > * For some reason unknown to > * me, this serialization operation drops the Tiles definitions. The re- > deployed servlets fail > * with a NPE when looking up any Tiles definition. This basically breaks > automatic redeployment. > *

> * This class works around this issue by detecting when the request processor > (which holds the > * Tiles definitions) was serialized, and re-creating a new instance when that > is the case. > * The Tiles defs are then reloaded as well. This should only happen when the > servlet context > * was serialized, ie. servlets were redeployed. > * > * @author Renaud Waldura > */ > --- web.xml --- > > action > com.aravo.framework.ui.struts.action.WebLogicRedeployableActi > onServlet > > config > /WEB-INF/struts-config.xml > > > debug > 0 > > > detail > 0 > > 2 > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/struts/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org For additional commands, e-mail: dev-help@struts.apache.org