Hi,
Your Spring configuration is utilizing AOP and as such it requires
that those Spring components that use AOP need to be proxied such that
methods invoked on the component can be intercepted.
From the stack trace the AOP'ed Spring component "studentsResource"
is a root resource class.
Without understand more about your Spring configuration I do no know
why AOP is being utilized.
Paul.
On Nov 15, 2009, at 12:22 AM, Nabil Benothman wrote:
>
> Hi all,
> I developped an application using Jersey and Spring, but when i
> tried to
> acces my resources, I got the following exception :
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean
> with name 'studentsResource': Initialization of bean failed; nested
> exception is org.springframework.aop.framework.AopConfigException:
> Cannot
> proxy target class because CGLIB2 is not available. Add CGLIB to the
> class
> path or specify proxy interfaces.
>
> Or in my maven dependencies i added CGLIB dependency :
>
> <dependency>
> <groupId>cglib</groupId>
> <artifactId>cglib-nodep</artifactId>
> <version>2.2</version>
> </dependency>
>
> I dont undestand where this error come from.
> NB : this error was not occurs when i used XML converters istead of
> "com.sun.jersey.api.view.Viewable" to get a JSF page.
> You find bellow the stack trace from glassfish log.
>
> does anyone had the same error ?
>
> Thanks in advance.
>
>
>
> PWC1406 : servlet.service() pour le servlet Jersey Spring a émis une
> exception. org.springframework.beans.factory.BeanCreationException:
> Error
> creating bean with name 'studentsResource': Initialization of bean
> failed;
> nested exception is
> org.springframework.aop.framework.AopConfigException:
> Cannot proxy target class because CGLIB2 is not available. Add CGLIB
> to the
> class path or specify proxy interfaces. at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .doCreateBean(AbstractAutowireCapableBeanFactory.java:478)
> at
> org
> .springframework
> .beans.factory.support.AbstractAutowireCapableBeanFactory
> $1.run(AbstractAutowireCapableBeanFactory.java:409)
> at java.security.AccessController.doPrivileged(Native Method) at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .createBean(AbstractAutowireCapableBeanFactory.java:380)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory
> $2.getObject(AbstractBeanFactory.java:302)
> at
> org.springframework.web.context.request.AbstractRequestAttributesScope.get
> (AbstractRequestAttributesScope.java:43)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168)
> at
> org
> .springframework
> .context
> .support
> .AbstractApplicationContext.getBean(AbstractApplicationContext.java:
> 885)
> at
> com.sun.jersey.spi.spring.container.SpringComponentProviderFactory
> $
> SpringManagedComponentProvider
> .getInstance(SpringComponentProviderFactory.java:213)
> at
> com.sun.jersey.server.impl.component.IoCResourceFactory
> $PerRequestWrapper.getInstance(IoCResourceFactory.java:138)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationContext.getResource(WebApplicationContext.java:160)
> at
> com
> .sun
> .jersey
> .server
> .impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:65)
> at
> com
> .sun
> .jersey
> .server
> .impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .uri
> .rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.service(WebComponent.java:
> 324)
> at
> com
> .sun
> .jersey
> .spi
> .container.servlet.ServletContainer.service(ServletContainer.java:425)
> at
> com
> .sun
> .jersey
> .spi
> .container.servlet.ServletContainer.service(ServletContainer.java:604)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.servletService(ApplicationFilterChain.java:
> 427)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 333)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke
> (FilterSecurityInterceptor.java:109)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter
> (FilterSecurityInterceptor.java:83)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .ui
> .SessionFixationProtectionFilter
> .doFilterHttp(SessionFixationProtectionFilter.java:67)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .ui
> .ExceptionTranslationFilter
> .doFilterHttp(ExceptionTranslationFilter.java:101)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .providers
> .anonymous
> .AnonymousProcessingFilter
> .doFilterHttp(AnonymousProcessingFilter.java:105)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .ui
> .rememberme
> .RememberMeProcessingFilter
> .doFilterHttp(RememberMeProcessingFilter.java:116)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .wrapper
> .SecurityContextHolderAwareRequestFilter
> .doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .ui
> .basicauth
> .BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .ui
> .AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:
> 277)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security
> .context
> .HttpSessionContextIntegrationFilter
> .doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
> at
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> at
> org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> at
> org
> .springframework
> .security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
> at
> org
> .springframework
> .web
> .filter
> .DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> at
> org
> .springframework
> .web
> .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 246)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 313)
> at
> org
> .apache
> .catalina
> .core.StandardContextValve.invokeInternal(StandardContextValve.java:
> 287)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 218)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at
> com
> .sun
> .enterprise
> .web
> .PESessionLockingStandardPipeline
> .invoke(PESessionLockingStandardPipeline.java:98)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at
> org
> .apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
> 1096) at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 166)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at
> org
> .apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
> 1096) at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
> 288) at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
> (DefaultProcessorTask.java:647)
> at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
> (DefaultProcessorTask.java:579)
> at
> com
> .sun
> .enterprise
> .web
> .connector
> .grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
> at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask
> (DefaultReadTask.java:341)
> at
> com
> .sun
> .enterprise
> .web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at
> com
> .sun
> .enterprise
> .web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:
> 265)
> at
> com
> .sun
> .enterprise
> .web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:
> 106)
> Caused by: org.springframework.aop.framework.AopConfigException:
> Cannot
> proxy target class because CGLIB2 is not available. Add CGLIB to the
> class
> path or specify proxy interfaces. at
> org
> .springframework
> .aop
> .framework
> .DefaultAopProxyFactory.createAopProxy(DefaultAopProxyFactory.java:67)
> at
> org
> .springframework
> .aop
> .framework
> .ProxyCreatorSupport.createAopProxy(ProxyCreatorSupport.java:106)
> at
> org
> .springframework
> .aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
> at
> org
> .springframework
> .aop
> .framework
> .autoproxy
> .AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:
> 473)
> at
> org
> .springframework
> .aop
> .framework
> .autoproxy
> .AbstractAutoProxyCreator
> .wrapIfNecessary(AbstractAutoProxyCreator.java:348)
> at
> org
> .springframework
> .aop
> .framework
> .autoproxy
> .AbstractAutoProxyCreator
> .postProcessAfterInitialization(AbstractAutoProxyCreator.java:309)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .applyBeanPostProcessorsAfterInitialization
> (AbstractAutowireCapableBeanFactory.java:361)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .initializeBean(AbstractAutowireCapableBeanFactory.java:1342)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
> ... 87 more
>
> --
> View this message in context: http://n2.nabble.com/Jersey-Spring-CGLIB2-is-not-available-tp4005853p4005853.html
> Sent from the Jersey mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>