I started getting the above exception after altering the following class:
@Aspect
@Order(1)
public class LoggingExceptionAdvice {
private static Logger logger = Logger.getLogger(LoggingExceptionAdvice.class);
@AfterThrowing(pointcut="za.co.metcapri.common.aop.SystemPointCuts.inCapri()",throwing="ex")
public void afterThrowing(Exception ex) throws Throwable {
if (!(ex instanceof BusinessException)){
// StringWriter stringWriter = new StringWriter();
// PrintWriter printWriter = new PrintWriter(stringWriter, true);
// ex.printStackTrace(printWriter);
// printWriter.close();
// logger.error(stringWriter.toString());
logger.error(ex);
}
}
}
The commented out code above is what caused this exception:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' of type [org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:228)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:116)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1047)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
Truncated. see log file for complete stacktrace
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' of type [org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:279)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1047)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
Truncated. see log file for complete stacktrace
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' of type [org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:279)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1047)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
Truncated. see log file for complete stacktrace
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' of type [org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:228)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:111)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1047)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
Truncated. see log file for complete stacktrace
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter#4b084b08' defined in ServletContext resource [/WEB-INF/dataAccessJPAContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:454)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:221)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:111)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1047)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:843)
Truncated. see log file for complete stacktrace
java.lang.IllegalArgumentException: Advice configuration failed
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getAdvice(ReflectiveAspectJAdvisorFactory.java:223)
at org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl.instantiateAdvice(InstantiationModelAwarePointcutAdvisorImpl.java:145)
at org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl.<init>(InstantiationModelAwarePointcutAdvisorImpl.java:94)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getAdvisor(ReflectiveAspectJAdvisorFactory.java:135)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory$1.doWith(ReflectiveAspectJAdvisorFactory.java:75)
Truncated. see log file for complete stacktrace
java.lang.IllegalStateException: Throwing argument name 'ex' was not bound in advice arguments
at org.springframework.aop.aspectj.AbstractAspectJAdvice.bindExplicitArguments(AbstractAspectJAdvice.java:439)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.bindArgumentsByName(AbstractAspectJAdvice.java:381)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.calculateArgumentBindings(AbstractAspectJAdvice.java:350)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.afterPropertiesSet(AbstractAspectJAdvice.java:316)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getAdvice(ReflectiveAspectJAdvisorFactory.java:220)
Truncated. see log file for complete stacktrace
Has anyone else experienced this?
PS. Added the commented out code, so that it would log the full stack trace instead of just the first line of the exception.
Strange thing is that the app runs fine on Tomcat 6, and even on my local Weblogic 9.2 server, but bombs out on the Development server (also Weblogic 9.2 running on AIX).
Regards,
Enrico Goosen
Software Developer
Metropolitan Employee Benefits
Email: EGoo...@metropolitan.co.za
Direct: 021 940 6231
Fax: 021 917 3089
Mobile: 083 305 5676
This message is subject to Metropolitans disclaimer pertaining to electronic communications. To view the disclaimer please visit http://www.metropolitan.co.za/disclaimer.asp
Ha ha, ok cool.
From: CTJUG...@googlegroups.com [mailto:CTJUG...@googlegroups.com] On Behalf Of James Mc Millan
Sent: 03 December 2008 01:42 PM
To: CTJUG...@googlegroups.com
<!-- This Host is the first "Virtual Host": www.example.com -->
<Host name="www.example.com" appBase="/home/example/webapp">
<Context path="" docBase="."/>
</Host>