Return-Path: X-Original-To: apmail-struts-issues-archive@minotaur.apache.org Delivered-To: apmail-struts-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1C7F411039 for ; Wed, 9 Jul 2014 17:59:10 +0000 (UTC) Received: (qmail 95421 invoked by uid 500); 9 Jul 2014 17:59:04 -0000 Delivered-To: apmail-struts-issues-archive@struts.apache.org Received: (qmail 95387 invoked by uid 500); 9 Jul 2014 17:59:04 -0000 Mailing-List: contact issues-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list issues@struts.apache.org Received: (qmail 95289 invoked by uid 99); 9 Jul 2014 17:59:04 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Jul 2014 17:59:04 +0000 Date: Wed, 9 Jul 2014 17:59:04 +0000 (UTC) From: "Lukasz Lenart (JIRA)" To: issues@struts.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (WW-4357) Struts2 Property Conversion issue. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/WW-4357?page=3Dcom.atlassian.ji= ra.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1405652= 8#comment-14056528 ]=20 Lukasz Lenart commented on WW-4357: ----------------------------------- Any news? > Struts2 Property Conversion issue. > ---------------------------------- > > Key: WW-4357 > URL: https://issues.apache.org/jira/browse/WW-4357 > Project: Struts 2 > Issue Type: Bug > Components: Value Stack > Affects Versions: 2.3.16.1 > Environment: Jetty, Windows > Reporter: Lokesha > Fix For: 2.3.18 > > > was testing one of my high profile application built using spring,hibern= ate and struts2 using JMeter with 250 con current users with ramp up time o= f 2 seconds. The application was responding back at an average 15 seconds. = When i checked my log it seems the database and related operation took 3 se= conds and rest all went in struts2 actions and it's processing. The differe= nce is quite huge. I have already upgraded the application to OGNL 3.0.6 an= d have followed most of the guidelines provided in the link http://struts.a= pache.org/development/2.x/docs/performance-tuning.html > Has anyone faced the similar issues and what's the solution to make it mu= ch quicker(It is quite unbelievable that database with thousands of records= responded in less than 3 seconds where as struts2 is taking 12 seconds). > More Update: I just collected Struts2 Logs in TRACE mode. Just have a loo= k at the OGNL and property conversions. It takes close to 18 seconds and th= e overall stack execution is 23 Seconds).. > [2014-06-05T11:43:45,184+0530] DEBUG [qtp2020886105-153] com.opensymphony= .xwork2.conversion.impl.InstantiatingNullHandler - Entering nullPropertyVal= ue [target=3D[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143b= c1e6, com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=3Dstr= uts] [2014-06-05T11:43:45,647+0530] DEBUG [qtp2020886105-153] com.opensymph= ony.xwork2.conversion.impl.InstantiatingNullHandler - Entering nullProperty= Value [target=3D[com.tastyfood.foody.action.vendor.MealAnnouncementAction@1= 43bc1e6, com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=3D= org] [2014-06-05T11:43:46,182+0530] DEBUG [qtp2020886105-153] com.opensymph= ony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering setProperty(og= nl.OgnlContext@7bda4cad,org.apache.struts2.util.AttributeMap@152f16eb,newRo= w,true) [2014-06-05T11:43:46,540+0530] DEBUG [qtp2020886105-153] com.opensy= mphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering getProperty= (ognl.OgnlContext@53e81e35,{cityId=3D1, localityId=3D1, localityName=3DMar= athahalli},cartSize) [2014-06-05T11:43:47,342+0530] DEBUG [qtp2020886105-15= 3] com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Enter= ing nullPropertyValue [target=3D{cityId=3D1, localityId=3D1, localityName= =3DMarathahalli}, property=3DcartSize] [2014-06-05T11:43:47,734+0530] DEBUG= [qtp2020886105-153] com.opensymphony.xwork2.ognl.accessor.XWorkMapProperty= Accessor - Entering getProperty (ognl.OgnlContext@31d96651,org.apache.strut= s2.util.AttributeMap@53ddcdc7,templateDir) [2014-06-05T11:43:48,518+0530] D= EBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.Instantiat= ingNullHandler - Entering nullPropertyValue [target=3D[com.tastyfood.foody.= action.vendor.MealAnnouncementAction@143bc1e6, com.opensymphony.xwork2.Defa= ultTextProvider@77763f2a], property=3DtemplateDir] [2014-06-05T11:43:49,068= +0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.In= stantiatingNullHandler - Entering nullPropertyValue [target=3Dorg.apache.st= ruts2.util.AttributeMap@53ddcdc7, property=3DtemplateDir] [2014-06-05T11:43= :49,673+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.= impl.XWorkConverter - Retrieving convert for class [class com.opensymphony.= xwork2.util.CompoundRoot] and property [(null)] [2014-06-05T11:43:49,942+05= 30] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWork= Converter - field-level type converter for property [null] =3D none found [= 2014-06-05T11:43:50,536+0530] DEBUG [qtp2020886105-153] com.opensymphony.xw= ork2.conversion.impl.XWorkConverter - global-level type converter for prope= rty [null] =3D none found [2014-06-05T11:43:50,748+0530] DEBUG [qtp20208861= 05-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling ba= ck to default type converter [com.opensymphony.xwork2.conversion.impl.XWork= BasicConverter@2307dd5c] [2014-06-05T11:43:51,355+0530] DEBUG [qtp202088610= 5-153] com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - E= ntering nullPropertyValue [target=3D[com.tastyfood.foody.action.vendor.Meal= AnnouncementAction@143bc1e6, com.opensymphony.xwork2.DefaultTextProvider@77= 763f2a], property=3Dcart] [2014-06-05T11:43:51,593+0530] DEBUG [qtp20208861= 05-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - Retrieving= convert for class [class com.opensymphony.xwork2.util.CompoundRoot] and pr= operty [(null)] [2014-06-05T11:43:52,096+0530] DEBUG [qtp2020886105-153] co= m.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type con= verter for property [null] =3D none found [2014-06-05T11:43:52,297+0530] DE= BUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConver= ter - global-level type converter for property [null] =3D none found [2014-= 06-05T11:43:52,965+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.= conversion.impl.XWorkConverter - falling back to default type converter [co= m.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] [2014-0= 6-05T11:43:53,173+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.o= gnl.accessor.XWorkMapPropertyAccessor - Entering getProperty (ognl.OgnlCont= ext@31d96651,org.apache.struts2.util.AttributeMap@53ddcdc7,templateDir) [20= 14-06-05T11:43:53,760+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwor= k2.conversion.impl.InstantiatingNullHandler - Entering nullPropertyValue [t= arget=3D[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6,= com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=3Dtemplate= Dir] [2014-06-05T11:43:53,761+0530] DEBUG [qtp2020886105-153] com.opensymph= ony.xwork2.conversion.impl.InstantiatingNullHandler - Entering nullProperty= Value [target=3Dorg.apache.struts2.util.AttributeMap@53ddcdc7, property=3Dt= emplateDir] [2014-06-05T11:43:53,769+0530] DEBUG [qtp2020886105-153] com.op= ensymphony.xwork2.conversion.impl.XWorkConverter - Retrieving convert for c= lass [class com.opensymphony.xwork2.util.CompoundRoot] and property [(null)= ] [2014-06-05T11:43:54,020+0530] DEBUG [qtp2020886105-153] com.opensymphony= .xwork2.conversion.impl.XWorkConverter - field-level type converter for pro= perty [null] =3D none found [2014-06-05T11:43:54,515+0530] DEBUG [qtp202088= 6105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-l= evel type converter for property [null] =3D none found [2014-06-05T11:43:54= ,739+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.imp= l.XWorkConverter - falling back to default type converter [com.opensymphony= .xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] [2014-06-05T11:43:54,= 740+0530] DEBUG [qtp2020886105-153] org.apache.struts2.components.UIBean - = Rendering template /template/jquery/a [2014-06-05T11:43:55,631+0530] DEBUG = [qtp2020886105-153] org.apache.struts2.components.template.FreemarkerTempla= teEngine - Rendering template /template/jquery/a.ftl [2014-06-05T11:43:55,6= 33+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.util.LocalizedTe= xtUtil - Unable to find text for key ' Cart(0)' in class 'com.tastyfood.foo= dy.action.vendor.MealAnnouncementAction' and locale 'en_US' [2014-06-05T11:= 43:56,253+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversio= n.impl.InstantiatingNullHandler - Entering nullMethodResult [2014-06-05T11:= 43:57,026+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversio= n.impl.XWorkConverter - Retrieving convert for class [class com.opensymphon= y.xwork2.util.CompoundRoot] and property [(null)] [2014-06-05T11:43:57,266+= 0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWo= rkConverter - field-level type converter for property [null] =3D none found= [2014-06-05T11:43:57,877+0530] DEBUG [qtp2020886105-153] com.opensymphony.= xwork2.conversion.impl.XWorkConverter - global-level type converter for pro= perty [null] =3D none found [2014-06-05T11:43:57,878+0530] DEBUG [qtp202088= 6105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling = back to default type converter [com.opensymphony.xwork2.conversion.impl.XWo= rkBasicConverter@2307dd5c] [2014-06-05T11:43:57,878+0530] WARN [qtp20208861= 05-153] org.apache.struts2.util.TextProviderHelper - The first TextProvider= in the ValueStack (com.tastyfood.foody.action.vendor.MealAnnouncementActio= n) could not locate the message resource with key ' Cart(0)' [2014-06-05T11= :43:58,185+0530] WARN [qtp2020886105-153] org.apache.struts2.util.TextProvi= derHelper - The default value expression ' Cart(0)' was evaluated and did n= ot match a property. The literal value ' Cart(0)' will be used. [2014-06-05= T11:43:58,780+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.ognl.= accessor.XWorkMapPropertyAccessor - Entering getProperty (ognl.OgnlContext@= 24b0e8e3,org.apache.struts2.util.AttributeMap@46ea4f39,templateDir) [2014-0= 6-05T11:43:59,058+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.c= onversion.impl.InstantiatingNullHandler - Entering nullPropertyValue [targe= t=3D[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, com= .opensymphony.xwork2.DefaultTextProvider@77763f2a], property=3DtemplateDir]= [2014-06-05T11:43:59,668+0530] DEBUG [qtp2020886105-153] com.opensymphony.= xwork2.conversion.impl.InstantiatingNullHandler - Entering nullPropertyValu= e [target=3Dorg.apache.struts2.util.AttributeMap@46ea4f39, property=3Dtempl= ateDir] [2014-06-05T11:43:59,913+0530] DEBUG [qtp2020886105-153] com.opensy= mphony.xwork2.conversion.impl.XWorkConverter - Retrieving convert for class= [class com.opensymphony.xwork2.util.CompoundRoot] and property [(null)] [2= 014-06-05T11:44:00,513+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwo= rk2.conversion.impl.XWorkConverter - field-level type converter for propert= y [null] =3D none found [2014-06-05T11:44:00,779+0530] DEBUG [qtp2020886105= -153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level= type converter for property [null] =3D none found [2014-06-05T11:44:01,358= +0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XW= orkConverter - falling back to default type converter [com.opensymphony.xwo= rk2.conversion.impl.XWorkBasicConverter@2307dd5c] [2014-06-05T11:44:01,637+= 0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.Ins= tantiatingNullHandler - Entering nullPropertyValue [target=3D[com.tastyfood= .foody.action.vendor.MealAnnouncementAction@143bc1e6, com.opensymphony.xwor= k2.DefaultTextProvider@77763f2a], property=3Dcart] [2014-06-05T11:44:02,165= +0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XW= orkConverter - Retrieving convert for class [class com.opensymphony.xwork2.= util.CompoundRoot] and property [(null)] [2014-06-05T11:44:02,165+0530] DEB= UG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConvert= er - field-level type converter for property [null] =3D none found [2014-06= -05T11:44:02,165+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.co= nversion.impl.XWorkConverter - global-level type converter for property [nu= ll] =3D none found [2014-06-05T11:44:02,165+0530] DEBUG [qtp2020886105-153]= com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to d= efault type converter [com.opensymphony.xwork2.conversion.impl.XWorkBasicCo= nverter@2307dd5c] [2014-06-05T11:44:02,168+0530] DEBUG [qtp2020886105-153] = com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering g= etProperty (ognl.OgnlContext@24b0e8e3,org.apache.struts2.util.AttributeMap@= 46ea4f39,templateDir) [2014-06-05T11:44:02,404+0530] DEBUG [qtp2020886105-1= 53] com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Ente= ring nullPropertyValue [target=3D[com.tastyfood.foody.action.vendor.MealAnn= ouncementAction@143bc1e6, com.opensymphony.xwork2.DefaultTextProvider@77763= f2a], property=3DtemplateDir] [2014-06-05T11:44:03,241+0530] DEBUG [qtp2020= 886105-153] com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandle= r - Entering nullPropertyValue [target=3Dorg.apache.struts2.util.AttributeM= ap@46ea4f39, property=3DtemplateDir] [2014-06-05T11:44:03,487+0530] DEBUG [= qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter -= Retrieving convert for class [class com.opensymphony.xwork2.util.CompoundR= oot] and property [(null)] [2014-06-05T11:44:03,487+0530] DEBUG [qtp2020886= 105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-lev= el type converter for property [null] =3D none found [2014-06-05T11:44:03,4= 88+0530] DEBUG [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.= XWorkConverter - global-level type converter for property [null] =3D none f= ound [2014-06-05T11:44:03,488+0530] DEBUG [qtp2020886105-153] com.opensymph= ony.xwork2.conversion.impl.XWorkConverter - falling back to default type co= nverter [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd= 5c] [2014-06-05T11:44:03,488+0530] DEBUG [qtp2020886105-153] org.apache.str= uts2.components.UIBean - Rendering template /template/jquery/a-close [2014-= 06-05T11:44:03,488+0530] DEBUG [qtp2020886105-153] org.apache.struts2.compo= nents.template.FreemarkerTemplateEngine - Rendering template /template/jque= ry/a-close.ftl [2014-06-05T11:44:03,490+0530] INFO [qtp2020886105-153] Stru= ts Action Logger - out put of the action class com.tastyfood.foody.action.v= endor.MealAnnouncementAction is success ***********************************= ******* ENDING THREAD EXECUTION************* [2014-06-05T11:44:03,495+0530]= DEBUG [qtp2020886105-153] Struts Action Logger - After calling action: com= .tastyfood.foody.action.vendor.MealAnnouncementAction Time taken: 22553 ms > Thanks -- This message was sent by Atlassian JIRA (v6.2#6252)