users@jersey.java.net

Re: [Jersey] Jersey Spring CGLIB2 is not available

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Mon, 16 Nov 2009 09:31:22 +0100

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
>