[appengine-java] Re: Problem deploying app after adding threadsafetrue/threadsafe in appengine-web.xml file.
Hm, appengine-java-sdk-1.3.8? I think ThreadSafe was introduced with App Engine 1.4.3 Can you test with a newer version of the SDK? Best regards /Dick Larsson On 24 Okt, 08:59, Zde Sam zde...@gmail.com wrote: Hi, I am getting the following error after adding threadsafetrue/threadsafe in appengine-web.xml file during deployment. com.google.apphosting.utils.config.AppEngineConfigException: XML error validating E:\Projects\SpringSource\GoogleApps\WebsiteBuilder\war\WEB-INF\appengine-web.xml against E:\Services\Google\AppEngine\appengine-java-sdk-1.3.8\docs\appengine-web.xsd at com.google.appengine.tools.admin.Application.validateXml(Application.java:360) at com.google.appengine.tools.admin.Application.init(Application.java:101) at com.google.appengine.tools.admin.Application.readApplication(Application.java:151) at com.google.appengine.tools.admin.AppCfg.init(AppCfg.java:115) at com.google.appengine.tools.admin.AppCfg.init(AppCfg.java:61) at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:57) Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'threadsafe'. One of '{http://appengine.google.com/ns/1.0:static-files, http://appengine.google.com/ns/1.0:resource-files, http://appengine.google.com/ns/1.0:env-variables, http://appengine.google.com/ns/1.0:ssl-enabled, http://appengine.google.com/ns/1.0:user-permissions, http://appengine.google.com/ns/1.0:public-root, http://appengine.google.com/ns/1.0:inbound-services, http://appengine.google.com/ns/1.0:precompilation-enabled, http://appengine.google.com/ns/1.0:admin-console, http://appengine.google.com/ns/1.0:static-error-handlers}' is expected. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(Unknown Source) at javax.xml.validation.Validator.validate(Unknown Source) at com.google.appengine.tools.admin.Application.validateXml(Application.java:357) ... 5 more Deployment goes fine successfully when threadsafetrue/threadsafe is removed or commented from the appengine-web.xml file. Below is the content of my appengine-web.xml file. ?xml version=1.0 encoding=utf-8? appengine-web-app xmlns=http://appengine.google.com/ns/1.0; applicationebildr/application versionv2/version !--threadsafetrue/threadsafe-- !-- Configure java.util.logging -- system-properties property name=java.util.logging.config.file value=WEB-INF/logging.properties/ /system-properties sessions-enabledtrue/sessions-enabled precompilation-enabledtrue/precompilation-enabled /appengine-web-app Am I missing anything, any help will be greatly appreciated. Thanks -- 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.
Re: [appengine-java] Optimizations with Datastore + JDO
I'm afraid I can't answer your questions directly, but I would sincerely suggest you look at Objectify. It offers a tidy way to migrate to using the low level datastore - and is much easier to code. JDO feels like a square SQL peg for the round hole of NoSQL. On 25 October 2011 03:18, Sheado chad...@gmail.com wrote: Hi All, My app uses JDO with the DataStore. When writing an Entity with ~100 children a request could take somewhere between 3-10 seconds realtime and ~80331cpu_ms ~78231api_cpu_ms. Can these numbers be improved for writes of this size? Is there a good chance my requests will deadline? After reading the docs and watching the IO sessions, I got the following ideas for improving performance: * Using the low level api with setMulti() should clump all the writes into a single RPC. I'm guessing PersistenceManager isn't doing that for us with ArrayList child objects? * Try using the Async API * I couldn't find any obvious way of improving JDO write speeds I'd really appreciate some direction so I don't waste my time trying a thousand solutions. Any advice would be awesome! Thanks, Chad P.S. My data structure is as follows (abbreviated code): Parent{ String key; // String key ArrayListGameData gameData; ArrayListUserData userData; } GameData{ private Key key; private int itemType; private int item; private float ...; private float ...; private int ... private int ...; private int ...; private long ...; private int ...; } UserData{ @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; private int ...; private String ...; private long ...; private boolean ...; } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/dXJiA5r7OfYJ. 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. -- 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] Re: Object does not persist [JDO, HR]
Since that version of GAE uses an ancient version of DataNucleus, you could simply put your update code within a transaction. -- 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.
Re: [appengine-java] Is threadsafe setting ignored for java applications?
Were all the requests sent at the same time (can you check using wireshark or similar) or did your browser queue them - most browsers have a connections per server limit as well as a total connection limit and some will do their best to re-use a single connection where possible. On 26 October 2011 21:46, cryb cbuti...@gmail.com wrote: Hello. In order to test if threadsafe setting is working as expected, I wrote a small application that increments a static counter variable, sleeps for a couple of seconds and returns the counter's value in a web page. After that I've issued 15 requests in parallel from my browser (using different tabs). During the test, the same server instance served all my requests (as shown in admin console / instances)... this was also in agreement with the returned web pages where the counter increased from 1 to 15 (i.e. all requests were processed by the same server instance sharing the same static counter variable). So far, so good... the only problem was that all requests were serialized, as if no threadsafe setting was in place (I mention here that I've included threadsafetrue/threadsafe in appengine-web.xml file)... The sleep time I used was 3 seconds and I had to wait about 15*3 = 45 seconds for the last tab to complete and to display the generated web page. So my question is: why does threadsafe setting seems to be ignored for java applications? Is there a bug in appengine system? Thank you. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/1wPUkvSu3o8J. 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. -- 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] Re: No bytes available in doPost
In method uploadAvatarImage you call for the inputStream before you have sent your bytes to the server. Please try this instead os.flush(); os.close(); InputStream is = servletConnection.getInputStream(); Next thing, in your servlet. You should use InputStream instead of Reader since you are dealing with bytes InputStream reader = request.getInputStream(); byte[] imageBytes = org.apache.commons.io.IOUtils.toByteArray(reader); Hope it helps Best regards /Dick Larsson On 24 Okt, 16:17, Rune Nielsen runeniel...@gmail.com wrote: Hi, I'm trying to upload an image to store in the Blobstore, but I'm having trouble streaming it to my servlet as a byte array. Here's the code for the client method streaming the byte array to the servlet - it's using the Commons IO: public void uploadAvatarImage(byte[] imageBytes) { try { URL myURL = new URL(http://myapp.appspot.com/SetAvatar?globalId=1;); URLConnection servletConnection = myURL.openConnection(); servletConnection.setRequestProperty(Content-Type, application/octet-stream); servletConnection.setDoOutput(true); servletConnection.setDoInput(true); OutputStream os = servletConnection.getOutputStream(); InputStream is = servletConnection.getInputStream(); IOUtils.write(imageBytes, os); os.flush(); os.close(); BufferedReader in = new BufferedReader(new InputStreamReader(is)); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); } in.close(); } catch (Exception e) { System.out.println(e); } } Here's the code for the doPost method of my servlet: @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { BufferedReader reader = request.getReader(); byte[] imageBytes = IOUtils.toByteArray(reader); PrintWriter outputWriter = response.getWriter(); int len = ; outputWriter.println(Content type is: + request.getContentType() + - length is: + request.getContentLength()); outputWriter.println(Bytes: + imageBytes.length); outputWriter.close(); } The output from the servlet is: Content type is: application/octet-stream - length is 0 Bytes: 0 Everything looks good on the client side and the size of the byte array on the client size is about 300kb. But for some reason there's no available bytes on the server side. Any ideas why? I've tried just about everything, but to no avail. Thanks in advance for any hints! Sincerely, Rune Nielsen -- 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] Re: GAE app completely down for over an hour due to com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Error setting single item
Hello Simon, This is the callstack on exception we were getting in the JSPs, which are not using anything memcache related: org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext: Exception initializing page context com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Error setting single item (_ahsSqsA9jzIMmQjzHzlJI1ozQ) at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl $5.transform(AsyncMemcacheServiceImpl.java:380) at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl $5.transform(AsyncMemcacheServiceImpl.java:372) at com.google.appengine.api.memcache.MemcacheServiceApiHelper $RpcResponseHandler.convertResponse(MemcacheServiceApiHelper.java:59) at com.google.appengine.api.memcache.MemcacheServiceApiHelper $1.wrap(MemcacheServiceApiHelper.java:98) at com.google.appengine.api.memcache.MemcacheServiceApiHelper $1.wrap(MemcacheServiceApiHelper.java:92) at com.google.appengine.api.utils.FutureWrapper.wrapAndCache(FutureWrapper.java: 58) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 78) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 74) at com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java: 27) at com.google.appengine.api.memcache.MemcacheServiceImpl.put(MemcacheServiceImpl.java: 74) at com.google.apphosting.runtime.jetty.MemcacheSessionStore.saveSession(MemcacheSessionStore.java: 39) at com.google.apphosting.runtime.jetty.SessionManager.createSession(SessionManager.java: 342) at com.google.apphosting.runtime.jetty.SessionManager $AppEngineSession.init(SessionManager.java:125) at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java: 273) at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java: 43) at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession(AbstractSessionManager.java: 413) at org.mortbay.jetty.Request.getSession(Request.java:1242) at org.mortbay.jetty.Request.getSession(Request.java:1214) at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java: 146) at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java: 124) at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java: 107) at org.apache.jasper.runtime.JspFactoryImpl.access $000(JspFactoryImpl.java:40) at org.apache.jasper.runtime.JspFactoryImpl $PrivilegedGetPageContext.run(JspFactoryImpl.java:149) at com.google.apphosting.runtime.security.shared.intercept.java.security.AccessController_.doPrivileged(AccessController_.java: 34) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java: 61) at org.apache.jsp.plans_jsp._jspService(plans_jsp.java:54) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java: 35) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java: 249) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime $RequestRunnable.run(JavaRuntime.java:393) at com.google.tracing.TraceContext $TraceContextRunnable.runInContext(TraceContext.java:449) at com.google.tracing.TraceContext$TraceContextRunnable $1.run(TraceContext.java:455) at
[appengine-java] Re: GAE app completely down for over an hour due to com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Error setting single item
Thanks for the update Jerome. I had wondered whether the error had occurred in Session management, since you weren't calling it explicitly. This definitely needs to fail invisibly - a failure in Memcache, when the datastore is still available, shouldn't cause session management to fail! Cheers, Simon -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/U5F0drL5LmMJ. 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.
Re: [appengine-java] Is threadsafe setting ignored for java applications?
Thank you for your response... indeed, it was the browser that serialized all the requests (I used both Firefox 3.x and 7.x)... I've checked the app using wget and everything worked as expected. I didn't bother to check the browser because I configured Firefox to use separate brand new connections for each request (network.http.keep-alive = false, network.http.max-connections=256, network.http.max-connections-per-server=15) and I'm not behind a proxy... Anyway, it seems that for the same resource, Firefox still serializes requests and ignores all the above settings. Now, after seeing what the problem was, I've gone even further and configured Firefox to use http pipelining and persistent connections (network.http.keep-alive = true, network.http.max-connections=256, network.http.max-connections-per-server=15, network.http.pipelining=true) with no more luck: the requests for the same resource are still being serialized. Any ideas how to convince Firefox to open concurrent connections to the same web resource? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/M69MJh1QZm4J. 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.
Re: [appengine-java] Is threadsafe setting ignored for java applications?
Have you tried adding a different query parameter to each request? On 27 October 2011 13:53, cryb cbuti...@gmail.com wrote: Thank you for your response... indeed, it was the browser that serialized all the requests (I used both Firefox 3.x and 7.x)... I've checked the app using wget and everything worked as expected. I didn't bother to check the browser because I configured Firefox to use separate brand new connections for each request (network.http.keep-alive = false, network.http.max-connections=256, network.http.max-connections-per-server=15) and I'm not behind a proxy... Anyway, it seems that for the same resource, Firefox still serializes requests and ignores all the above settings. Now, after seeing what the problem was, I've gone even further and configured Firefox to use http pipelining and persistent connections (network.http.keep-alive = true, network.http.max-connections=256, network.http.max-connections-per-server=15, network.http.pipelining=true) with no more luck: the requests for the same resource are still being serialized. Any ideas how to convince Firefox to open concurrent connections to the same web resource? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/M69MJh1QZm4J. 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. -- 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] In an application using the High Replication Datastore, the blobstore is eventually consistent too?
Hi everyone, In an application using the High Replication Datastore, the blobstore is eventually consistent too or it is strongly consistent? or simply: it is possible that in the servlet called after uploading a blob this line: Image im = ImagesServiceFactory.makeImageFromBlob(blobKey); could try to create an Image from a blob not yet available (like when you try to get an entity you just put into the datastore)? Thanks. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/ZjFXJlUT-a0J. 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.
Re: [appengine-java] Is threadsafe setting ignored for java applications?
I've tested it and I can confirm that a dummy query parameter solves the problem... this is mainly because Firefox perceives the newly formed urls as separate resources... however, for the same resource I still could not find a way to get Firefox to open concurrent connections. Meanwhile, I will use this hack to test the app. Thanks. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/_6CX7_MT9YwJ. 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.
Re: [appengine-java] Does JDO auto remove indexes that now have unindexed properties?
Thanks for the reply Ikai, that was the information I needed. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/85UIicBcxZQJ. 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] Merging older queries with ancestor queries.
Hi, I have been doing a lot of reading on Ancestor queries because we are currently trying to transfer from Master / Slave to the High Replication datastore. We have noticed while testing on the HRDS, that sometimes when adding an entity and redirecting the view to show that entity (or maybe a list containing others as well), it can take a while for it to update because it is eventually consistent. (which is sometimes inconvenient) I understand that you can not put an entity into an entity group once already created, the process of creating that entity so it is in a group has to be done the first time round. I was just wondering that if we kept our older entities and started doing ancestor queries to insert new ones, can we merge the results to produce and output? I think if we can, it will have to be done in 2 queries, and if it can, will we no longer see a delay in data being updated? Thanks, Mark -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/oMP7GatHjmYJ. 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.
Re: [appengine-java] Does JDO auto remove indexes that now have unindexed properties?
Wild guess: If you load an entity in JDO and set a property to be exactly what it was before, this won't actually flag the entity as dirty. It won't be written when you commit the session. I don't know how you would force a write using JDO. Jeff On Thu, Oct 13, 2011 at 6:23 AM, markabrucey markabru...@gmail.com wrote: Basically I have gone through my datastore persist-able classes and have annotated properties that I never need to query on like this: @Extension(vendorName=datanucleus, key=gae.unindexed, value=true) private Long random; I needed to test whether or not JDO removed the index when I changed the POJO by annotating a property as unindexed. So I created a simple test to read in an existing entity, updated it (with properties holding the exact same values as before), then finally queried on it using the now unindexed property random. I woud have expected for it to not appear again once updated (because the property is now unindexed), which would have suggested that JDO was handling the index deletion correctly, but it appears not. Are there any settings that I may need to change in order to allow JDO to delete the now un-needed single property indexes? Is there a way I can remove / vacuum these single property indexes (that I don't need anymore) myself? Thanks, Mark -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/whSOGsiNGrUJ. 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. -- 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] Re: Strange behavior with OpenID
Hi Miguel, This is an expected behavior. The other way around is also true: if your user logout of you application, they will still be login onto their OpenID provider. The OpenID Provider (Identity provider) and your application (relying party) do not know each others, The OpenID provider just tells your application that the user that is accessing your application is really who he says it is (Authentication), After that App Engine will manage this user session, differently from the user session from the Identity provider. That been said, the user is login to your application and App Engine retains his identity and any other action on his OpenID provider will not affect the user session from your app. The key point to understand here is that OpenId is just a mechanism to identify that the person trying to login is actually what he says he is. Other than that, App Engine provides a Transparent API which let you hold on to this verification fror the life of the user session on your application. Hope this helps! Jose Montes de Oca -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/z9zMeP_sPz0J. 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] Change from String to Integer , now can't rid of Zombie instances... what is the right procedure to do so?
HI I'm getting Nested in javax.servlet.ServletException: java.lang.ClassCastException: cannot assign instance of java.lang.String to field dr.todo.beans.ToBuyBean.quantityToAdd of type java.lang.Integer in instance of dr.todo.beans.ToBuyBean: cause I had a String and now i changed it to Integer and updated my application, and i deleted all _ah_SESSION entrys, but it still does not work... how can i properly get rid of all the Zombie data upon updating my application from eclipse? I don't want to wait for couple of hours , I want to get rid of all the Zombies right after the upgrade... What is the best practice for it? Thanks ahead, Daniel. -- 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] Re: Programmatic creation of an application/app-id... is it possible?
Guys anyone any ideas on this please? On 24/10/2011 13:47, Tom Fennelly wrote: Hi all. I searched the archives but was unable to find an answer to my question. Basically wondering if it's possible to programatically create an application instance. Obviously I can update an instance using the AppCfg class, but I can't see an API for creating an instance. Sorry if there's an obvious answer... I'm a noob. Regards, Tom. -- 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] Re: Strange behavior with OpenID
Yes, thank you very much Jose: you are very useful! You perfectly got the point I didn't understand correctly .. ;) But now I have to think about the solution .. I would propose this one: I have always to rely on the session (and not on the UserService); if there is no session active I propose to the user the OpenID login. When I get the User class out of that (userService.getCurrentUser()), I save the getUserId() in the session and in the future I can get who is logged in by looking for the userId in the session. Is this a good practice to deal with authentication? Thank you very much again, Michele On Oct 27, 12:14 pm, Jose Montes de Oca jfmontesde...@google.com wrote: Hi Miguel, This is an expected behavior. The other way around is also true: if your user logout of you application, they will still be login onto their OpenID provider. The OpenID Provider (Identity provider) and your application (relying party) do not know each others, The OpenID provider just tells your application that the user that is accessing your application is really who he says it is (Authentication), After that App Engine will manage this user session, differently from the user session from the Identity provider. That been said, the user is login to your application and App Engine retains his identity and any other action on his OpenID provider will not affect the user session from your app. The key point to understand here is that OpenId is just a mechanism to identify that the person trying to login is actually what he says he is. Other than that, App Engine provides a Transparent API which let you hold on to this verification fror the life of the user session on your application. Hope this helps! Jose Montes de Oca -- 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.
Re: [appengine-java] Re: Programmatic creation of an application/app-id... is it possible?
Yes, you can, using WebDriver. I don't remember if theres any captcha... that would be a problem. Just emulate what you would do manually. Regards On Thu, Oct 27, 2011 at 6:18 PM, Tom Fennelly tom.fenne...@gmail.comwrote: Guys anyone any ideas on this please? On 24/10/2011 13:47, Tom Fennelly wrote: Hi all. I searched the archives but was unable to find an answer to my question. Basically wondering if it's possible to programatically create an application instance. Obviously I can update an instance using the AppCfg class, but I can't see an API for creating an instance. Sorry if there's an obvious answer... I'm a noob. Regards, Tom. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+** unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/** group/google-appengine-java?**hl=enhttp://groups.google.com/group/google-appengine-java?hl=en . -- Guit: Elegant, beautiful, modular and *production ready* gwt applications. http://code.google.com/p/guit/ -- 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.