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