I just picked up the latest SDK (1.3.3.1, I figured I upgraded most of my platform to latest 5.2 Spring & Spring Security 3.0.2.RELEASE) and tried to run my app on the dev server. On startup, when the applicaiton is running my initialization routine, I get the error message below. I get the same message when try to access other functionality related to the datastore. Has anyone run into this issue before ? There doesn't seem to be much mention of this issue online, which makes me thing this is something specific to something that T5 does.
The stacktrace almost looks like I didn't provide some property file or I didn't set some command line argument. However, there certainly isn't such an argument for appId, and my appId is specified in the appengine-web.xml file. Note that when I run the same app w/ a SDK 1.3.0, I get no such issues, everything worked just fine. Initially, I was also running into an issue that Dmitry described (* http://dmitrygusev.blogspot.com/2009/10/develope-java-applications-with-gae-sdk.html )*, but replacing the agent as described in the blog made that exception disappear. So, now, the publicly accessible part of the app works, but anything that might be accessing the database, doesn't. java] May 11, 2010 3:45:34 AM com.google.appengine.api.datastore.dev.LocalDatastoreService load [java] INFO: The backing store, /home/troymax/clientworkspace/ zadachite.com/zadachite-gae/target/zadachite-gae/WEB-INF/appengine-generated/local_db.bin, does not exist. It will be created. [java] javax.jdo.JDOFatalUserException: Illegal argument [java] at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:344) [java] at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:252) [java] at com.troymaxventures.zadachite.services.support.ZdUserRepository.userRegistered(ZdUserRepository.java:52) [java] at $UserRepository_1288577868b.userRegistered($UserRepository_1288577868b.java) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:597) [java] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309) [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [java] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) [java] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [java] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) [java] at $Proxy21.userRegistered(Unknown Source) [java] at $UserRepository_12885778685.userRegistered($UserRepository_12885778685.java) [java] at com.troymaxventures.zadachite.services.support.UserInitializerImpl.initializeApplication(UserInitializerImpl.java:33) [java] at $ApplicationInitializer_12885778689.initializeApplication($ApplicationInitializer_12885778689.java) [java] at $ApplicationInitializer_12885778683.initializeApplication($ApplicationInitializer_12885778683.java) [java] at org.apache.tapestry5.services.TapestryModule$ServletApplicationInitializerTerminator.initializeApplication(TapestryModule.java:271) [java] at $ServletApplicationInitializer_12885778665.initializeApplication($ServletApplicationInitializer_12885778665.java) [java] at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:102) [java] at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [java] at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662) [java] at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) [java] at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) [java] at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [java] at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [java] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [java] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [java] at org.mortbay.jetty.Server.doStart(Server.java:224) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [java] at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:185) [java] at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:146) [java] at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:219) [java] at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162) [java] at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) [java] at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113) [java] at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89) [java] NestedThrowablesStackTrace: [java] java.lang.IllegalArgumentException: appId not set [java] at com.google.appengine.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:90) [java] at com.google.appengine.api.datastore.dev.LocalDatastoreService.getOrCreateProfile(LocalDatastoreService.java:1133) [java] at com.google.appengine.api.datastore.dev.LocalDatastoreService.beginTransaction(LocalDatastoreService.java:903) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:597) [java] at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:307) [java] at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:264) [java] at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:463) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:460) [java] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [java] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [java] at java.lang.Thread.run(Thread.java:619)