Problems with struts and resin
I'm trying to deploy a couple of struts apps on resin which I've deployed successfully on Weblogic and on Tomcat. It appears the server tries to call the init method in the ActionServlet over and over eventially causing the server to run out of memory and crash. I've seen also seen this behavior also using some of the sample struts apps though not to the point of crashing the server. I haven't gotten much help on the Resin side of things, so does anybody on the struts list know a work around. Thanks, Matt
RE: Problems with struts and resin
Humm, it does just to be my applications that are doing it but I can't see where they are configured any differently. -Matt -Original Message- From: Ted Husted [mailto:[EMAIL PROTECTED]] Sent: Monday, June 04, 2001 3:10 PM To: [EMAIL PROTECTED] Subject: Re: Problems with struts and resin I haven't had this problem myself. I've kept busy Struts applications in play for several weeks without any unscheduled downtime under Resin. Matthew Heaton (Software Engineer) wrote: I'm trying to deploy a couple of struts apps on resin which I've deployed successfully on Weblogic and on Tomcat. It appears the server tries to call the init method in the ActionServlet over and over eventially causing the server to run out of memory and crash. I've seen also seen this behavior also using some of the sample struts apps though not to the point of crashing the server. I haven't gotten much help on the Resin side of things, so does anybody on the struts list know a work around.
RE: Please Help: Struts issues in Weblogic5.1.0 (sp5+)
I don't know the solutions of getting struts to run on WL 5.1 but it seems to work fine on WL 6.0 -Original Message- From: Anderson, Trey [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 18, 2001 10:20 AM To: '[EMAIL PROTECTED]' Subject: Please Help: Struts issues in Weblogic5.1.0 (sp5+) I am new to struts and find it a very exciting and powerful solution which I would like to implement into all our solutions. After implementing a small sample application, I have encountered the dreaded ClassCastException and am trying to understand it's cause and appropriate solution. After navigating through past postings I have found the following website by Erik Pearson. http://archive.covalent.net/jakarta/struts-user/2000/10/0009.xml http://archive.covalent.net/jakarta/struts-user/2000/10/0009.xml On this site he goes into an explanation of the cause and a description of what seems to be the only solution. 1) Could someone please validate this solution? 2) Is there an alternative solution for avoiding this classloader problem? 3) I read that the root cause of this issue is the fact that Weblogic 5.1.0 is not 100% J2EE compliant. If this is true would using Weblogic 6.0, which is J2EE compliant resolve this issue? a. What new issues could arise? Solutions? I would very much appreciate guidance in this matter, -ta
RE: 1.0 status of MessageBundle and non-serializable application resources
I tried to get the latest version of struts to run in Weblogic just a day ago and ran into non-serializable errors. I made modifications that had been suggested in a previous post and everything worked fine, but it doesn't look like some of changes made it into the build. The changes I made were, Making MessageResourceFactory serializable as well as modifying the setDefaultWriter method so it was always set to null. Making sure the following classes were serializable (some were, some weren't) Action ActionFormBean ActionFormBeans ActionForward ActionForwards ActionMapping ActionMappings ActionServlet -Matt -Original Message-From: Ludwig, Pat [mailto:[EMAIL PROTECTED]]Sent: Wednesday, January 10, 2001 1:06 PMTo: Struts-User (E-mail)Subject: 1.0 status of MessageBundle and non-serializable application resources hi Craig, would you please give a quick report on the status in Struts 1.0 of the proposed change of MessageResources to MessageBundle and conversion of other non-serializable application resources. you had proposed a solution for MessageResources in early December, and i know that a number of changes have been made to 1.0 to rectify other non-serializableproblems. stillthere have been sporadic reports of serialization exceptions with various appservers. will all the changes you proposed be implemented in the 1.0 code base? this is really quite an important development issue since it affects a container's ability to re-deploy an application without restarting. thanks, Pat Ludwig
RE: Struts+Weblogic=Problems. Changes to struts?
They told me that the spec will disallow it but I have no idea if that is factual or not. It could just be their interpretation of the spec, from the snipets I've seen it definetly says you shouldn't put Non Serializable objects into the session but isn't very clear about putting them into the PageContext under different scopes. -Matt -Original Message- From: Punyansky, Alex [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 07, 2000 2:17 PM To: '[EMAIL PROTECTED]' Subject: RE: Struts+Weblogic=Problems. Changes to struts? Thanks Matt, Does it mean that I need to modify Struts by removing support for internationalization ( removing/replacing PropertiesResourceBundle from MessageResources )? Craig, are you planning to change Struts so that it complies with Servlet 2.3 ( making all attributes Serializable )? Alex -Original Message- From: Matthew Heaton [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 07, 2000 2:14 PM To: '[EMAIL PROTECTED]' Subject: RE: Struts+Weblogic=Problems I posted my concerns on BEA's message board about Weblogic not allowing non Serialized objects to be placed inside the PageContext are two of the responses is below. I was basically told that the servlet 2.3 spec disallow non serialized objects in the PageContext so built this into the current release of Weblogic. -Matt Matt, In order for the reload-on-modify to work correctly, we have to assume that any objects that go into servlet request, servlet context and HTTP session are serializable. Otherwise, it's quite easy to get yourself into ClassCastException situation. WLS comes with reload-on-modify turned on out of the box. You can turn it off by setting reload periods to -1 (never check). There are two separate params for JSP and servlets. The one for JSPs is set in weblogic.xml descriptor, the one for servlets is set in the console. Thanks, -ruslan Matt Heaton wrote: After many unsuccessful attempts at getting Struts to work on Weblogic 5.1, I decided with give it a try on Weblogic 6.0 Beta 2 Everything seems to be deploying correct except for I get the following error (which of course breaks everything): Nov 30, 2000 1:19:37 PM PST Error HTTP [WebAppServletContext(6802820,struts-example)] Cou ld not deserialize context attribute java.io.NotSerializableException: java.util.PropertyResourceBundle at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366) at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480) at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366) at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:7 1) at weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletCon text.java :207) at weblogic.servlet.jsp.PageContextImpl.getAttribute(PageContextImpl.java:164) at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:230) at jsp_servlet._index._jspService(_index.java:105) at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :208) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :244) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.jav a:1107) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :1482) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) It appears that Weblogic requires any object that you use as a context attribute on a JSP page must be serializable. I went through some of the Struts source and it's trying to use objects which aren't serializable as JSP page context attributes. This looks like it may be a shortcoming in the JSP spec because it makes sense that to support to failover of sessions you would need to be able to serialize the attributes since a the attributes of a PageContext may have the scope of an entire session. -Matt -Original Message- From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] Sent: Thursday, November 30, 2000 4:54 PM To: [EMAIL PROTECTED] Subject: Re: Struts+Weblogic=Problems but this time it looks like it's Struts Matthew Heaton wrote: The example application itself doesn't put non Serializable objects into the Http session but all throughout the struts code non Serializable objects are placed in the PageContext with a scopes of Application, Page, or Request. It appears that Weblogic 6.0 beta may be handling these as if they were placed with a Session context and disallowing
Struts and JRun
What are peoples experiences running Struts on the JRun application server? Does it work, is there any major bugs? -Matt
Struts+Weblogic=Problems but this time it looks like it's Struts
I've been trying to get Struts to work on weblogic for many days with little success because of the failures of Weblogic's part. Finally tried to deploy and use it on Weblogic 6.0 Beta 2 and noticed some interesting behavior. It deployed fine but when I tried to run the example application I started getting errors saying that Weblogic could not deserialize the context attribute (see exact errors at end of mail) It appears that Weblogic requires any object that you use as a context attribute on a JSP page must be serializable. I went through some of the Struts source and it's trying to use objects which aren't serializable as JSP page context attributes. This looks like it may be a shortcoming in the JSP spec because it makes sense that to support to failover of sessions you would need to be able to serialize the attributes since the attributes of a PageContext may have the scope of an entire session. This is a bug that probably will show up on many different App Servers that support the failover of Sessions not just Weblogic and should probably be addressed in Struts even though it hasn't been directly addressed by the JSP 1.1 or 1.2 specs Nov 30, 2000 1:19:37 PM PST Error HTTP [WebAppServletContext(6802820,struts-example)] Could not deserialize context attribute ava.io.NotSerializableException: org.apache.struts.util.MessageResources at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366) at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480) at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366) at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:7 1) at weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletCon text.java :207) at weblogic.servlet.jsp.PageContextImpl.getAttribute(PageContextImpl.java:164) at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:230) at jsp_servlet._index._jspService(_index.java:105) at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :208) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :244) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.jav a:1107) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :1482) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) -Matt