[appengine-java] Confirmation of Google Multi-Tenant app policy
Hi Now I am planning to start free project management service => http://www.chainofasker.com/ by using Google App Engine When I try to provide this free project management service, problem is server fee because once I release this service, I can not expect how many user come to this site and use free service. So I want to ask user to have their dedicated server if they want use stable service. Procedure is following User create User own account at Google app engine site. User nominate me as a administrator or invite me as a developer. I install server software. User remove me from administrator list. User start using my service Is this meet Google App Engine’s terms of use? I found related article which is posted by Jason but now I can not find it url so I post previous multi-tenant discussion image to here => http://www.chainofasker.com/muti-tenant-past-post I think above procedure is keeping Jason’s recommendation. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] DataStoreTimeOutException when using session at production mode
Hi I got DatastoreTimeoutException when I using HttpSession at production mode. This code does not create error at local development environment. Purpose to use session is cashing userID(google e-mail string ) when user login at first time. So I created Session_User class which have SeesionID, UserID, and UserNickName propaty and store this instance to memcashe(Key:SessionID. Value Session Instance) and use memcash to identify user when they access server 2nd time. I am not using HttpSession.setAttribute method because I can use Google userService.getCurrentUser() method when cashed data is expired. It is written that when we add true to appengine-web.xml then GoogleSDK automatically creates datastore entities of the kind _ah_SESSION but I could not find _ah_SESSION class in my source code. So Is this the reason for this DatastoreTimeoutException? And if so what should I do to make GoogleSDK creates datastore entities _ah_SESSION? <<> A server error has occurred. Uncaught exception from servlet com.google.appengine.api.datastore.DatastoreTimeoutException: Unknown at com.google.appengine.api.datastore.DatastoreApiHelper.translateError (DatastoreApiHelper.java:38) at com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall (DatastoreApiHelper.java:56) at com.google.appengine.api.datastore.DatastoreServiceImpl$2.run (DatastoreServiceImpl.java:170) at com.google.appengine.api.datastore.TransactionRunner.runInTransaction (TransactionRunner.java:30) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:158) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:138) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:130) at com.google.apphosting.runtime.jetty.SessionManager.createSession (SessionManager.java:333) at com.google.apphosting.runtime.jetty.SessionManager $AppEngineSession.(SessionManager.java:135) at com.google.apphosting.runtime.jetty.SessionManager.newSession (SessionManager.java:265) at com.google.apphosting.runtime.jetty.SessionManager.newSession (SessionManager.java:50) at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession (AbstractSessionManager.java:413) at org.mortbay.jetty.Request.getSession(Request.java:1005) at askerDB.S_GoogleLogin.doPost(S_GoogleLogin.java:57) at askerDB.S_GoogleLogin.doGet(S_GoogleLogin.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:237) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4950) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4948) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 359) at com.google.net.rpc.im
[appengine-java] memcache.InvalidValueException caused by java.io.InvalidClassException
Hi I got following exception when I changed cashing class(M_SitePolicy class) . I have read related post and understand that I must remove previous cashed object and put serialVersionUID to my M_SitePolicy class to avoid recurrence of this kind of error. So I put serialVersionUID = 2001 to M_SitePolicy class and add following program to overwrite exsisting cash by new one. Program. public static void SitePolicy_Clear() { try { CacheFactory cacheFactory = javax.cache.CacheManager.getInstance ().getCacheFactory(); CasheSitePolicy = cacheFactory.createCache(Collections.emptyMap()); javax.cache.CacheManager.getInstance().registerCache (CashSitePolicyID, CasheSitePolicy); } catch (CacheException e) { App.RecordLog(" --- CreateCashSitePolicyFailed --- " + e.toString ()); } } But still I have same exception. Why? and What is proper counter measure? My app is chainofasker.appspot.com So if these data is not enough, please refer to this location. Thank you. -- memcache.InvalidValueException caused by java.io.InvalidClassException /UpDateDB com.google.appengine.api.memcache.InvalidValueException: IO exception parsing value of 'COA' at com.google.appengine.api.memcache.MemcacheServiceImpl.get (MemcacheServiceImpl.java:249) at com.google.appengine.api.memcache.stdimpl.GCache.get(GCache.java: 157) at askerDB.AppCash.SitePolicy_Get(AppCash.java:479) at askerDB.M_SitePolicy.GetSitePolicy(M_SitePolicy.java:34) at askerDB.S_UpDateDB.doPost(S_UpDateDB.java:113) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:237) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4950) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4948) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 359) at com.google.net.rpc.impl.Server$2.run(Server.java:823) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:516) at com.google.net.rpc.impl.Server.startRpc(Server.java:778) at com.google.net.rpc.impl.Server.processRequest(Server.java:351) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:437) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent(Connection.java: 428) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDis
[appengine-java] Failed to startup after ver 1.2.8 update
Application does not start up after update ver 1.2.8 Error Message is following Error occurred during initialization of VM agent library failed to init: instrument Error opening zip file or JAR manifest missing : C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle_1.2.6.v200910130758\appengine- java-sdk-1.2.6\lib\agent\appengine-agent.jar 1.2.8 appengine-agent.jar is is exist following directory. C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle_1.2.8.v200912040616\appengine- java-sdk-1.2.8\lib\agent\appengine-agent.jar So problem look like that Eclipse startup program does not recognize 1.2.6 to 1.2.8 update and searching sdk 1.2.6's appengine-agent.jar at old directory. I Changed Project=>Propaty=>Libralys to "App Engine sdk[App Engine -1.2.8]" Are there remaining portion to change setting? How should I teach Eclipse of this update? -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Failed to startup after ver 1.2.8 update
I updated ver1.2.8 at Dec-5th by seeing update request on Eclipse screen. But I was very surprised when I am seeing 1.2.8 is pre-release SDK and have no production environment by this post(=> hhttp://groups.google.com/group/google-appengine-java/browse_thread/thread/fe334c9e461026fa/b944b708a8d8de5b?lnk=gst&q=1.2.8#b944b708a8d8de5b) But this article was posted at Nov-25th and Display on the eclipse update recommendation and the Release Notes of Version 1.2.8 - December 3, 2009 (=>http://code.google.com/p/googleappengine/wiki/ SdkReleaseNotes) does not say anything about this. And So is it become official version at Dec-5th? If this is not official version Could you teach me when Google will make this version official and post old version(1.2.7) as a latest SDK. I must determine either wait official 1.2.8 or go back to 1.2.7 version to continue development. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Failed to startup after ver 1.2.8 update
Hi Shawn I am writing from Japan by Japan time so I updated around Dec-5th-12:00 by Japan time So it is around Dec-4th-21:00 at US west coast time. On 12月5日, 午後4:06, Shawn Brown wrote: > > And So is it become > > official version at Dec-5th? > > I think so. Well Dec 4th. > > http://groups.google.com/group/google-appengine-java/browse_thread/th... > > Shawn -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Failed to startup after ver 1.2.8 update
Thank you Shawn the information. Yes its like a official release I can breathe again. Then move back original question. "How should I teach Eclipse of this update? Dec-5th Sorry I am writing from japan so Dec-5th is japan time and it means Dec-4th US west coast. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Failed to startup after ver 1.2.8 update
Hi shwan I'm in Nagoya I could fix this problem by using following post http://groups.google.com/group/google-appengine-java/browse_thread/thread/df660675d21c64f0/725edfd2ecb0d188?lnk=gst&q=1.2.6#725edfd2ecb0d188 The Last Larry Cable's Post is the to show how to fix this problem. Thank you Larry! I updated by using Eclipse Help => Software Update function. usually this is OK but this time Eclipse VM configuration is not changed automatically. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Failed to startup after ver 1.2.8 update
Hi shwan I'm in Nagoya and thank you for your follow. I could fix this problem by using following post http://groups.google.com/group/google-appengine-java/browse_thread/thread/df660675d21c64f0/725edfd2ecb0d188?lnk=gst&q=1.2.6#725edfd2ecb0d188 The Last Larry Cable's Post is the one to fix this problem. Thanks Larry I updated by using Eclipse Help => Software Update function. usually this is OK but this time Eclipse VM configuration is not changed automatically not sure why. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Java while statement bug on GAE server?
Now I am using GDataI for Java and I tried following code to get Google document list DocumentListFeed tempFeed; tempFeed = myService.getFeed(feedUrl, DocumentListFeed.class); After I confirmed this code work without problem, I change code as following to be able to feed more than one page entry, but this code create Null pointer Exception. DocumentListFeed tempFeed; tempFeed = myService.getFeed(feedUrl, DocumentListFeed.class); resultFeed.getEntries().addAll(tempFeed.getEntries()); while((tempFeed.getNextLink() != null) && (tempFeed.getEntries().size()>0)); { tempFeed = myService.getFeed(new URL(tempFeed.getNextLink().getHref()),DocumentListFeed.class); resultFeed.getEntries().addAll(tempFeed.getEntries()); } I confirmed that “tempFeed.getNextLink()” is null. But this is a condition to repeat while. I could not understand why this code fail and I found suspicious info which related to Java while statement bug in a following URL. Is this real bug? http://java.decompiler.free.fr/?q=node/263 after I get info, I changed my code as following and confirmed this code works without error. DocumentListFeed tempFeed = this.resultDocListFeed; DocumentListFeed resultFeed = new DocumentListFeed(); boolean okToFeed = true; do { if(tempFeed != null && tempFeed.getEntries() != null) { if(tempFeed.getNextLink() != null && tempFeed.getEntries().size()>0) { tempFeed = this.docServiceClient.getFeed(new URL(tempFeed.getNextLink().getHref()),DocumentListFeed.class); resultFeed.getEntries().addAll(tempFeed.getEntries()); } else { okToFeed = false; } } else { okToFeed = false; } }while(okToFeed == true); -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Java while statement bug on GAE server?
Sorry to use specific sample code. So I tried more basic following code. try { int i =0; boolean tempFlag = false; while(tempFlag == true); { i++; out.println("tempFlag" + i + ":=" + tempFlag); tempFlag = false; } } catch(Exception e) { out.println("Error" + e.toString()); } what I got is "tempFlag1:=false" but out.print is within a while(tempFlag == true) bock. I think this is bug. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.