Hi Dmitry, Thanks for sharing again. I finally able to figure out whats wrong. The problem is that i am only using maven2 building instead of Google App Engine plugin for Eclipse.
Here's what i done to correct it in case anyone needed it. My setup is basically same as Mr. Dmitry except that i using maven built instead. In my maven .pom i included the data-nucleus plugin to enhance the files during compile time. <!-- Datanucleus enhance --> <plugin> <groupId>org.datanucleus</groupId> <artifactId>maven-datanucleus-plugin</artifactId> <version>1.1.4</version> <configuration> <mappingIncludes>**/*.class</mappingIncludes> <verbose>true</verbose> <enhancerName>ASM</enhancerName> <api>JPA</api> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>enhance</goal> </goals> </execution> </executions> </plugin> *Remember to include the persistence.xml in WEB-INF/classes/META-INF/ for enhancement. By the way, i noticed that there is a significant performance degrade using Spring as the glue as compared to my old project using tapestry-hibernate module. Dmitry Gusev wrote: > > I'm using 5.2.0.0-SNAPSHOT and Spring 3.0.0-RC1. > > Here's my *web.xml*: > <?xml version="1.0" encoding="utf-8"?> > <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> > <context-param> > <param-name>tapestry.app-package</param-name> > <param-value>dmitrygusev.ping</param-value> > </context-param> > <filter> > <filter-name>app</filter-name> > > <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> > </filter> > <filter-mapping> > <filter-name>app</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > </web-app> > > I'm using maven2 in separate project to get a list of all jar dependencies > and them copying them to my GAE eclipse project. > Here's my *pom.xml*: > <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>dmitrygusev</groupId> > <artifactId>jar-dependencies-assembly</artifactId> > <packaging>war</packaging> > <version>1.0-SNAPSHOT</version> > <name>jar-dependencies-assembly</name> > <dependencies> > <dependency> > <groupId>org.springframework</groupId> > <artifactId>org.springframework.spring-library</artifactId> > <type>libd</type> > <version>3.0.0.RC1</version> > </dependency> > <dependency> > <groupId>org.springframework</groupId> > <artifactId>org.springframework.aspects</artifactId> > <version>3.0.0.RC1</version> > </dependency> > <dependency> > <groupId>org.aspectj</groupId> > <artifactId>aspectjweaver</artifactId> > <version>1.6.2</version> > </dependency> > <dependency> > <groupId>org.apache.tapestry</groupId> > <artifactId>tapestry-ioc</artifactId> > <version>5.2.0-SNAPSHOT</version> > </dependency> > <dependency> > <groupId>org.apache.tapestry</groupId> > <artifactId>tapestry5-annotations</artifactId> > <version>5.2.0-SNAPSHOT</version> > </dependency> > <dependency> > <groupId>org.apache.tapestry</groupId> > <artifactId>tapestry-core</artifactId> > <version>5.2.0-SNAPSHOT</version> > </dependency> > <dependency> > <groupId>org.apache.tapestry</groupId> > <artifactId>tapestry-spring</artifactId> > <version>5.2.0-SNAPSHOT</version> > </dependency> > <dependency> > <groupId>anjlab</groupId> > <artifactId>cubics-core</artifactId> > <version>1.0.0</version> > </dependency> > <dependency> > <groupId>anjlab</groupId> > <artifactId>cubics-renders</artifactId> > <version>1.0.0</version> > </dependency> > </dependencies> > <repositories> > <repository> > <id>SpringSource Enterprise Bundle Repository - External > Bundle > Milestones</id> > > <url>http://repository.springsource.com/maven/bundles/milestone > </url> > </repository> > <repository> > <id>SpringSource Enterprise Bundle Repository - SpringSource > Bundle Releases</id> > <url>http://repository.springsource.com/maven/bundles/release > </url> > </repository> > <repository> > <id>SpringSource Enterprise Bundle Repository - External > Bundle > Releases</id> > <url>http://repository.springsource.com/maven/bundles/external > </url> > </repository> > <repository> > <id>SpringSource Enterprise Bundle Repository - Library > Milestones</id> > <url> > http://repository.springsource.com/maven/libraries/milestone</url> > </repository> > </repositories> > </project> > > Now, here's what I have in *ping-service\war\WEB-INF\lib*: > > antlr-runtime-3.1.1.jar > aopalliance-1.0.jar > appengine-api-1.0-sdk-1.2.6.jar > appengine-api-labs-1.2.6.jar > aspectjweaver-1.6.2.jar > com.springsource.javax.servlet-2.5.0.jar > com.springsource.org.aopalliance-1.0.0.jar > com.springsource.org.apache.commons.logging-1.1.1.jar > commons-codec-1.3.jar > commons-logging-1.1.1.jar > cubics-core-1.0.0.jar > cubics-renders-1.0.0.jar > datanucleus-appengine-1.0.3.jar > datanucleus-core-1.1.5.jar > datanucleus-jpa-1.1.5.jar > geronimo-jpa_3.0_spec-1.1.1.jar > geronimo-jta_1.1_spec-1.1.1.jar > javassist-3.9.0.GA.jar > jdo2-api-2.3-eb.jar > log4j-1.2.14.jar > org.springframework.aop-3.0.0.RC1.jar > org.springframework.asm-3.0.0.RC1.jar > org.springframework.aspects-3.0.0.RC1.jar > org.springframework.beans-3.0.0.RC1.jar > org.springframework.context.support-3.0.0.RC1.jar > org.springframework.context-3.0.0.RC1.jar > org.springframework.core-3.0.0.RC1.jar > org.springframework.expression-3.0.0.RC1.jar > org.springframework.jdbc-3.0.0.RC1.jar > org.springframework.jms-3.0.0.RC1.jar > org.springframework.orm-3.0.0.RC1.jar > org.springframework.oxm-3.0.0.RC1.jar > org.springframework.transaction-3.0.0.RC1.jar > org.springframework.web.portlet-3.0.0.RC1.jar > org.springframework.web.servlet-3.0.0.RC1.jar > org.springframework.web-3.0.0.RC1.jar > slf4j-api-1.5.2.jar > slf4j-log4j12-1.5.2.jar > stax2-api-3.0.1.jar > stax-api-1.0.1.jar > tapestry5-annotations-5.2.0-SNAPSHOT.jar > tapestry-core-5.2.0-SNAPSHOT.jar > tapestry-ioc-5.2.0-SNAPSHOT.jar > tapestry-spring-5.2.0-SNAPSHOT.jar > woodstox-core-asl-4.0.3.jar > > On Tue, Nov 10, 2009 at 01:12, sodium <sodiu...@yahoo.com> wrote: > >> >> Hi Dmitry, >> >> Thanks for sharing. I tried integrating the Spring in it but it keep >> spitting out all sorts of errors when its constructing the bean from the >> applicationContext.xml. Can u share how u integrate Spring in it? I >> noticed >> that u r using the Spring 3.x instead. >> >> I tried integrate with TapestrySpringFilter and it seems to be using >> Spring >> 2.5.6. So i decided to change your applicationContext.xml schema to 2.5 >> instead. >> >> Here's my web.xml >> <!-- >> <filter> >> <filter-name>app</filter-name> >> <filter-class>org.apache.tapestry5.TapestryFilter</filter-class> >> </filter> >> --> >> <filter> >> <filter-name>app</filter-name> >> >> >> <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> >> </filter> >> <context-param> >> <param-name>contextConfigLocation</param-name> >> <param-value>/WEB-INF/applicationContext.xml</param-value> >> </context-param> >> >> Here's my maven build to include more dependencies from your given >> applicationContext.xml >> >> <dependency> >> <groupId>org.apache.tapestry</groupId> >> <artifactId>tapestry-spring</artifactId> >> <version>${tapestry-release-version}</version> >> </dependency> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring-jdbc</artifactId> >> <version>2.5.6</version> >> </dependency> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring-orm</artifactId> >> <version>2.5.6</version> >> </dependency> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring-aspects</artifactId> >> <version>2.5.6</version> >> </dependency> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring-tx</artifactId> >> <version>2.5.6</version> >> </dependency> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring-aop</artifactId> >> <version>2.5.6</version> >> </dependency> >> >> Am i missing out something here? I tried using Tapestry 5.1.0.5 and also >> the >> 5.2 built from trunk. >> >> Here's the error: >> >> [INFO] ioc.RegistryBuilder Adding module definition for class >> org.apache.tapestry5.ioc.services.TapestryIOCModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> com.kenai.tapestryjpa.JPAModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> com.kenai.tapestryjpa.JPACoreModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> org.apache.tapestry5.spring.SpringModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> org.apache.tapestry5.services.TapestryModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> org.apache.tapestry5.internal.services.InternalModule >> [INFO] ioc.RegistryBuilder Adding module definition for class >> com.myproject.services.AppModule >> [INFO] SpringModuleDef.ApplicationContext Starting Spring (version 2.5.6) >> [INFO] context.ContextLoader Root WebApplicationContext: initialization >> started >> [INFO] spring.TapestryApplicationContext Refreshing >> org.apache.tapestry5.spring.tapestryapplicationcont...@39060b: display >> name >> [Root WebApplicationContext]; startup date [Mon Nov 09 22:03:52 UTC >> 2009]; >> root of context hierarchy >> [INFO] xml.XmlBeanDefinitionReader Loading XML bean definitions from >> ServletContext resource [/WEB-INF/applicationContext.xml] >> [INFO] spring.TapestryApplicationContext Bean factory for application >> context [org.apache.tapestry5.spring.tapestryapplicationcont...@39060b]: >> org.apache.tapestry5.internal.spring.tapestybeanfact...@d23e53 >> [INFO] spring.TapestyBeanFactory Pre-instantiating singletons in >> org.apache.tapestry5.internal.spring.tapestybeanfact...@d23e53: defining >> beans >> >> [txAdvice,org.springframework.aop.config.internalAutoProxyCreator,daoOperations,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,entityManagerFactory,txManager,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,personDAO]; >> root of factory hierarchy >> [INFO] jpa.LocalEntityManagerFactoryBean Building JPA >> EntityManagerFactory >> for persistence unit 'transactions-optional' >> [INFO] DataNucleus.Plugin Bundle "org.datanucleus.jpa" has an optional >> dependency to "org.datanucleus.enhancer" but it cannot be resolved >> [INFO] DataNucleus.Plugin Bundle "org.datanucleus" has an optional >> dependency to "org.eclipse.equinox.registry" but it cannot be resolved >> [INFO] DataNucleus.Plugin Bundle "org.datanucleus" has an optional >> dependency to "org.eclipse.core.runtime" but it cannot be resolved >> [WARN] DataNucleus.JPA No META-INF/persistence.xml files were found in >> the >> CLASSPATH of the current thread! >> [WARN] DataNucleus.JPA No persistence unit of name >> "transactions-optional" >> is found in the CLASSPATH of the current thread! >> [INFO] spring.TapestyBeanFactory Destroying singletons in >> org.apache.tapestry5.internal.spring.tapestybeanfact...@d23e53: defining >> beans >> >> [txAdvice,org.springframework.aop.config.internalAutoProxyCreator,daoOperations,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,entityManagerFactory,txManager,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,personDAO]; >> root of factory hierarchy >> [ERROR] context.ContextLoader Context initialization failed >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean >> with name 'txAdvice': Cannot resolve reference to bean 'txManager' while >> setting bean property 'transactionManager'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean >> with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) >> 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.apache.tapestry5.internal.spring.SpringModuleDef$3$1.invoke(SpringModuleDef.java:176) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.internal.spring.SpringModuleDef$3.createObject(SpringModuleDef.java:166) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >> at >> >> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) >> at >> >> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) >> at >> >> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) >> at >> >> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) >> at >> >> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >> at >> >> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) >> at >> >> $ConfigurableWebApplicationContext_124daf973a0.delegate($ConfigurableWebApplicationContext_124daf973a0.java) >> at >> >> $ConfigurableWebApplicationContext_124daf973a0.getBeanDefinitionCount($ConfigurableWebApplicationContext_124daf973a0.java) >> at >> >> org.apache.tapestry5.spring.SpringModule$1.initializeApplication(SpringModule.java:53) >> at >> >> $ApplicationInitializer_124daf973bb.initializeApplication($ApplicationInitializer_124daf973bb.java) >> at >> >> org.apache.tapestry5.services.TapestryModule$35.initializeApplication(TapestryModule.java:2132) >> at >> >> $ApplicationInitializer_124daf973bb.initializeApplication($ApplicationInitializer_124daf973bb.java) >> at >> >> $ApplicationInitializer_124daf973b7.initializeApplication($ApplicationInitializer_124daf973b7.java) >> at >> >> org.apache.tapestry5.services.TapestryModule$ServletApplicationInitializerTerminator.initializeApplication(TapestryModule.java:223) >> at >> >> $ServletApplicationInitializer_124daf9739b.initializeApplication($ServletApplicationInitializer_124daf9739b.java) >> at >> org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:85) >> at >> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> >> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) >> at >> org.mortbay.jetty.servlet.Context.startContext(Context.java:139) >> at >> >> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) >> at >> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) >> at >> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) >> at org.mortbay.jetty.Server.doStart(Server.java:217) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> >> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:181) >> at >> >> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:116) >> at >> >> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217) >> at >> >> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162) >> at >> >> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) >> at >> >> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113) >> at >> >> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89) >> Caused by: org.springframework.beans.factory.BeanCreationException: Error >> creating bean with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) >> 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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) >> ... 69 more >> Caused by: org.springframework.beans.factory.BeanCreationException: Error >> creating bean with name 'entityManagerFactory' defined in ServletContext >> resource [/WEB-INF/applicationContext.xml]: Invocation of init method >> failed; nested exception is javax.persistence.PersistenceException: >> Provider >> error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) >> 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) >> ... 82 more >> Caused by: javax.persistence.PersistenceException: Provider error. >> Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> javax.persistence.Persistence.createFactory(Persistence.java:176) >> at >> >> javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:112) >> at >> >> org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:91) >> 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) >> ... 92 more >> Caused by: java.lang.NullPointerException >> at >> >> org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF(EntityManagerFactoryImpl.java:452) >> at >> >> org.datanucleus.jpa.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:355) >> at >> >> org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.<init>(DatastoreEntityManagerFactory.java:63) >> at >> >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory(DatastorePersistenceProvider.java:35) >> at >> javax.persistence.Persistence.createFactory(Persistence.java:172) >> ... 97 more >> [ERROR] ioc.Registry Error creating bean with name 'txAdvice': Cannot >> resolve reference to bean 'txManager' while setting bean property >> 'transactionManager'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean >> with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> [ERROR] ioc.Registry Operations trace: >> [ERROR] ioc.Registry [ 1] Realizing service ApplicationContext >> [ERROR] ioc.Registry [ 2] Invoking ObjectCreator for Spring >> ApplicationContext >> [ERROR] ioc.Registry [ 3] Creating Spring ApplicationContext via >> ContextLoader >> [ERROR] SpringModuleDef.ApplicationContext Construction of service >> ApplicationContext failed: Error creating bean with name 'txAdvice': >> Cannot >> resolve reference to bean 'txManager' while setting bean property >> 'transactionManager'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean >> with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> org.apache.tapestry5.ioc.internal.OperationException: Error creating bean >> with name 'txAdvice': Cannot resolve reference to bean 'txManager' while >> setting bean property 'transactionManager'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean >> with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.internal.spring.SpringModuleDef$3.createObject(SpringModuleDef.java:166) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >> at >> >> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) >> at >> >> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) >> at >> >> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) >> at >> >> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) >> at >> >> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) >> at >> >> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) >> at >> >> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) >> at >> >> $ConfigurableWebApplicationContext_124daf973a0.delegate($ConfigurableWebApplicationContext_124daf973a0.java) >> at >> >> $ConfigurableWebApplicationContext_124daf973a0.getBeanDefinitionCount($ConfigurableWebApplicationContext_124daf973a0.java) >> at >> >> org.apache.tapestry5.spring.SpringModule$1.initializeApplication(SpringModule.java:53) >> at >> >> $ApplicationInitializer_124daf973bb.initializeApplication($ApplicationInitializer_124daf973bb.java) >> at >> >> org.apache.tapestry5.services.TapestryModule$35.initializeApplication(TapestryModule.java:2132) >> at >> >> $ApplicationInitializer_124daf973bb.initializeApplication($ApplicationInitializer_124daf973bb.java) >> at >> >> $ApplicationInitializer_124daf973b7.initializeApplication($ApplicationInitializer_124daf973b7.java) >> at >> >> org.apache.tapestry5.services.TapestryModule$ServletApplicationInitializerTerminator.initializeApplication(TapestryModule.java:223) >> at >> >> $ServletApplicationInitializer_124daf9739b.initializeApplication($ServletApplicationInitializer_124daf9739b.java) >> at >> org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:85) >> at >> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> >> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) >> at >> org.mortbay.jetty.servlet.Context.startContext(Context.java:139) >> at >> >> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) >> at >> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) >> at >> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) >> at org.mortbay.jetty.Server.doStart(Server.java:217) >> at >> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) >> at >> >> com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:181) >> at >> >> com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:116) >> at >> >> com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217) >> at >> >> com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162) >> at >> >> com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) >> at >> >> com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113) >> at >> >> com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89) >> Caused by: org.springframework.beans.factory.BeanCreationException: Error >> creating bean with name 'txAdvice': Cannot resolve reference to bean >> 'txManager' while setting bean property 'transactionManager'; nested >> exception is org.springframework.beans.factory.BeanCreationException: >> Error >> creating bean with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) >> 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.apache.tapestry5.internal.spring.SpringModuleDef$3$1.invoke(SpringModuleDef.java:176) >> at >> >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) >> ... 50 more >> Caused by: org.springframework.beans.factory.BeanCreationException: Error >> creating bean with name 'txManager' defined in ServletContext resource >> [/WEB-INF/applicationContext.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 >> ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of >> init method failed; nested exception is >> javax.persistence.PersistenceException: Provider error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) >> 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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) >> ... 69 more >> Caused by: org.springframework.beans.factory.BeanCreationException: Error >> creating bean with name 'entityManagerFactory' defined in ServletContext >> resource [/WEB-INF/applicationContext.xml]: Invocation of init method >> failed; nested exception is javax.persistence.PersistenceException: >> Provider >> error. Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) >> 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) >> ... 82 more >> Caused by: javax.persistence.PersistenceException: Provider error. >> Provider: >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider >> at >> javax.persistence.Persistence.createFactory(Persistence.java:176) >> at >> >> javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:112) >> at >> >> org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:91) >> 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) >> ... 92 more >> Caused by: java.lang.NullPointerException >> at >> >> org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF(EntityManagerFactoryImpl.java:452) >> at >> >> org.datanucleus.jpa.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:355) >> at >> >> org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.<init>(DatastoreEntityManagerFactory.java:63) >> at >> >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory(DatastorePersistenceProvider.java:35) >> at >> javax.persistence.Persistence.createFactory(Persistence.java:172) >> ... 97 more >> The server is running at http://localhost:8080/ >> >> >> Dmitry Gusev wrote: >> > >> > Here's some examples: >> > >> > *ping-service\src\META-INF\persistence.xml:* >> > <?xml version="1.0" encoding="UTF-8" ?> >> > <persistence xmlns="http://java.sun.com/xml/ns/persistence" >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence >> > http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" >> > version="1.0"> >> > >> > <persistence-unit name="transactions-optional"> >> > >> > >> <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider> >> > <properties> >> > <property name="datanucleus.NontransactionalRead" >> > value="true"/> >> > <property name="datanucleus.NontransactionalWrite" >> > value="true"/> >> > <property name="datanucleus.ConnectionURL" >> value="appengine"/> >> > </properties> >> > </persistence-unit> >> > >> > </persistence> >> > >> > *ping-service\war\WEB-INF\applicationContext.xml:* >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <beans xmlns="http://www.springframework.org/schema/beans" >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > xmlns:aop="http://www.springframework.org/schema/aop" >> > xmlns:tx="http://www.springframework.org/schema/tx" >> > xmlns:context="http://www.springframework.org/schema/context" >> > xsi:schemaLocation=" >> > http://www.springframework.org/schema/beans >> > http://www.springframework.org/schema/beans/spring-beans-3.0.xsd >> > http://www.springframework.org/schema/tx >> > http://www.springframework.org/schema/tx/spring-tx-3.0.xsd >> > http://www.springframework.org/schema/aop >> > http://www.springframework.org/schema/aop/spring-aop-3.0.xsd >> > http://www.springframework.org/schema/context >> > >> > http://www.springframework.org/schema/context/spring-context-3.0.xsd >> > "> >> > >> > <tx:advice id="txAdvice" transaction-manager="txManager"> >> > <tx:attributes> >> > <tx:method name="*" propagation="REQUIRES_NEW" /> >> > </tx:attributes> >> > </tx:advice> >> > >> > <aop:config> >> > <aop:pointcut id="daoOperations" >> > expression="execution(* >> > dmitrygusev.ping.services.dao.*.*(..))" >> > /> >> > <aop:advisor advice-ref="txAdvice" pointcut-ref="daoOperations" >> /> >> > </aop:config> >> > >> > <bean id="entityManagerFactory" >> > >> class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean" >> > lazy-init="true"> >> > <property name="persistenceUnitName" >> value="transactions-optional" >> > /> >> > </bean> >> > >> > <bean name="txManager" >> > class="org.springframework.orm.jpa.JpaTransactionManager"> >> > <property name="entityManagerFactory" >> ref="entityManagerFactory" >> > /> >> > </bean> >> > >> > <context:annotation-config/> >> > >> > <bean name="jobsDAO" >> > class="dmitrygusev.ping.services.dao.impl.JobDAOImpl"/> >> > <bean name="refDAO" >> > class="dmitrygusev.ping.services.dao.impl.RefDAOImpl"/> >> > <bean name="accountDAO" >> > class="dmitrygusev.ping.services.dao.impl.AccountDAOImpl"/> >> > <bean name="scheduleDAO" >> > class="dmitrygusev.ping.services.dao.impl.ScheduleDAOImpl"/> >> > <bean name="jobResultDAO" >> > class="dmitrygusev.ping.services.dao.impl.JobResultDAOImpl"/> >> > >> > </beans> >> > >> > *ping-service\src\dmitrygusev\ping\services\dao\ScheduleDAO.java :* >> > package dmitrygusev.ping.services.dao; >> > >> > import com.google.appengine.api.datastore.Key; >> > >> > import dmitrygusev.ping.entities.Schedule; >> > >> > public interface ScheduleDAO { >> > >> > public abstract void update(Schedule schedule); >> > >> > public abstract void delete(Long id); >> > >> > public abstract Schedule createSchedule(String name); >> > >> > public abstract Schedule find(Key scheduleKey); >> > >> > } >> > >> > >> *ping-service\src\dmitrygusev\ping\services\dao\impl\ScheduleDAOImpl.java >> > :* >> > package dmitrygusev.ping.services.dao.impl; >> > >> > import static com.google.appengine.api.datastore.KeyFactory.createKey; >> > >> > import javax.persistence.EntityManager; >> > import javax.persistence.PersistenceContext; >> > >> > import com.google.appengine.api.datastore.Key; >> > >> > import dmitrygusev.ping.entities.Schedule; >> > import dmitrygusev.ping.services.dao.ScheduleDAO; >> > >> > public class ScheduleDAOImpl implements ScheduleDAO { >> > >> > @PersistenceContext >> > private EntityManager em; >> > >> > public Schedule createSchedule(String name) { >> > Schedule schedule = new Schedule(); >> > schedule.setName(name); >> > >> > em.persist(schedule); >> > >> > return schedule; >> > } >> > >> > @Override >> > public void update(Schedule schedule) { >> > em.merge(schedule); >> > } >> > >> > @Override >> > public void delete(Long id) { >> > Schedule schedule = >> find(createKey(Schedule.class.getSimpleName(), >> > id)); >> > em.remove(schedule); >> > } >> > >> > @Override >> > public Schedule find(Key scheduleKey) { >> > return em.find(Schedule.class, scheduleKey); >> > } >> > } >> > >> > >> > *Then inject ScheduleDAO in your page class using T5's @Inject >> annotation >> > and use it.* >> > >> > >> > >> > On Sun, Nov 8, 2009 at 17:46, Dmitry Gusev <dmitry.gu...@gmail.com> >> wrote: >> > >> >> Tapestry 5.1 should run on GAE 1.2.6(7) as is. >> >> >> >> I used T5.1 w/ Spring/JPA on GAE and didn't get any troubles at the >> cloud >> >> except some issues on development machine: >> >> >> >> >> >> >> http://dmitrygusev.blogspot.com/2009/10/develope-java-applications-with-gae-sdk.html >> >> >> >> >> http://dmitrygusev.blogspot.com/2009/08/turn-java-security-manager-off-in.html >> >> >> >> >> >> >> >> On Sun, Nov 8, 2009 at 16:51, sodium <sodiu...@yahoo.com> wrote: >> >> >> >>> >> >>> Hi, >> >>> >> >>> I have been using Tapestry5 for few of my projects and loving it, but >> i >> >>> am >> >>> thinking of integrating it in Google App Engine. >> >>> As for Tapestry 5.0.18, i have managed to run it without jpa support >> by >> >>> following an example of >> >>> >> >>> >> http://old.nabble.com/SUCCESSFULL-deploy-Tapestry5-on-google-appengine-ts23018048.html >> >>> >> >>> >> http://old.nabble.com/SUCCESSFULL-deploy-Tapestry5-on-google-appengine-ts23018048.html >> >>> >> >>> For Tapestry5.1, i still very confused about >> >>> >> >>> >> http://old.nabble.com/Tapestry-5.1-running-in-Google-App-Engine-%28GAE%29-tp24923950p24927028.html >> >>> >> >>> >> http://old.nabble.com/Tapestry-5.1-running-in-Google-App-Engine-%28GAE%29-tp24923950p24927028.html >> >>> >> >>> Actually my biggest concern is using jpa in GAE with Tapestry5, can >> >>> anyone >> >>> provide some clues on how to go about integrating Tap5 with jpa for >> GAE >> >>> ? >> >>> If >> >>> someone can provide a sample project for GAE(1.2.6) >> Tapestry5(hopefully >> >>> 5.1) >> >>> integration with jpa support, i will definitely bow down to u like a >> >>> slave. >> >>> Been scratching my head so hard that my hair is starting to fall... >> >>> >> >>> I tried integration Tapestry 5.0.18 with guice2 for jpa support from >> >>> >> >>> >> http://old.nabble.com/Integration-of-T5-with-the-domain-model-ts9953748s302.html >> >>> >> >>> >> http://old.nabble.com/Integration-of-T5-with-the-domain-model-ts9953748s302.html >> >>> but the EntityManager keep returning null. Sigh.. >> >>> >> >>> Any pointers and advice is very much appreciated. >> >>> >> >>> -- >> >>> View this message in context: >> >>> >> http://old.nabble.com/GAE-and-Tapestry5-integration-tp26253952p26253952.html >> >>> Sent from the Tapestry - User mailing list archive at Nabble.com. >> >>> >> >>> >> >>> --------------------------------------------------------------------- >> >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >>> For additional commands, e-mail: users-h...@tapestry.apache.org >> >>> >> >>> >> >> >> >> >> >> -- >> >> Dmitry Gusev >> >> >> >> AnjLab Team >> >> http://anjlab.com >> >> >> > >> > >> > >> > -- >> > Dmitry Gusev >> > >> > AnjLab Team >> > http://anjlab.com >> > >> > >> >> -- >> View this message in context: >> http://old.nabble.com/GAE-and-Tapestry5-integration-tp26253952p26274666.html >> Sent from the Tapestry - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com > > -- View this message in context: http://old.nabble.com/GAE-and-Tapestry5-integration-tp26253952p26301742.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org