Colin, thank you for all your help with this. It is far more likely you are correct, but here is the process as I understand it (with Spring 1.1). Within createAdvisorChain the following code is executed (pasted verbatim)
Code:
// add a named interceptor
Object advice = null;
// avoid unnecessary creation of prototype bean just for advisor chain initialization
if (isSingleton() || this.beanFactory.isSingleton(this.interceptorNames[i])) {
advice = this.beanFactory.getBean(this.interceptorNames[i]);
}
addAdvisorOnChainCreation(advice, this.interceptorNames[i]);