View Full Version : Global tracing
rstearns01
Nov 19th, 2004, 03:11 PM
Is there a way I can configure Spring AOP to allow printing of entry and exit of methods for multiple classes without defining individual proxies for each one?
irbouho
Nov 19th, 2004, 11:28 PM
Yes. You can use BeanNameAutoProxyCreator to apply the Trace Advisor. BeanNameAutoProxyCreator can proxy singletons as well as prototypes.
HTH
Rod Johnson
Nov 22nd, 2004, 05:04 PM
Or another "auto proxy creator" like DefaultAdvisorAutoProxyCreator. This looks at all Advisors defined in your context, and checks whether the pointcut matches each bean defined.
rstearns01
May 10th, 2005, 07:52 AM
I'm trying to use the DefaultAdvisorAutoProxyCreator as such:
<bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.Defaul tAdvisorAutoProxyCreator"/>
<bean id="tracingBeforeAdvisor" class="org.springframework.aop.support.RegexpMethodPointc utAdvisor">
<property name="pattern"><value>.*</value></property>
<property name="advice"><bean class="com.test.service.audit.TraceBeforeAdvice"/></property>
</bean>
TraceBeforeAdvice is the same as the Spring TraceInterceptor, but logs input arguments as well. When I add these beans, I get the following exception first thing:
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy40] to required type [com.test.data.jdbc.AppConfigJdbcImpl] for property 'appConfig'
at org.springframework.beans.BeanWrapperImpl.doTypeCo nversionIfNecessary(BeanWrapperImpl.java:1010)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:772)
I can provide a longer stack trace if that would help. The AppConfig bean is the first one created and being injected. I'm using 1.2RC2. My property takes the interface (com.test.data.AppConfig). I took what I found in the reference docs and Pro Spring, but probably made a mistaken assumption in filling in the blanks. Are there any examples of application-wide (all classes/all methods) tracing using AOP in any of the projects or sub-projects? I checked the samples and didn't see anything.
The app works fine without it.
Thanks in advance.
pagilan
Feb 8th, 2006, 01:02 AM
did you find a solution for your problem? Please let me know. Iam interested.
jbalint
Feb 8th, 2006, 02:07 AM
Are you using com.xxx.AppConfigJdbcImpl as the parameter type for the setAppConfig() method? You should instead have an interface, namely AppConfig and then have AppConfigJdbcImpl implement this interface. It looks like a JDK-proxy (which implements interfaces) and you are asking for a specific implementation.
Jess
alexandrupopescu
Feb 9th, 2006, 07:21 AM
I am wondering if adding cglib would solve this?
jak
Mar 6th, 2006, 05:28 PM
Did anyone find out what the cause of this is?
I am trying to do the same thing, using BeanNameAutoProxyCreator, and getting the same error. The proxy creator is applying enter/exit tracing to methods, and also logging exceptions to a particular log.
Code:
<bean id="proxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNa meAutoProxyCreator">
<property name="beanNames">
<list>
<value>*</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>loggingThrowsAdvice</value>
<value>tracingBeforeAdvice</value>
<value>tracingAfterAdvice</value>
</list>
</property>
</bean>
<!-- Advice -->
<bean id="loggingThrowsAdvice" class="com.nike.gtcustoms.business.LoggingThrowsAdvice"/>
<bean id="tracingBeforeAdvice" class="com.nike.gtcustoms.business.TracingBeforeAdvice"/>
<bean id="tracingAfterAdvice" class="com.nike.gtcustoms.business.TracingAfterAdvice"/>
The full stack trace looks like this:
2006-03-06 10:42:07,739 ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy0]
java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy0]
at org.springframework.aop.framework.adapter.ThrowsAd viceInterceptor.<init>(ThrowsAdviceInterceptor.java:86)
at org.springframework.aop.framework.adapter.ThrowsAd viceAdapter.getInterceptor(ThrowsAdviceAdapter.jav a:41)
at org.springframework.aop.framework.adapter.DefaultA dvisorAdapterRegistry.getInterceptors(DefaultAdvis orAdapterRegistry.java:77)
at org.springframework.aop.framework.AdvisorChainFact oryUtils.calculateInterceptorsAndDynamicIntercepti onAdvice(AdvisorChainFactoryUtils.java:77)
at org.springframework.aop.framework.HashMapCachingAd visorChainFactory.getInterceptorsAndDynamicInterce ptionAdvice(HashMapCachingAdvisorChainFactory.java :47)
at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:156)
at $Proxy2.getConnection(Unknown Source)
at org.springframework.orm.hibernate3.LocalDataSource ConnectionProvider.getConnection(LocalDataSourceCo nnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:72)
at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1174)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.newSessionFactory(LocalSessionFactoryBean .java:885)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.afterPropertiesSet(LocalSessionFactoryBea n.java:797)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:860)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:829)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:409)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:238)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:148)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:247)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:331)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:155)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:240)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:178)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 49)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:804)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:693)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
Without the aspects, the application runs fine.
Since I am applying these aspects to all beans (including beans that are already being proxied), is it possible that I'm proxying proxied objects, which is creating this error?
jak
Mar 6th, 2006, 05:37 PM
So,
I tried running the app with one advice at a time. The stack trace in my previous post is when I only have the ThrowsAdvice advice enabled.
The following stack trace occurs when I only have the TracingBeforeAdvice enabled (it is similar to the stack trace in a previous posting in this thread).
2006-03-06 14:33:13,328 ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'LiquidationDAO' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyAccessExceptions Exception: PropertyAccessExceptionsException (1 errors); nested PropertyAccessExceptions are: [org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy7] to required type [org.springframework.orm.hibernate3.HibernateTempla te] for property 'hibernateTemplate'; nested exception is java.lang.IllegalArgumentException: No matching editors or conversion strategy found]
PropertyAccessExceptionsException (1 errors)
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy7] to required type [org.springframework.orm.hibernate3.HibernateTempla te] for property 'hibernateTemplate'; nested exception is java.lang.IllegalArgumentException: No matching editors or conversion strategy found
java.lang.IllegalArgumentException: No matching editors or conversion strategy found
at org.springframework.beans.PropertyTypeConverter.do TypeConversionIfNecessary(PropertyTypeConverter.ja va:156)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:723)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:575)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:769)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValues(BeanWrapperImpl.java:796)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValues(BeanWrapperImpl.java:785)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:775)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:575)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:405)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:238)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:148)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:253)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:331)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:155)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:240)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:178)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 49)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:804)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:693)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
pagilan
Mar 6th, 2006, 08:24 PM
Try changing the order of interceptors from
<list>
<value>loggingThrowsAdvice</value>
<value>tracingBeforeAdvice</value>
<value>tracingAfterAdvice</value>
</list>
to ..........
<list>
<value>tracingBeforeAdvice</value>
<value>loggingThrowsAdvice</value>
<value>tracingAfterAdvice</value>
</list>
jak
Mar 6th, 2006, 08:34 PM
Changing the order of the interceptors did not work. The following stack trace in the logs on deployment:
2006-03-06 17:31:05,907 ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy1]
java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy1]
at org.springframework.aop.framework.adapter.ThrowsAd viceInterceptor.<init>(ThrowsAdviceInterceptor.java:86)
at org.springframework.aop.framework.adapter.ThrowsAd viceAdapter.getInterceptor(ThrowsAdviceAdapter.jav a:41)
at org.springframework.aop.framework.adapter.DefaultA dvisorAdapterRegistry.getInterceptors(DefaultAdvis orAdapterRegistry.java:77)
at org.springframework.aop.framework.AdvisorChainFact oryUtils.calculateInterceptorsAndDynamicIntercepti onAdvice(AdvisorChainFactoryUtils.java:77)
at org.springframework.aop.framework.HashMapCachingAd visorChainFactory.getInterceptorsAndDynamicInterce ptionAdvice(HashMapCachingAdvisorChainFactory.java :47)
at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:156)
at $Proxy4.getConnection(Unknown Source)
at org.springframework.orm.hibernate3.LocalDataSource ConnectionProvider.getConnection(LocalDataSourceCo nnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:72)
at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1174)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.newSessionFactory(LocalSessionFactoryBean .java:885)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.afterPropertiesSet(LocalSessionFactoryBea n.java:797)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:860)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:829)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:409)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:238)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:148)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:247)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:331)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:155)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:240)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:178)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 49)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:804)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:693)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
The code for the LoggingThrowsAdvice is simple and right now just does a System.out:
public class LoggingThrowsAdvice implements ThrowsAdvice {
private Logger log = Logger.getLogger(LoggingThrowsAdvice.class);
public void afterThrowing(Throwable t) {
System.out.println("BREAK 1");
//log.error("An error has occurred in method");
//log.error(t);
}
public void afterThrowing(Method method, Object[] args, Object target, Throwable t) {
System.out.println("BREAK 1");
//log.error("An error has occurred in method " + method.getName() + " with args " + args.toString());
//log.error(t);
}
}
jbalint
Mar 7th, 2006, 06:15 PM
Please show all/more of your Spring config.
Jess
jak
Mar 7th, 2006, 07:48 PM
Please bear with me, since this is my first foray into AOP.
I'm running into a couple of issues here, so to simplify I am just trying to setup an AfterThrows advice.
My aspect is setup like so:
<bean id="proxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNa meAutoProxyCreator">
<property name="beanNames">
<list>
<value>*</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>loggingThrowsAdvice</value>
</list>
</property>
</bean>
<bean id="loggingThrowsAdvice" class="com.nike.gtcustoms.business.LoggingThrowsAdvice"/>
The exception stack trace, which occurs upon deployment, looks like this:
2006-03-07 16:46:29,556 ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy0]
java.lang.IllegalArgumentException: At least one handler method must be found in class [class $Proxy0]
at org.springframework.aop.framework.adapter.ThrowsAd viceInterceptor.<init>(ThrowsAdviceInterceptor.java:86)
at org.springframework.aop.framework.adapter.ThrowsAd viceAdapter.getInterceptor(ThrowsAdviceAdapter.jav a:41)
at org.springframework.aop.framework.adapter.DefaultA dvisorAdapterRegistry.getInterceptors(DefaultAdvis orAdapterRegistry.java:77)
at org.springframework.aop.framework.AdvisorChainFact oryUtils.calculateInterceptorsAndDynamicIntercepti onAdvice(AdvisorChainFactoryUtils.java:77)
at org.springframework.aop.framework.HashMapCachingAd visorChainFactory.getInterceptorsAndDynamicInterce ptionAdvice(HashMapCachingAdvisorChainFactory.java :47)
at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:156)
at $Proxy2.getConnection(Unknown Source)
at org.springframework.orm.hibernate3.LocalDataSource ConnectionProvider.getConnection(LocalDataSourceCo nnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:72)
at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1174)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.newSessionFactory(LocalSessionFactoryBean .java:885)
at org.springframework.orm.hibernate3.LocalSessionFac toryBean.afterPropertiesSet(LocalSessionFactoryBea n.java:797)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:860)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:829)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:409)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:238)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:148)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:247)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:331)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:155)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:240)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:178)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 49)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:804)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:693)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
Looks like its throwing up on the ThrowsAdvice I setup, which is very simple (for debugging purposes).
Code is:
public class LoggingThrowsAdvice implements ThrowsAdvice {
public void afterThrowing(Throwable t) {
System.out.println("BREAK 1");
}
public void afterThrowing(Method method, Object[] args, Object target, Throwable t) {
System.out.println("BREAK 1");
}
}
Everything works ok when I comment out the auto proxy bean.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.