2010-01-19 41 views
14

Tôi sử dụng Struts2 và ứng dụng của tôi có hàng nghìn lớp hành động do Spring quản lý. Tôi đã sử dụng Spring 2.5.6 trước đây và ứng dụng của tôi bắt đầu nhanh chóng. Nhưng khi tôi thay đổi Spring thành 3.0. Tôi có một khởi đầu cực kỳ chậm chạp của Tomcat. Đối với mỗi lớp hành động, tôi nhận được thông debug sau đây từ mùa xuân:Bắt đầu chậm sau khi nâng cấp lên Spring 3

DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.List 

Hầu như mỗi phương pháp của từng loại hành động được in thông điệp như trên. Đó là lý do tại sao ứng dụng dành quá nhiều thời gian để bắt đầu.

Dưới đây là ảnh chụp nhanh từ xml mùa xuân của tôi, để bạn tham khảo.

<aop:config proxy-target-class="true"/> <!-- No matter true of false, the problem remains --> 
<context:component-scan base-package="com.mycom" scoped-proxy="targetClass"/> 

Hãy để tôi thêm thông điệp debug đầy đủ từ mùa xuân cho thấy sự tiến bộ của việc tạo ra một bean:

2010-01-19 17:07:32,786 [main] DEBUG (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of singleton bean 'CL04001Action' 
2010-01-19 17:07:32,786 [main] DEBUG (AbstractAutowireCapableBeanFactory.java:424) - Creating instance of bean 'CL04001Action' 
2010-01-19 17:07:32,787 [main] DEBUG (AbstractAutowireCapableBeanFactory.java:498) - Eagerly caching bean 'CL04001Action' to allow for resolving potential circular references 
2010-01-19 17:07:32,787 [main] DEBUG (Cglib2AopProxy.java:150) - Creating CGLIB2 proxy: target source is SimpleBeanTargetSource for target bean 'scopedTarget.CL04001Action' of type [com.mycom.action.cl.CL04001Action] 
2010-01-19 17:07:32,790 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.action.cl.context.CL04001Context com.mycom.action.cl.CL04001Action.getContext() 
2010-01-19 17:07:32,791 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.action.cl.CL04001Action.setContext(com.mycom.action.cl.context.CL04001Context) 
2010-01-19 17:07:32,792 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.CL04001Main() 
2010-01-19 17:07:32,792 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public int com.mycom.action.cl.CL04001Action.getCounter() 
2010-01-19 17:07:32,792 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.action.cl.CL04001Action.setCounter(int) 
2010-01-19 17:07:32,793 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.cl04001MainPage() 
2010-01-19 17:07:32,793 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.cl04001Permit() 
2010-01-19 17:07:32,793 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.cl04001PermitPage() 
2010-01-19 17:07:32,794 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.cl03001Confirm() throws java.lang.Exception 
2010-01-19 17:07:32,794 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.action.cl.CL04001Action.cl03001Refuse() 
2010-01-19 17:07:32,794 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.model.cl.CL04001Model com.mycom.action.cl.CL04001Action.getModel() 
2010-01-19 17:07:32,795 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.action.cl.CL04001Action.setModel(com.mycom.model.cl.CL04001Model) 
2010-01-19 17:07:32,795 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: protected java.lang.Object com.mycom.core.struts2.action.DefaultEsoafAction.get(java.lang.String) 
2010-01-19 17:07:32,795 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.getLanguage() 
2010-01-19 17:07:32,796 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: protected void com.mycom.core.struts2.action.DefaultEsoafAction.set(java.lang.String,java.lang.Object) 
2010-01-19 17:07:32,796 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.getCountry() 
2010-01-19 17:07:32,797 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.getSessionId() 
2010-01-19 17:07:32,797 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.core.context.AppContext com.mycom.core.struts2.action.DefaultEsoafAction.getAppContext() 
2010-01-19 17:07:32,797 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.loadMessage(java.lang.String,java.lang.String[]) 
2010-01-19 17:07:32,798 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.loadMessage(java.lang.String) 
2010-01-19 17:07:32,798 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.core.context.SystemInfo com.mycom.core.struts2.action.DefaultEsoafAction.getSystemInfo() 
2010-01-19 17:07:32,798 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setSystemInfo(com.mycom.core.context.SystemInfo) 
2010-01-19 17:07:32,799 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setAppContext(com.mycom.core.context.AppContext) 
2010-01-19 17:07:32,807 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: protected void com.mycom.core.struts2.action.DefaultEsoafAction.setGlobalSession(java.lang.String,java.lang.Object) 
2010-01-19 17:07:32,807 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: protected java.lang.Object com.mycom.core.struts2.action.DefaultEsoafAction.getGlobalSession(java.lang.String) 
2010-01-19 17:07:32,812 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.handleEsoafException(com.mycom.core.exception.DefaultEsoafException,com.mycom.core.struts2.action.DefaultEsoafAction$EType,java.lang.String) throws java.lang.RuntimeException 
2010-01-19 17:07:32,813 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.handleEsoafException(com.mycom.core.exception.DefaultEsoafException) 
2010-01-19 17:07:32,813 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setCountry(java.lang.String) 
2010-01-19 17:07:32,814 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.getSessionTimeoutDuration() 
2010-01-19 17:07:32,814 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setJson(java.lang.String) 
2010-01-19 17:07:32,815 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.core.model.GeneralModel com.mycom.core.struts2.action.DefaultEsoafAction.getGeneralModel() 
2010-01-19 17:07:32,816 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setInit(boolean) 
2010-01-19 17:07:32,817 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: protected java.util.Map com.mycom.core.struts2.action.DefaultEsoafAction.initTransacitonSession() 
2010-01-19 17:07:32,818 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setInvalidateSession(boolean) 
2010-01-19 17:07:32,818 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.mycom.core.struts2.action.DefaultEsoafAction.getInvalidSession() 
2010-01-19 17:07:32,819 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.mycom.core.struts2.action.DefaultEsoafAction.getJson() 
2010-01-19 17:07:32,820 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.changeLocale() 
2010-01-19 17:07:32,821 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setGeneralModel(com.mycom.core.model.GeneralModel) 
2010-01-19 17:07:32,822 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.mycom.core.struts2.action.DefaultEsoafAction.setLanguage(java.lang.String) 
2010-01-19 17:07:32,823 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.List com.mycom.core.struts2.action.DefaultEsoafAction.buildPageList(int) 
2010-01-19 17:07:32,828 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public com.mycom.core.struts2.interceptor.Category com.mycom.core.struts2.action.DefaultEsoafAction.getCatetory() 
2010-01-19 17:07:32,829 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.Object com.opensymphony.xwork2.ActionSupport.clone() throws java.lang.CloneNotSupportedException 
2010-01-19 17:07:32,830 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.validate() 
2010-01-19 17:07:32,831 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.execute() throws java.lang.Exception 
2010-01-19 17:07:32,845 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.pause(java.lang.String) 
2010-01-19 17:07:32,846 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Locale com.opensymphony.xwork2.ActionSupport.getLocale() 
2010-01-19 17:07:32,846 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.input() throws java.lang.Exception 
2010-01-19 17:07:32,847 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.addActionError(java.lang.String) 
2010-01-19 17:07:33,251 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.setActionErrors(java.util.Collection) 
2010-01-19 17:07:33,252 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Collection com.opensymphony.xwork2.ActionSupport.getActionErrors() 
2010-01-19 17:07:33,252 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.setActionMessages(java.util.Collection) 
2010-01-19 17:07:33,252 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Collection com.opensymphony.xwork2.ActionSupport.getActionMessages() 
2010-01-19 17:07:33,253 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Collection com.opensymphony.xwork2.ActionSupport.getErrorMessages() 
2010-01-19 17:07:33,253 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Map com.opensymphony.xwork2.ActionSupport.getErrors() 
2010-01-19 17:07:33,253 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.setFieldErrors(java.util.Map) 
2010-01-19 17:07:33,254 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.Map com.opensymphony.xwork2.ActionSupport.getFieldErrors() 
2010-01-19 17:07:33,254 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.opensymphony.xwork2.ActionSupport.hasKey(java.lang.String) 
2010-01-19 17:07:33,254 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String[]) 
2010-01-19 17:07:33,255 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String) 
2010-01-19 17:07:33,255 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String) 
2010-01-19 17:07:33,255 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String,java.lang.String) 
2010-01-19 17:07:33,256 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.util.List) 
2010-01-19 17:07:33,256 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String,java.util.List) 
2010-01-19 17:07:33,256 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String,java.lang.String[]) 
2010-01-19 17:07:33,257 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String,java.util.List,com.opensymphony.xwork2.util.ValueStack) 
2010-01-19 17:07:33,257 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.getText(java.lang.String,java.lang.String,java.lang.String[],com.opensymphony.xwork2.util.ValueStack) 
2010-01-19 17:07:33,258 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.ResourceBundle com.opensymphony.xwork2.ActionSupport.getTexts() 
2010-01-19 17:07:33,258 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.util.ResourceBundle com.opensymphony.xwork2.ActionSupport.getTexts(java.lang.String) 
2010-01-19 17:07:33,258 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.addActionMessage(java.lang.String) 
2010-01-19 17:07:33,259 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.addFieldError(java.lang.String,java.lang.String) 
2010-01-19 17:07:33,259 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String com.opensymphony.xwork2.ActionSupport.doDefault() throws java.lang.Exception 
2010-01-19 17:07:33,259 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.opensymphony.xwork2.ActionSupport.hasActionErrors() 
2010-01-19 17:07:33,260 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.opensymphony.xwork2.ActionSupport.hasActionMessages() 
2010-01-19 17:07:33,260 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.opensymphony.xwork2.ActionSupport.hasErrors() 
2010-01-19 17:07:33,260 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public boolean com.opensymphony.xwork2.ActionSupport.hasFieldErrors() 
2010-01-19 17:07:33,261 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.clearFieldErrors() 
2010-01-19 17:07:33,261 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.clearActionErrors() 
2010-01-19 17:07:33,261 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.clearMessages() 
2010-01-19 17:07:33,262 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.clearErrors() 
2010-01-19 17:07:33,262 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public void com.opensymphony.xwork2.ActionSupport.clearErrorsAndMessages() 
2010-01-19 17:07:33,262 [main] DEBUG (Cglib2AopProxy.java:753) - Found finalize() method - using NO_OVERRIDE 
2010-01-19 17:07:33,263 [main] DEBUG (Cglib2AopProxy.java:770) - Found 'hashCode' method: public native int java.lang.Object.hashCode() 
2010-01-19 17:07:33,263 [main] DEBUG (Cglib2AopProxy.java:765) - Found 'equals' method: public boolean java.lang.Object.equals(java.lang.Object) 
2010-01-19 17:07:33,263 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public java.lang.String java.lang.Object.toString() 
2010-01-19 17:07:33,264 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public abstract java.lang.Object org.springframework.aop.scope.ScopedObject.getTargetObject() 
2010-01-19 17:07:33,264 [main] DEBUG (Cglib2AopProxy.java:802) - Unable to apply any optimisations to advised method: public abstract void org.springframework.aop.scope.ScopedObject.removeFromScope() 
2010-01-19 17:07:33,264 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract int org.springframework.aop.framework.Advised.indexOf(org.aopalliance.aop.Advice) 
2010-01-19 17:07:33,265 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract int org.springframework.aop.framework.Advised.indexOf(org.springframework.aop.Advisor) 
2010-01-19 17:07:33,265 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.isFrozen() 
2010-01-19 17:07:33,265 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract org.springframework.aop.TargetSource org.springframework.aop.framework.Advised.getTargetSource() 
2010-01-19 17:07:33,266 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.addAdvisor(org.springframework.aop.Advisor) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,266 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.addAdvisor(int,org.springframework.aop.Advisor) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,266 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.setTargetSource(org.springframework.aop.TargetSource) 
2010-01-19 17:07:33,267 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.setPreFiltered(boolean) 
2010-01-19 17:07:33,267 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.isProxyTargetClass() 
2010-01-19 17:07:33,267 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.setExposeProxy(boolean) 
2010-01-19 17:07:33,268 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.isExposeProxy() 
2010-01-19 17:07:33,268 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.addAdvice(org.aopalliance.aop.Advice) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,268 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.addAdvice(int,org.aopalliance.aop.Advice) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,269 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.isPreFiltered() 
2010-01-19 17:07:33,269 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract java.lang.Class[] org.springframework.aop.framework.Advised.getProxiedInterfaces() 
2010-01-19 17:07:33,269 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.isInterfaceProxied(java.lang.Class) 
2010-01-19 17:07:33,270 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract org.springframework.aop.Advisor[] org.springframework.aop.framework.Advised.getAdvisors() 
2010-01-19 17:07:33,270 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract void org.springframework.aop.framework.Advised.removeAdvisor(int) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,270 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.removeAdvisor(org.springframework.aop.Advisor) 
2010-01-19 17:07:33,271 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.replaceAdvisor(org.springframework.aop.Advisor,org.springframework.aop.Advisor) throws org.springframework.aop.framework.AopConfigException 
2010-01-19 17:07:33,271 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract boolean org.springframework.aop.framework.Advised.removeAdvice(org.aopalliance.aop.Advice) 
2010-01-19 17:07:33,271 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract java.lang.String org.springframework.aop.framework.Advised.toProxyConfigString() 
2010-01-19 17:07:33,272 [main] DEBUG (Cglib2AopProxy.java:759) - Method is declared on Advised interface: public abstract java.lang.Class org.springframework.aop.TargetClassAware.getTargetClass() 
2010-01-19 17:07:33,372 [main] DEBUG (AbstractBeanFactory.java:241) - Returning cached instance of singleton bean 'org.springframework.transaction.config.internalTransactionAdvisor' 
2010-01-19 17:07:33,373 [main] DEBUG (AbstractAutowireCapableBeanFactory.java:452) - Finished creating instance of bean 'CL04001Action' 
+0

