[ https://issues.apache.org/jira/browse/COCOON-2036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Grzegorz Kossakowski closed COCOON-2036. ---------------------------------------- Resolution: Fixed Applied in r611562. Thanks Alexander for providing a patch. > Throw an exception when circular dependencies in servlet connections are > detected. > ---------------------------------------------------------------------------------- > > Key: COCOON-2036 > URL: https://issues.apache.org/jira/browse/COCOON-2036 > Project: Cocoon > Issue Type: Bug > Components: - Servlet service framework > Affects Versions: 2.2-dev (Current SVN) > Reporter: Alexander Klimetschek > Assignee: Grzegorz Kossakowski > Priority: Minor > Attachments: circular-servlet-connections-warning.patch > > > Circular dependencies in servlet connections lead to a Spring exception [1] > in [2] that does not provide any help. The previous implementation (block:) > did allow circular dependencies because they were not handled by spring but > by custom code. > Solution would be either to allow them (probably difficult to implement with > spring) or, if not, to provide a helpful warning message, that skips this > problem. The latter could be a check for embeddedServlet==null and, if not, > throw an exception saying "you might have a circular dependency in > <servlet-foobar>". > --- > [1]: > The exception is thrown after ServletFactoryBean.getObject() tries to create > a proxy for the embeddedServlet, which is null in the case of a circular > dependency (one of the circle endpoints is created, but the other will be > null). > Caused by: org.springframework.aop.framework.AopConfigException: Can't proxy > null object > at > org.springframework.aop.framework.ProxyFactory.<init>(ProxyFactory.java:49) > at > org.apache.cocoon.servletservice.spring.ServletFactoryBean.getObject(ServletFactoryBean.java:194) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getObjectFromFactoryBean(AbstractBeanFactory.java:1211) > [2]: > public Object getObject() throws Exception { > ProxyFactory proxyFactory = new ProxyFactory(this.embeddedServlet); > proxyFactory.addAdvice(new ServiceInterceptor()); > if (this.mountPath != null) { > proxyFactory.addAdvisor(new MountableMixinAdvisor()); > } > proxyFactory.addAdvisor(new ServletServiceContextMixinAdvisor()); > return proxyFactory.getProxy(); > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.