users@jersey.java.net

Re: [Jersey] JerseySpring and JPA

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Tue, 28 Jul 2009 09:44:26 +0200

Hi David,

The stack trace you present looks like a configuration issue because
you are getting the following error:

   java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V

I think there is a versioning conflict with asm version required by
Jersey and the asm version required by cglib that is required by
Hibernate. See:

   http://wikis.sun.com/display/Jersey/Resolving+ASM+dependency+issues+with+Jersey+and+Hibernate


Jersey does not currently have integration with Spring MVC. It is
something i would be interested in pursuing but do not have the time,
so i would encourage anyone else who is interested to have a go. Note
that Jersey does have it''s own mechanism to integrate template
processors (like JSPs, Freemark templates etc) but Spring MVC
integration might be more involved that integration of a template
processor.

Paul.

On Jul 28, 2009, at 3:08 AM, David Sells wrote:

> Hi Everyone,
>
> I was glad to read Paul's article: Jersey and Spring and found that
> the application deployed easily into my environment.
>
> Environment
>
> Ubuntu 8.04 64 installation
> Jdk 1.5
> Tomcat 6.0.20
> Spring 2.5.4
>
>
> Problem
>
> I am very interested in utilizing this technology in an application
> which uses Spring/Hibernate JPA and Spring MVC. I ran into
> difficulties as soon as a added the dependencies of the JerseySpring.
>
>
> What I'm interested in doing:
>
> Maybe I am miss understanding the use of this package incorrectly.
> I am of the impression that I can have a Spring Web Application
> which includes: Spring MVC, JPA and JerseySpring.
>
>
> The JerseySpring Error
>
> I have a application that uses JPA. I added the JerseySpring
> dependencies to the pom, and did nothing else. On attempted to run
> the program the error at the bottom of the page was displayed. On
> removing the JeseySpring dependencies the program once again ran as
> correctly.
>
>
> Question
>
> Has anyone attempted to run JerseySpring with JPA or MVC and what
> have your experiences been?
>
> Thanks,
> David Sells
>
>
>
> 2009-07-27 20:33:31.359::WARN: Nested in
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'transactionManager' defined in class path
> resource [dataSourceContext.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 class path
> resource [spring-context.xml]: Invocation of init method failed;
> nested exception is java.lang.NoSuchMethodError:
> org.objectweb.asm.ClassWriter.<init>(Z)V:
> java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
> at
> net
> .sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:
> 47)
> at
> net
> .sf
> .cglib
> .core
> .DefaultGeneratorStrategy
> .getClassWriter(DefaultGeneratorStrategy.java:30)
> at
> net
> .sf
> .cglib
> .core
> .DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
> at
> net
> .sf
> .cglib
> .core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
> at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:
> 145)
> at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
> at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
> at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
> at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
> at
> org
> .hibernate
> .proxy
> .pojo
> .cglib
> .CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
> at
> org
> .hibernate
> .proxy
> .pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:
> 43)
> at
> org
> .hibernate
> .tuple
> .entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:
> 162)
> at
> org
> .hibernate
> .tuple
> .entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
> at
> org
> .hibernate
> .tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
> at
> org
> .hibernate
> .tuple
> .entity
> .EntityEntityModeToTuplizerMapping
> .<init>(EntityEntityModeToTuplizerMapping.java:56)
> at
> org
> .hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:
> 302)
> at
> org
> .hibernate
> .persister
> .entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:
> 434)
> at
> org
> .hibernate
> .persister
> .entity
> .SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:
> 109)
> at
> org
> .hibernate
> .persister
> .PersisterFactory.createClassPersister(PersisterFactory.java:55)
> at
> org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:
> 226)
> at
> org
> .hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:
> 1300)
> at
> org
> .hibernate
> .cfg
> .AnnotationConfiguration
> .buildSessionFactory(AnnotationConfiguration.java:859)
> at
> org
> .hibernate
> .ejb
> .Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:
> 669)
> at
> org
> .hibernate
> .ejb
> .HibernatePersistence
> .createContainerEntityManagerFactory(HibernatePersistence.java:132)
> at
> org
> .springframework
> .orm
> .jpa
> .LocalContainerEntityManagerFactoryBean
> .createNativeEntityManagerFactory
> (LocalContainerEntityManagerFactoryBean.java:224)
> at
> org
> .springframework
> .orm
> .jpa
> .AbstractEntityManagerFactoryBean
> .afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
> 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
> $1.getObject(AbstractBeanFactory.java:264)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .DefaultSingletonBeanRegistry
> .getSingleton(DefaultSingletonBeanRegistry.java:222)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .BeanDefinitionValueResolver
> .resolveReference(BeanDefinitionValueResolver.java:269)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .BeanDefinitionValueResolver
> .resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .populateBean(AbstractAutowireCapableBeanFactory.java:1010)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .AbstractAutowireCapableBeanFactory
> .doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
> 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
> $1.getObject(AbstractBeanFactory.java:264)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .DefaultSingletonBeanRegistry
> .getSingleton(DefaultSingletonBeanRegistry.java:222)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> at
> org
> .springframework
> .beans
> .factory
> .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> at
> org
> .springframework
> .beans
> .factory
> .support
> .DefaultListableBeanFactory
> .preInstantiateSingletons(DefaultListableBeanFactory.java:429)
> at
> org
> .springframework
> .context
> .support
> .AbstractApplicationContext
> .finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
> at
> org
> .springframework
> .context
> .support
> .AbstractApplicationContext.refresh(AbstractApplicationContext.java:
> 380)
> at org.springframework.web.context.ContextLoader.createWebApplicationContext
> (ContextLoader.java:255)
> at org.springframework.web.context.ContextLoader.initWebApplicationContext
> (ContextLoader.java:199)
> at org.springframework.web.context.ContextLoaderListener.contextInitialized
> (ContextLoaderListener.java:45)
> at
> org
> .mortbay
> .jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
> at org.mortbay.jetty.servlet.Context.startContext(Context.java:
> 136)
> at
> org
> .mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
> 1239)
> at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
> 517)
> at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
> at
> org
> .mortbay
> .jetty
> .plugin
> .Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
> 50)
> at
> org
> .mortbay
> .jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> at
> org
> .mortbay
> .jetty
> .handler
> .ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
> 50)
> at
> org
> .mortbay
> .jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
> 50)
> at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
> 130)
> at org.mortbay.jetty.Server.doStart(Server.java:224)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
> 50)
> at
> org
> .mortbay
> .jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
> at
> org
> .mortbay
> .jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
> at
> org
> .mortbay
> .jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
> at
> org
> .mortbay
> .jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:
> 210)
> at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> at
> org
> .apache
> .maven
> .plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:
> 579)
> at
> org
> .apache
> .maven
> .lifecycle
> .DefaultLifecycleExecutor
> .executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
> at
> org
> .apache
> .maven
> .lifecycle
> .DefaultLifecycleExecutor
> .executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
> at
> org
> .apache
> .maven
> .lifecycle
> .DefaultLifecycleExecutor
> .executeTaskSegments(DefaultLifecycleExecutor.java:191)
> at
> org
> .apache
> .maven
> .lifecycle
> .DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
> at
> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:
> 223)
> at
> org
> .apache
> .maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
> at
> org
> .apache
> .maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:
> 904)
> at
> org
> .apache
> .maven
> .embedder
> .MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
> at
> org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)