Tại bất kỳ thời điểm nào, nhật ký hiển thị khoảng cách lớn giữa một mục nhập và tiếp theo? – skaffman

+0

bạn có tiến bộ gì không? nếu có, hãy chia sẻ nó. – Bozho

+0

Bạn có nhận được bất kỳ thứ gì phù hợp với mình không? –

Trả lời

0

Tôi tìm thấy sau trong nguồn suối (có lẽ không mùa xuân 3, nhưng vẫn cùng lớp và thông điệp)

// Check to see if we have fixed interceptor to serve this method. 
if (isStatic && isFrozen && fixedInterceptorMap.containsKey(key)) { 
    .... 
} else { 
    logger.debug("Unable to apply any optimisations to advised " + 
     "method " + method + " - using AOP_PROXY"); 
} 

tôi không biết gì "đóng băng" và "cố định" có nghĩa là cho máy bay đánh chặn, nhưng tôi nghĩ rằng nó là an toàn để bỏ qua thông báo này, vì hầu hết các lời khuyên dường như phi đông lạnh và Không n-cố định.

Quan trọng hơn - đó là thông báo gỡ lỗi. Nó sẽ làm phiền bạn nếu nó là WARN hoặc cao hơn. Thay đổi cấu hình log4j không hiển thị DEBUG và xem thời gian khởi động của bạn là gì. Có lẽ vấn đề là ở nơi khác.

