It sounds to me like you do not have your logging configured to filter out the stuff from com.opensymphony.xwork2.conversion. It also might depend on what server you are using. I recall having trouble with GlassFish and struts2 in regards to this logging in the past. At the moment I am using Tomcat 6 for a project and simply modifying log4j works great.
Another option could be to get rid of <constant name="struts.devMode" value="true" /> if you have it in your struts.xml. Not sure if this causes extra logging - check out the documentation to be sure. A few ideas anyway..... On Mon, Oct 10, 2011 at 4:28 PM, Maurizio Cucchiara <mcucchi...@apache.org>wrote: > You could try to configure your custom interceptor stack starting from > basic stack [1] > [1] > http://struts.apache.org/2.x/docs/interceptors.html#Interceptors-TheDefaultConfiguration > Maurizio Cucchiara > > > > On 10 October 2011 16:09, Amir Wasim <amir.wa...@gmail.com> wrote: > > Hi, > > > > > > > > > > > > I am using struts2 for a project. It works flawlessly but for some resons > > its slow on actions. Below is the Debug log and I have noticed that there > > are many messages which are related to conversion and validation. Can > > someone tell me how I am able to stop them so that I is a little bit > fast. > > Currently without debug the request response time is almost 2-3 seconds > on a > > local machine and with debugging enabled its 7-8 secs. > > > > > > > > Regards, > > > > Amir > > > > > > PS: Bellow are some of the chunks from just one request/response. Most of > > them are repeated multiple times for each attribute. The one with > > template/xhtml/div.ftl is repeated for each request. > > > > --------------------------------- > > > > > > 2011-10-10 10:55:42,187 DEBUG http-bio-8080-exec-6 > > org.springframework.beans.factory.support.DefaultListableBeanFactory - > Not > > autowiring property 'genderList' of bean > > 'com.cerner.pacs.action.PatientAction' by name: no matching bean found > > > > 2011-10-10 10:55:42,189 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil - cannot > find > > method [prepareList] in action [com.pac.action.PatientAction@1346812] > > > > > > 2011-10-10 10:55:42,217 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - > Entering > > nullPropertyValue [target=[com.pac.action.PatientAction@1346812, > > com.opensymphony.xwork2.DefaultTextProvider@30b601], property=struts] > > > > > > 2011-10-10 10:55:42,372 DEBUG http-bio-8080-exec-6 > > org.springframework.beans.factory.support.DefaultListableBeanFactory - > > Ignoring constructor [public > > org.apache.struts2.dispatcher.ServletDispatcherResult(java.lang.String)] > of > > bean 'org.apache.struts2.dispatcher.ServletDispatcherResult': > > org.springframework.beans.factory.UnsatisfiedDependencyException: Error > > creating bean with name > > 'org.apache.struts2.dispatcher.ServletDispatcherResult': Unsatisfied > > dependency expressed through constructor argument with index 0 of type > > [java.lang.String]: : No matching bean of type [java.lang.String] found > for > > dependency: expected at least 1 bean which qualifies as autowire > candidate > > for this dependency. Dependency annotations: {}; nested exception is > > org.springframework.beans.factory.NoSuchBeanDefinitionException: No > matching > > bean of type [java.lang.String] found for dependency: expected at least 1 > > bean which qualifies as autowire candidate for this dependency. > Dependency > > annotations: {} > > > > 2011-10-10 10:55:42,378 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.XWorkConverter - Property: null > > > > 2011-10-10 10:55:42,378 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.XWorkConverter - Class: > > com.opensymphony.xwork2.util.CompoundRoot > > > > 2011-10-10 10:55:42,378 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type > > converter for property [null] = none found > > > > 2011-10-10 10:55:42,379 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level > type > > converter for property [null] = none found > > > > 2011-10-10 10:55:42,379 DEBUG http-bio-8080-exec-6 > > com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to > > default type converter > > [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@13cba41] > > > > > > [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@13cba41] > > > > 2011-10-10 10:55:42,385 DEBUG http-bio-8080-exec-6 > > org.apache.struts2.components.UIBean - Rendering template > > /template/xhtml/div > > > > 2011-10-10 10:55:42,388 DEBUG http-bio-8080-exec-6 freemarker.cache - > > template/xhtml/div.ftl[de_DE,UTF-8,parsed] no source found. > > > > 2011-10-10 10:55:42,391 DEBUG http-bio-8080-exec-6 freemarker.cache - > > template/simple/div.ftl[de_DE,UTF-8,parsed] using cached since > > > jar:file:/C:/Users/aw022236/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/pacs/WEB-INF/lib/struts2-core-2.2.3.1.jar!/template/simple/div.ftl > > didn't change. > > > > 2011-10-10 10:55:42,391 DEBUG http-bio-8080-exec-6 > > org.apache.struts2.components.template.FreemarkerTemplateEngine - > Rendering > > template /template/simple/div.ftl > > > > 2011-10-10 10:55:42,392 DEBUG http-bio-8080-exec-6 freemarker.beans - Key > > 'name' was not found on instance of java.util.LinkedHashMap. > Introspection > > information for the class is: {getClass=public final native > java.lang.Class > > java.lang.Object.getClass(), clone=public java.lang.Object > > java.util.HashMap.clone(), put=public java.lang.Object > > java.util.HashMap.put(java.lang.Object,java.lang.Object), get=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > remove=public java.lang.Object > java.util.HashMap.remove(java.lang.Object), > > equals=public boolean java.util.AbstractMap.equals(java.lang.Object), > > entrySet=public java.util.Set java.util.HashMap.entrySet(), > hashCode=public > > int java.util.AbstractMap.hashCode(), > > class=java.beans.PropertyDescriptor@37d1e4a6, keySet=public > java.util.Set > > java.util.HashMap.keySet(), size=public int java.util.HashMap.size(), > > clear=public void java.util.LinkedHashMap.clear(), isEmpty=public boolean > > java.util.HashMap.isEmpty(), containsKey=public boolean > > java.util.HashMap.containsKey(java.lang.Object), values=public > > java.util.Collection java.util.HashMap.values(), > > java.lang.Object@15e0163=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > empty=java.beans.PropertyDescriptor@6ae4e1d1, containsValue=public > boolean > > java.util.LinkedHashMap.containsValue(java.lang.Object), toString=public > > java.lang.String java.util.AbstractMap.toString(), putAll=public void > > java.util.HashMap.putAll(java.util.Map), java.lang.Object@1f33bb0 > > =freemarker.ext.beans.MethodMap@72edc, java.lang.Object@5ac5f={public > void > > java.util.LinkedHashMap.clear()=[Ljava.lang.Class;@19576c3, public int > > java.util.HashMap.size()=[Ljava.lang.Class;@1a80747, public int > > java.util.AbstractMap.hashCode()=[Ljava.lang.Class;@75ca3e, public final > > native java.lang.Class > > java.lang.Object.getClass()=[Ljava.lang.Class;@130c132, public > java.util.Set > > java.util.HashMap.keySet()=[Ljava.lang.Class;@1dbe135, public > java.util.Set > > java.util.HashMap.entrySet()=[Ljava.lang.Class;@9e7d46, public boolean > > > java.util.LinkedHashMap.containsValue(java.lang.Object)=[Ljava.lang.Class;@132b038 > , > > public java.lang.Object > > java.util.HashMap.remove(java.lang.Object)=[Ljava.lang.Class;@cf5006, > public > > java.lang.Object > > > java.util.HashMap.put(java.lang.Object,java.lang.Object)=[Ljava.lang.Class;@8ebb5a > , > > public java.lang.Object > java.util.HashMap.clone()=[Ljava.lang.Class;@ae4f8b, > > public boolean > > java.util.AbstractMap.equals(java.lang.Object)=[Ljava.lang.Class;@1e8614a > , > > public java.lang.String > > java.util.AbstractMap.toString()=[Ljava.lang.Class;@14b52aa, public void > > java.util.HashMap.putAll(java.util.Map)=[Ljava.lang.Class;@2026f3, > public > > java.lang.Object > > java.util.LinkedHashMap.get(java.lang.Object)=[Ljava.lang.Class;@dd20b6, > > public boolean > > > java.util.HashMap.containsKey(java.lang.Object)=[Ljava.lang.Class;@18eb00c > , > > public java.util.Collection > > java.util.HashMap.values()=[Ljava.lang.Class;@c7ecd5, public boolean > > java.util.HashMap.isEmpty()=[Ljava.lang.Class;@18dabf1}} > > > > 2011-10-10 10:55:42,392 DEBUG http-bio-8080-exec-6 freemarker.beans - Key > > 'cssClass' was not found on instance of java.util.LinkedHashMap. > > Introspection information for the class is: {getClass=public final native > > java.lang.Class java.lang.Object.getClass(), clone=public > java.lang.Object > > java.util.HashMap.clone(), put=public java.lang.Object > > java.util.HashMap.put(java.lang.Object,java.lang.Object), get=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > remove=public java.lang.Object > java.util.HashMap.remove(java.lang.Object), > > equals=public boolean java.util.AbstractMap.equals(java.lang.Object), > > entrySet=public java.util.Set java.util.HashMap.entrySet(), > hashCode=public > > int java.util.AbstractMap.hashCode(), > > class=java.beans.PropertyDescriptor@37d1e4a6, keySet=public > java.util.Set > > java.util.HashMap.keySet(), size=public int java.util.HashMap.size(), > > clear=public void java.util.LinkedHashMap.clear(), isEmpty=public boolean > > java.util.HashMap.isEmpty(), containsKey=public boolean > > java.util.HashMap.containsKey(java.lang.Object), values=public > > java.util.Collection java.util.HashMap.values(), > > java.lang.Object@15e0163=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > empty=java.beans.PropertyDescriptor@6ae4e1d1, containsValue=public > boolean > > java.util.LinkedHashMap.containsValue(java.lang.Object), toString=public > > java.lang.String java.util.AbstractMap.toString(), putAll=public void > > java.util.HashMap.putAll(java.util.Map), java.lang.Object@1f33bb0 > > =freemarker.ext.beans.MethodMap@72edc, java.lang.Object@5ac5f={public > void > > java.util.LinkedHashMap.clear()=[Ljava.lang.Class;@19576c3, public int > > java.util.HashMap.size()=[Ljava.lang.Class;@1a80747, public int > > java.util.AbstractMap.hashCode()=[Ljava.lang.Class;@75ca3e, public final > > native java.lang.Class > > java.lang.Object.getClass()=[Ljava.lang.Class;@130c132, public > java.util.Set > > java.util.HashMap.keySet()=[Ljava.lang.Class;@1dbe135, public > java.util.Set > > java.util.HashMap.entrySet()=[Ljava.lang.Class;@9e7d46, public boolean > > > java.util.LinkedHashMap.containsValue(java.lang.Object)=[Ljava.lang.Class;@132b038 > , > > public java.lang.Object > > java.util.HashMap.remove(java.lang.Object)=[Ljava.lang.Class;@cf5006, > public > > java.lang.Object > > > java.util.HashMap.put(java.lang.Object,java.lang.Object)=[Ljava.lang.Class;@8ebb5a > , > > public java.lang.Object > java.util.HashMap.clone()=[Ljava.lang.Class;@ae4f8b, > > public boolean > > java.util.AbstractMap.equals(java.lang.Object)=[Ljava.lang.Class;@1e8614a > , > > public java.lang.String > > java.util.AbstractMap.toString()=[Ljava.lang.Class;@14b52aa, public void > > java.util.HashMap.putAll(java.util.Map)=[Ljava.lang.Class;@2026f3, > public > > java.lang.Object > > java.util.LinkedHashMap.get(java.lang.Object)=[Ljava.lang.Class;@dd20b6, > > public boolean > > > java.util.HashMap.containsKey(java.lang.Object)=[Ljava.lang.Class;@18eb00c > , > > public java.util.Collection > > java.util.HashMap.values()=[Ljava.lang.Class;@c7ecd5, public boolean > > java.util.HashMap.isEmpty()=[Ljava.lang.Class;@18dabf1}} > > 2011-10-10 10:55:42,393 DEBUG http-bio-8080-exec-6 freemarker.beans - Key > > 'cssStyle' was not found on instance of java.util.LinkedHashMap. > > Introspection information for the class is: {getClass=public final native > > java.lang.Class java.lang.Object.getClass(), clone=public > java.lang.Object > > java.util.HashMap.clone(), put=public java.lang.Object > > java.util.HashMap.put(java.lang.Object,java.lang.Object), get=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > remove=public java.lang.Object > java.util.HashMap.remove(java.lang.Object), > > equals=public boolean java.util.AbstractMap.equals(java.lang.Object), > > entrySet=public java.util.Set java.util.HashMap.entrySet(), > hashCode=public > > int java.util.AbstractMap.hashCode(), > > class=java.beans.PropertyDescriptor@37d1e4a6, keySet=public > java.util.Set > > java.util.HashMap.keySet(), size=public int java.util.HashMap.size(), > > clear=public void java.util.LinkedHashMap.clear(), isEmpty=public boolean > > java.util.HashMap.isEmpty(), containsKey=public boolean > > java.util.HashMap.containsKey(java.lang.Object), values=public > > java.util.Collection java.util.HashMap.values(), > > java.lang.Object@15e0163=public > > java.lang.Object java.util.LinkedHashMap.get(java.lang.Object), > > empty=java.beans.PropertyDescriptor@6ae4e1d1, containsValue=public > boolean > > java.util.LinkedHashMap.containsValue(java.lang.Object), toString=public > > java.lang.String java.util.AbstractMap.toString(), putAll=public void > > java.util.HashMap.putAll(java.util.Map), java.lang.Object@1f33bb0 > > =freemarker.ext.beans.MethodMap@72edc, java.lang.Object@5ac5f={public > void > > java.util.LinkedHashMap.clear()=[Ljava.lang.Class;@19576c3, public int > > java.util.HashMap.size()=[Ljava.lang.Class;@1a80747, public int > > java.util.AbstractMap.hashCode()=[Ljava.lang.Class;@75ca3e, public final > > native java.lang.Class > > java.lang.Object.getClass()=[Ljava.lang.Class;@130c132, public > java.util.Set > > java.util.HashMap.keySet()=[Ljava.lang.Class;@1dbe135, public > java.util.Set > > java.util.HashMap.entrySet()=[Ljava.lang.Class;@9e7d46, public boolean > > > java.util.LinkedHashMap.containsValue(java.lang.Object)=[Ljava.lang.Class;@132b038 > , > > public java.lang.Object > > java.util.HashMap.remove(java.lang.Object)=[Ljava.lang.Class;@cf5006, > public > > java.lang.Object > > > java.util.HashMap.put(java.lang.Object,java.lang.Object)=[Ljava.lang.Class;@8ebb5a > , > > public java.lang.Object > java.util.HashMap.clone()=[Ljava.lang.Class;@ae4f8b, > > public boolean > > java.util.AbstractMap.equals(java.lang.Object)=[Ljava.lang.Class;@1e8614a > , > > public java.lang.String > > java.util.AbstractMap.toString()=[Ljava.lang.Class;@14b52aa, public void > > java.util.HashMap.putAll(java.util.Map)=[Ljava.lang.Class;@2026f3, > public > > java.lang.Object > > java.util.LinkedHashMap.get(java.lang.Object)=[Ljava.lang.Class;@dd20b6, > > public boolean > > > java.util.HashMap.containsKey(java.lang.Object)=[Ljava.lang.Class;@18eb00c > , > > public java.util.Collection > > java.util.HashMap.values()=[Ljava.lang.Class;@c7ecd5, public boolean > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >