Hi.

I'm using a custom stack that calls use the following interceptors :
exception, alias, fileUpload, servlet-config, cardibox-bo, prePreparationParams, prepare, i18n, chain, checkbox, static-params, params, cardibox-web, conversionError, validation, workflow.

Si I just have 2 customs interceptors :
- cardibox-bo
- prePreparationParams that extends params but juste redefine acceptableName() to didn't fill parameters whose name contains a dot.

So, I don't have any 'timer' interceptor.

But if I run jstack on a process, I see a really big interceptor stack :

.... many lines ...
ActionInvocation.invoke() @bci=80, line=216 (Interpreted frame)
- com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(com.opensymphony.xwork2.ActionInvocation) @bci=6, line=150 (Interpreted frame) - org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(com.opensymphony.xwork2.ActionInvocation) @bci=57, line=48 (Interpreted frame) - com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(com.opensymphony.xwork2.ActionInvocation) @bci=10, line=86 (Interpreted frame) - com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling() @bci=15, line=219 (Interpreted frame) - com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling() @bci=1, line=218 (Interpreted frame) - com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(java.lang.String, com.opensymphony.xwork2.util.profiling.UtilTimerStack$ProfilingBlock) @bci=5, line=455 (Interpreted frame)

*... same block with profiling for each interceptor ...*

- com.opensymphony.xwork2.DefaultActionInvocation.invoke() @bci=80, line=216 (Interpreted frame) - com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(com.opensymphony.xwork2.ActionInvocation) @bci=1, line=176 (Interpreted frame) - com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling() @bci=15, line=219 (Interpreted frame) - com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling() @bci=1, line=218 (Interpreted frame) - com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(java.lang.String, com.opensymphony.xwork2.util.profiling.UtilTimerStack$ProfilingBlock) @bci=5, line=455 (Interpreted frame) - com.opensymphony.xwork2.DefaultActionInvocation.invoke() @bci=80, line=216 (Interpreted frame) - org.apache.struts2.impl.StrutsActionProxy.execute() @bci=20, line=50 (Interpreted frame) - org.apache.struts2.dispatcher.Dispatcher.serviceAction(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext, org.apache.struts2.dispatcher.mapper.ActionMapping) @bci=182, line=507 (Interpreted frame) - org.apache.struts2.dispatcher.FilterDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=212, line=421 (Interpreted frame)
.... many lines ...


So the question is : why ??
is there an option I missed ?
I suppose this can make a performance problem.
I looked at StrutsActionProxy / DefaultActionProxy, but invocatiocontext is assigned with a new DefaultInvocationContext() and I don't see any option that could disable this ...

--

Mike Baroukh

---
Cardiweb  - 31 Rue de Mogador Paris IXeme
06 63 57 27 22 - 01 53 21 82 63 - Jabber: [EMAIL PROTECTED]
http://www.cardiweb.com
---


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to