-1

Tôi chưa bao giờ sử dụng proxy dựa trên CGI nhưng proxy dựa trên JDK yêu cầu giao diện để thực hiện AOP. Nếu giao diện là một vấn đề, hãy thử giải pháp dưới đây.

.

Các lớp hành động struts điển hình được đưa ra dưới đây. Lưu ý rằng nó không thực hiện bất kỳ giao diện nào.

public class MyAction extends Action { 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response) { 
       : 
} 
} 

.

Để giải quyết vấn đề này, hãy tạo giao diện với phương thức execute() tương tự như trong lớp Hành động Struts.

public interface IAction { 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response); 
} 

.

Thực hiện giao diện này trong tất cả các hành động của bạn

public class MyAction extends Action implements IAction { 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response) { 
       : 
} 
} 
+0

Người dùng nói trước rằng anh ta sử dụng Struts 2; những gì bạn đang mô tả là cụ thể cho Struts 1 và sẽ không cho anh ta bất kỳ sự giúp đỡ nào. –

+0

... và sau đó tôi quyết định rằng điều đó không đáng giá -1, nhưng điều darn sẽ không cho phép tôi hoàn tác nó. Tôi xin lỗi. –

+0

Hmmm, Jim để bạn ăn một số điểm của mình huh! Đừng bận tâm, tôi sẽ kiếm thêm sau, hãy cẩn thận trong tương lai mặc dù :-) –

1

Giả sử rằng bạn không phải Intrested để tư vấn cho bất kỳ phương pháp liệt kê trong bản ghi gỡ lỗi của bạn và tùy thuộc vào khai thác gỗ khung bạn sử dụng, thay đổi cấp độ đăng nhập của gói bạn không bị xâm nhập vào INFO hoặc cao hơn.

Ví dụ, nếu bạn đang sử dụng log4j

log4j.logger.org.springframework=INFO 

này sẽ dọn sạch tất cả sự lộn xộn trong nhật ký của mình và do đó cải thiện hiệu suất khởi động

2

Trên bề mặt nó thực sự trông giống như một vấn đề AOPConfig. Bạn đang sử dụng bất kỳ khía cạnh nào? Rõ ràng nó đang cố gắng đánh chặn một cuộc gọi phương thức.

Đó là khiếu nại trực tiếp và ngoại lệ AOPConfig do đó phải có điều gì đó đang xảy ra với phía AOP của sự vật.

Hoặc bạn đã giới thiệu lỗi bằng cách sử dụng AOP hoặc bạn chưa nâng cấp lên Spring 3 một cách chính xác và có vấn đề với AOP useage được xây dựng trong Spring 3 tức là cấu hình của bạn là cá.

Kiểm tra cấu hình Spring và đảm bảo bạn đã nâng cấp chính xác.

Lưu ý: có vẻ như bạn đang sử dụng autowire trong Spring, điều này có nghĩa là một phần cấu hình của bạn có thể không tự động theo đúng quy tắc Spring.

Các vấn đề liên quan