[appengine-java] Re: Google Analytics tracking code on GAE
common... gae does not interfere with your jsp or servlet output. any javascript will work. i am using analytics code and a lot of other javascript. only explanation i can give is that you deployed to the wrong version, or something like that. On Oct 19, 9:56 am, Prashant antsh...@gmail.com wrote: I am using GWT, Adsense, Analytics and YUI, all of them are working fine with Servletshttp://code.google.com/appengine/docs/java/gettingstarted/creating.html . Anyway, today i tried javascript with JSP also and it works,http://gaeapptest.appspot.com/test.jsp. You guys must be doing something wrong or may be your builder is not recompiling the JSPs every time you change your code and then you feel like GWE removed JS code ! try creating a new project and share some code next time if problem persists. --~--~-~--~~~---~--~~ 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: Caching using static fields
What about using memcache as keeping cache version counter ? When update is needed than this counter is increased. Every requests keeps local number and at the beginning compare local counter against memcache counter. If not equal than refresh local cache and local cache number. If memcache counter if not available (expired) than assume it as equal 0 and behave accordingly. It could mean unnecessary cache refreshing from time to time if memcache expires. --~--~-~--~~~---~--~~ 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: receiving mail demo
msg.getContent () should return Multipart but here in GAE it returns ByteArrayInputStream . i tried reading Object after wrapping ByteArrayInputStream into ObjectStream but it doesn't work this way either. --~--~-~--~~~---~--~~ 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] Simple question: How to decrease a counter in a transaction
Hi all, I need help! I'm using concurrent tasks executed in a task queue. Let's say I want to spawn 100 concurrent tasks and do something once they are all done. I thought this is simple by just storing the total number of spawned tasks into the datastore and let each task decrease the number by 1. The value should be 0 when all tasks are done. This is my code snippet to decrease the value: Transaction tx = datastore.beginTransaction(); try { Entity entity = datastore.get(tx, KeyFactory.createKey(kind, key)); Long number = (Long) entity.getProperty(column); if (number == null || number == 0) { tx.commit(); return 0; } number -= 1; entity.setProperty(column, number); datastore.put(tx, entity); tx.commit(); return number; } catch (Exception e) { throw new DBException(Failed to decrease counter, force retry!, e); } finally { if (tx.isActive()) { tx.rollback(); } } Something must be wrong with my code as from time to time two concurrent tasks return the same number after decreasing the value. Can someone please give me an advice? --~--~-~--~~~---~--~~ 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: Caching using static fields
Thanks leszek, I agree that keeping an indicator in memcache is much better than keeping the data itself there. I was trying to avoid checking memcache on every request, but I guess there is no way around that :) On Oct 19, 10:11 am, leszek leszek.ptokar...@gmail.com wrote: What about using memcache as keeping cache version counter ? When update is needed than this counter is increased. Every requests keeps local number and at the beginning compare local counter against memcache counter. If not equal than refresh local cache and local cache number. If memcache counter if not available (expired) than assume it as equal 0 and behave accordingly. It could mean unnecessary cache refreshing from time to time if memcache expires. --~--~-~--~~~---~--~~ 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] about missing values
hi, i added a new column to my data table, as it is newly added it is showing missing as column values in datastore. now i want to initialize those missing values to some value, say 0. how do i do that programmatically? i tried using column == null as filter but that doesn't work. --~--~-~--~~~---~--~~ 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] Task Queue Quota
I'm using Task Queue quite a bit in my app, and it finally hit the 10,000 quota last night. At the time the dashboard said the quota will be reset in 3 hours, which I guess it'd be at midnight PST. This morning however it is still not reset, and now the dashboard says the quota reset time will be in 18 hours. Are there anyone having the same issue? I don't know if it'd get reset today. There is still no billable quota for the task queue so event if I'd like to pay for extra quota I can't, for now. Appreciate any insights. Regards, Tung --~--~-~--~~~---~--~~ 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: Task Queue Quota
i heard 100,000 is task queue quota when billing is enabled. --~--~-~--~~~---~--~~ 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: How to get eclipse with google app engine plugin to copy jars to /war/WEB-INF/lib
Hi Esteban, That seems like a reasonable use case. There is a feature request to allow configurable severity of problems, I'd recommend you star it. See http://code.google.com/p/google-web-toolkit/issues/detail?id=3902 . Thanks, jason On Sat, Oct 17, 2009 at 3:24 PM, Esteban Ignacio Masoero emaso...@getsense.com.ar wrote: I noticed that as brendan says, if you add external jars that are not located in war/WEB-INF/lib, a warning appears. However, I'd like to be able to specify that I want that jar to be excluded from the server's classpath, and consecuently stop getting that warning. What do you think? Esteban On Mon, Sep 28, 2009 at 11:15 AM, Jason Parekh jasonpar...@gmail.comwrote: Thanks for pointing this out Brendan, I've opened bug http://code.google.com/p/google-web-toolkit/issues/detail?id=4083 . Roy, I tried exporting (i.e. ticking under order/export) the user library and the warning was still missing. jason On Sun, Sep 27, 2009 at 10:38 PM, Roy Smith roy.smith@googlemail.com wrote: I haven't tested this, but is the issue simply that you haven't ticked the jars/libraries in the Order/Export tab? On Sun, Sep 27, 2009 at 10:59 PM, brendan brendanpdohe...@gmail.comwrote: After reading the other thread and doing some testing, I have found how to get the warning in the problems view. On the Project Properties Java Build Path Libraries screen in eclipse, I had been clicking the 'Add Library' button, then selecting 'User Library', and then selecting or creating a new user library. This was handy because I could group together several jars (such as guice-2.0.jar, aopalliance.jar and guice-servlet.jar) as one thing I called GUICE_2_0. However I don't get the warning in problems view. Instead from the Project Properties Java Build Path Libraries screen in eclipse, I should have clicked the 'Add External Jars' button, and then selected the jars individually. I now get warnings for each jar in problems view. Something like The following classpath entry 'C:\temp\jar\aopalliance.jar' will not be available on the server's classpath. On Sep 22, 2:05 am, Allen Firstenberg g...@addventure.com wrote: This issue was first raised back on April 16th: http://groups.google.com/group/google-appengine-java/browse_thread/th. .. At the time, the Google team gave a couple of suggestions, admitted that some work needed to be done in this area, and said that they were tracking this internally. If there has been an update to the issue since - I've missed it. On Mon, Sep 21, 2009 at 8:12 AM, brendan brendanpdohe...@gmail.com wrote: I've just spent a couple hours tracking down an issue. It turns out that i was missing gin.jar and junit.jar from my /war/WEB-INF/lib directory. Using eclipse I have specified a number of User Libraries, and have added those to the Libraries section of the Java Build path in my project properties. It would be handy if the jars specified in the User Libraries section were copied over to /war/WEB-INF/lib automatically. Otherwise I worry what happens when I update the central location where the jars are stored, but forget to copy some of them over to /war/WEB-INF/lib. Thanks, Brendan --~--~-~--~~~---~--~~ 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] Load order WEB-INF/classes not always before WEB-INF/*.jar?
Hi, my application encounters occasionally strange errors that I can only explain by an incorrect load order (Servlet spec specifies that the webapp class loader must load first from WEB-INF/classes and then from WEB-INF/lib/*.jar). Is it possible? For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 classes and I've put my hacked version of these classes in WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This means that these two classes exist twice in the classpath what should not be a problem as WEB-INF/classes has priority but some error messages show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used from time to time. Cheers, Marc. --~--~-~--~~~---~--~~ 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] Spring MVC and fileupload
Hi, I have been trying to upload a file using is.hax.spring.web.multipart.StreamingMultipartResolver ( http://github.com/pjesi/springextras ). Can anyone post an example code including the code for PropertyEditorSupport (if required)and the bean definition. [ http://groups.google.com/group/google-appengine-java/browse_thread/thread/c035d054f0715b6a?pli=1#] this didn't help. Please help. -- Abhinav -_[No constructors were harmed in the writing of this post. Any resemblance to objects living or dead is purely coincidental]_- --~--~-~--~~~---~--~~ 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: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException
Hi, any progress on this issue? Is it possible that it comes from a bug in Jasper, not able to recognize RuntimeException occurring in a PrivilegedExceptionAction? // org.apache.jasper.runtime.PageContextImpl public void handlePageException(final Throwable t) throws IOException, ServletException { if (t == null) throw new NullPointerException(null Throwable); if (SecurityUtil.isPackageProtectionEnabled()) { try { AccessController.doPrivileged( new PrivilegedExceptionActionVoid() { public Void run() throws Exception { doHandlePageException(t); return null; } }); } catch (PrivilegedActionException e) { Exception ex = e.getException(); if (ex instanceof IOException) { throw (IOException) ex; } else { throw (ServletException) ex; -- here? } } } else { doHandlePageException(t); } } Cheers, Marc. Toby Reyelts a écrit : There's an outstanding issue in the version of Jasper App Engine is currently using that can cause exceptions escaping a JSP to be incorrectly cast to ServletException. As a temporary workaround, you can wrap the body of your JSP in a try-catch block to get the actual exception. On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek blessedg...@gmail.com mailto:blessedg...@gmail.com wrote: http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp Any idea what this error log means? LoggedIn.jsp is a rather simple jsp, getting a temp authtoken and exchanging it for a permanent one. My app runs fine on local eclipse plugin, but on deployment this error resulted. 07-30 07:30AM 49.848 /TableMgr/LoggedIn.jsp java.lang.ClassCastException: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException (PageContextImpl.java:754) --~--~-~--~~~---~--~~ 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: Load order WEB-INF/classes not always before WEB-INF/*.jar?
Hey Marc, We're not aware of this being a problem. As far as we know, we're conforming to the standard by preferring classes in WEB-INF/lib. Can you reproduce this definitively? For example, check the value of TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation(). If you can provide a sample app that shows this behavior, that would be great. On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.frwrote: Hi, my application encounters occasionally strange errors that I can only explain by an incorrect load order (Servlet spec specifies that the webapp class loader must load first from WEB-INF/classes and then from WEB-INF/lib/*.jar). Is it possible? For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 classes and I've put my hacked version of these classes in WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This means that these two classes exist twice in the classpath what should not be a problem as WEB-INF/classes has priority but some error messages show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used from time to time. Cheers, Marc. --~--~-~--~~~---~--~~ 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: Load order WEB-INF/classes not always before WEB-INF/*.jar?
On Mon, Oct 19, 2009 at 11:26 AM, Toby Reyelts to...@google.com wrote: Hey Marc, We're not aware of this being a problem. As far as we know, we're conforming to the standard by preferring classes in WEB-INF/lib. Sorry, that should be preferring classes in WEB-INF/classes. Can you reproduce this definitively? For example, check the value of TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation(). If you can provide a sample app that shows this behavior, that would be great. On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.frwrote: Hi, my application encounters occasionally strange errors that I can only explain by an incorrect load order (Servlet spec specifies that the webapp class loader must load first from WEB-INF/classes and then from WEB-INF/lib/*.jar). Is it possible? For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 classes and I've put my hacked version of these classes in WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This means that these two classes exist twice in the classpath what should not be a problem as WEB-INF/classes has priority but some error messages show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used from time to time. Cheers, Marc. --~--~-~--~~~---~--~~ 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: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException
Yes, this is: https://issues.apache.org/bugzilla/show_bug.cgi?id=31171 We need to bundle a later version of Jasper with the App Engine SDK to fix this. On Mon, Oct 19, 2009 at 10:24 AM, Marc Guillemot mguille...@yahoo.frwrote: Hi, any progress on this issue? Is it possible that it comes from a bug in Jasper, not able to recognize RuntimeException occurring in a PrivilegedExceptionAction? // org.apache.jasper.runtime.PageContextImpl public void handlePageException(final Throwable t) throws IOException, ServletException { if (t == null) throw new NullPointerException(null Throwable); if (SecurityUtil.isPackageProtectionEnabled()) { try { AccessController.doPrivileged( new PrivilegedExceptionActionVoid() { public Void run() throws Exception { doHandlePageException(t); return null; } }); } catch (PrivilegedActionException e) { Exception ex = e.getException(); if (ex instanceof IOException) { throw (IOException) ex; } else { throw (ServletException) ex; -- here? } } } else { doHandlePageException(t); } } Cheers, Marc. Toby Reyelts a écrit : There's an outstanding issue in the version of Jasper App Engine is currently using that can cause exceptions escaping a JSP to be incorrectly cast to ServletException. As a temporary workaround, you can wrap the body of your JSP in a try-catch block to get the actual exception. On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek blessedg...@gmail.com mailto:blessedg...@gmail.com wrote: http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp Any idea what this error log means? LoggedIn.jsp is a rather simple jsp, getting a temp authtoken and exchanging it for a permanent one. My app runs fine on local eclipse plugin, but on deployment this error resulted. 07-30 07:30AM 49.848 /TableMgr/LoggedIn.jsp java.lang.ClassCastException: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException (PageContextImpl.java:754) --~--~-~--~~~---~--~~ 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: Load order WEB-INF/classes not always before WEB-INF/*.jar?
Hi Toby, thanks for the quick answer. I'll open an issue if I'm able to make the problem reproducible. Cheers, Marc. Toby Reyelts a écrit : Hey Marc, We're not aware of this being a problem. As far as we know, we're conforming to the standard by preferring classes in WEB-INF/lib. Can you reproduce this definitively? For example, check the value of TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation(). If you can provide a sample app that shows this behavior, that would be great. On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.fr mailto:mguille...@yahoo.fr wrote: Hi, my application encounters occasionally strange errors that I can only explain by an incorrect load order (Servlet spec specifies that the webapp class loader must load first from WEB-INF/classes and then from WEB-INF/lib/*.jar). Is it possible? For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 classes and I've put my hacked version of these classes in WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This means that these two classes exist twice in the classpath what should not be a problem as WEB-INF/classes has priority but some error messages show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used from time to time. Cheers, Marc. --~--~-~--~~~---~--~~ 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: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException
This seems to be a really old issue that relates to something different... or do you mean that GAE uses a 5 years old version of Jasper? I've just look at the current sources of PageContextImpl http://svn.apache.org/repos/asf/tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java and it seems to me that the problem still exists there. Cheers, Marc. Don Schwarz a écrit : Yes, this is: https://issues.apache.org/bugzilla/show_bug.cgi?id=31171 We need to bundle a later version of Jasper with the App Engine SDK to fix this. On Mon, Oct 19, 2009 at 10:24 AM, Marc Guillemot mguille...@yahoo.fr mailto:mguille...@yahoo.fr wrote: Hi, any progress on this issue? Is it possible that it comes from a bug in Jasper, not able to recognize RuntimeException occurring in a PrivilegedExceptionAction? // org.apache.jasper.runtime.PageContextImpl public void handlePageException(final Throwable t) throws IOException, ServletException { if (t == null) throw new NullPointerException(null Throwable); if (SecurityUtil.isPackageProtectionEnabled()) { try { AccessController.doPrivileged( new PrivilegedExceptionActionVoid() { public Void run() throws Exception { doHandlePageException(t); return null; } }); } catch (PrivilegedActionException e) { Exception ex = e.getException(); if (ex instanceof IOException) { throw (IOException) ex; } else { throw (ServletException) ex; -- here? } } } else { doHandlePageException(t); } } Cheers, Marc. Toby Reyelts a écrit : There's an outstanding issue in the version of Jasper App Engine is currently using that can cause exceptions escaping a JSP to be incorrectly cast to ServletException. As a temporary workaround, you can wrap the body of your JSP in a try-catch block to get the actual exception. On Thu, Jul 30, 2009 at 1:13 PM, Blessed Geek blessedg...@gmail.com mailto:blessedg...@gmail.com mailto:blessedg...@gmail.com mailto:blessedg...@gmail.com wrote: http://cuckooberra.blessed-are-the-geek.com/TableMgr/TableMgr.jsp Any idea what this error log means? LoggedIn.jsp is a rather simple jsp, getting a temp authtoken and exchanging it for a permanent one. My app runs fine on local eclipse plugin, but on deployment this error resulted. 07-30 07:30AM 49.848 /TableMgr/LoggedIn.jsp java.lang.ClassCastException: java.lang.NullPointerException cannot be cast to javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException (PageContextImpl.java:754) --~--~-~--~~~---~--~~ 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 Performance
Shawn, the docs link you site is riddled with numbers (easy to get lost in them and what they truely mean)...which is why I included a simplest of scenarios above, that being to simply add a home addressbook entry attached to a User. Surely someone has a sizeable production system today in GAE that could share load results and real costs. If noone does, then that is also very troubling. Gaurav, I assume too that reading is NOT the problem and by this post am hoping to get real-world numbers to a simple update transaction. But, we need production app feedback from the most popular apps out there. Is there such a list for Java for GAE yet? Surely, there are large production apps by now? On Oct 19, 2:17 am, Gaurav ano...@gmail.com wrote: GAE performs best for simultaneous read operations. So there could be virtually any no. of users reading at the same time, no issue. But when it comes to making updates performance degradation is significant. To get a better understanding of how gae performs under heavy load, I recommend this video :http://www.youtube.com/watch?v=AgaL6NGpkB8 On Oct 19, 7:09 am, Shawn Brown big.coffee.lo...@gmail.com wrote: Hi, I have read that a particular User can process 1-10 request per second. Is this a limit of the free quota or does paid quota also have this limitation. Where and what did you read? That doesn't seem consistent with the published limits. I guess it depends on what they were doing with the app.http://code.google.com/appengine/docs/quotas.html Shawn- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ 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: receiving mail demo
Prashant, are you following the directions at: http://code.google.com/appengine/docs/java/mail/receiving.html ? On Mon, Oct 19, 2009 at 3:42 AM, Prashant antsh...@gmail.com wrote: msg.getContent () should return Multipart but here in GAE it returns ByteArrayInputStream . i tried reading Object after wrapping ByteArrayInputStream into ObjectStream but it doesn't work this way either. --~--~-~--~~~---~--~~ 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: Load order WEB-INF/classes not always before WEB-INF/*.jar?
If you can send your app-id (privately if you want), we'll see if we can investigate some on our end. On Mon, Oct 19, 2009 at 11:35 AM, Marc Guillemot mguille...@yahoo.frwrote: Hi Toby, thanks for the quick answer. I'll open an issue if I'm able to make the problem reproducible. Cheers, Marc. Toby Reyelts a écrit : Hey Marc, We're not aware of this being a problem. As far as we know, we're conforming to the standard by preferring classes in WEB-INF/lib. Can you reproduce this definitively? For example, check the value of TheHtmlUnitClassThatYouAreShadowing.class.getCodeSource().getProtectionDomain().getLocation(). If you can provide a sample app that shows this behavior, that would be great. On Mon, Oct 19, 2009 at 11:02 AM, Marc Guillemot mguille...@yahoo.fr mailto:mguille...@yahoo.fr wrote: Hi, my application encounters occasionally strange errors that I can only explain by an incorrect load order (Servlet spec specifies that the webapp class loader must load first from WEB-INF/classes and then from WEB-INF/lib/*.jar). Is it possible? For the details: to allow HtmlUnit to work with AppEngine, I've hacked 2 classes and I've put my hacked version of these classes in WEB-INF/classes whereas the normal jar resides in WEB-INF/lib. This means that these two classes exist twice in the classpath what should not be a problem as WEB-INF/classes has priority but some error messages show that the original version in WEB-INF/lib/htmlunit-x.x.jar is used from time to time. Cheers, Marc. --~--~-~--~~~---~--~~ 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: receiving mail demo
yes, every thing is working fine except that I am not able to fetch message body in suitable format. --~--~-~--~~~---~--~~ 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] Eclipse Plugin and add libraries
I am not a eclipse plugin in pro, but I think that when I add a user library to my java app engine project it select it to be exported, I get runtime errors saying the classes could not be found. The only way to get it to work is by copying it by had to the lib directory. Is this a bug in the plugin? --~--~-~--~~~---~--~~ 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: JPA and Scala
Hello Chris. I'm also interested in building a scala app on the Google App Engine. I have a simple working (empty) lift/scala template here: http://dl.getdropbox.com/u/1127092/lift4gaeTEMPLATE.zip But I haven't been able to cross the bridge from scala GAE app to wave robot. As I understand it there are examples of java wave robots floating around so I tried using their guidance Settings for bots: http://code.google.com/apis/wave/extensions/robots/ Java wave bot: http://www.vogella.de/articles/GoogleWave/article.html#robot Once I get this working I'll add it the code/how to information to this google wave: https://wave.google.com/wave/#restored:search:by%253Ame,restored:wave:googlewave.com!w%252BRz-PM7LmK On Oct 14, 1:02 am, chrislewis burningodzi...@gmail.com wrote: Hi all, I've spent hours wrestling with getting some form of a working dev environment for aScala(Lift) app on app engine. Gettingscalagoing is cake, lift not much harder. The pain point is using the datastore. Given the choice between JDO and JPA, I'm choosing JPA. After spending hours getting a frankenbuild working, I'm now at issues with the datastore that have me stumped. Using the following class, successfully built and enhanced, appengine (under eclipse) throws the following error when I try to merge() an entity: javax.jdo.JDOFatalInternalException: It's illegal to call jdoCopyKeyFieldsToObjectId for a class with SingleFieldIdentity. The class: import javax.persistence._ @Entity class Author { @Id @GeneratedValue{ val strategy = GenerationType.IDENTITY } var id: java.lang.Long = _ var name: String = _ } Can anyone shed some light on this? 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 -~--~~~~--~~--~--~---
[appengine-java] Memory Limit
Hi, I have a web application which does some search and refines the results using NLP techniques. When I load this web app, I use an initialization servlet to load the model files and other related resources in the memory. But I am getting an error saying Error: Server Error. The server encountered an error and could not complete your request. I am trying to see how to increase the VM size while deploying the application. In my local development server of app engine, I have set - Xms1024m -Xmx2048m. Is there a way to specify this limit for the production deployment ? Do I have to take any other route to circumvent this problem ? thanks for ur thots and time Joe --~--~-~--~~~---~--~~ 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] Is JDO really recommended?
Hi all. Is there a person who has dissatisfaction in current JDO? Do not you think that the solution is low-level API? When JDO is used, it is easy for us who become accustomed to the O/R mapping possibly. You might think solving. I think that I am also certainly easy. However, I think that it is a trap. When JDO is used to some degree, the limit is sure to be seen. It tries to apply the specification made for RDBMS to a different Key-Value type data store by force originally. And, do you really solve it? I think that I should grope for the specification and the method of agreement to it in the Key-Value type data store. In JDO and low-level API, the performance is also different at all. JDO high performance certainly. However, there is still a lot of trouble in JDO. Low-level API is a low function like the name. However, low-level API is simple and low the study cost. Moreover, the performance is high, and mysterious existence to seem to teach us a mystery the data store original. Naturally, the rapper that covers low-level API is needed. Do not you misinterpret it though original architecture is different? DLL hell, XML hell, and annotation hell. My anxiety is to become a nest hell. I think that I should deepen the discussion more. To begin with, the aspect of API design that is appropriate for the Key-Value type data store is also necessary. Even if the individual (one) says dissatisfaction, it is likely to be disregarded. However, if everyone thinks like that, it becomes a request of the market. I'm sorry in poor English. This is an automatic translation. -- --- Kazuki Aranam) Email: kazuki.aran...@gmail.com http://d.hatena.ne.jp/kazuki-aranami/ --- --~--~-~--~~~---~--~~ 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] How much time should it take to upload(deploy) a new version of an application?
Hi, It takes me around 2 hours or so to deploy my simple application with 5 jsp s and 2 Java files. Is this normal? Should it take this much time to deploy? I have 128kbps internet connection. I tried with appcfg.sh as well as Eclipse plugin. Pasting my console: sprad...@spradeep-laptop:~/eclipse_goog/plugins/ com.google.appengine.eclipse.sdkbundle_1.2.6.v200910130758/appengine- java-sdk-1.2.6/bin$ ./appcfg.sh update /home/spradeep/app/war Reading application configuration data... Beginning server interaction for app-pradeep... 0% Creating staging directory 5% Scanning for jsp files. 8% Compiling jsp files. 11% Compiling java files. 20% Scanning files on local disk. 25% Initiating update. 28% Cloning 3 static files. 31% Cloning 41 application files. 40% Uploading 13 files. Takes 20 to 30 mins.No Network activity in system monitor. Uploaded 3 files Takes 20 to 30 mins.No Network activity in system monitor. etc 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 -~--~~~~--~~--~--~---
[appengine-java] Error 500 - Loading data to memory during startup
Hi, I am working with my friend to build an app (hoogentia.appspot.com) which requires loading some learned model files to memory. I have a startup servlet that does this (loading model files to memory). Since it needs more mem, I run this app in dev mode with memory setting of -Xms1024m -Xmx2048m. I dont have any issues in development but when i deploy it to app engine and access my application, the startup servlet is invoked and it comes up with an Error 500. I am not getting any useful info from the logs. I am assuming the issue is with jvm settings for app engine in production. I looked at this thread ( http://groups.google.com/group/google-appengine-java/browse_thread/thread/031d8875b6c8f1a7) and modified appcfg.sh to java -Xmx2000m -cp $SDK_LIB/appengine-tools-api.jar \ com.google.appengine.tools.admin.AppCfg $* After doing an update, I still get the 500 Error. In dev mode, it takes like 80 seconds for the model to get loaded in memory. Any thoughts / help / suggestions greatly appreciated, thanks Joe. --~--~-~--~~~---~--~~ 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] programatically upload files to datastore
I need to upload images, sound files and text documents from a mostly standalone client PC application to a GAE app. I'm following the file upload example in the Google App Engine for Java documentation and using the Apache Commons ServletFileUpload to stream in the data and then save it with the PersistenceManager. Uploading through a servlet seems just fine, but I took a step back to wonder whether a servlet was the best way to upload these files to GAE since this isn't a human choosing files on a webpage but rather some software programatically sending the files up to the server. Is a servlet my best choice in this case? 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 -~--~~~~--~~--~--~---
[appengine-java] XMPP bot and Java applets
Hi guys, in my never ending quest to enable xmpp bots in html using javascript, now I decided to try the java applet approach. Here is how I think it should be done, easy for the consumer is my motto: applet id='xmpp' code='xmpp.class' width=0 height=0 / // javascript methods xmpp = document.applets['xmpp'] xmpp.connect('talk.google.com','5223') xmpp.login('myjid','mypass') xmpp.chat('my...@appspot.com') xmpp.send('hi bot') xmpp.disconnect() // javascript events xmpp.onreceived(message){ alert(message); } xmpp.onerror(message){ alert(message); } So, in essence, just basic javascript stuff to connect to our java applet and start sending messages back and forth to our appengine bot. The xmpp javascript lib will be just an interface to the java applet methods which will do the heavy work. Now the question, is anybody interested in joining such a project? My java knowledge is rusty and I'm gonna need all the help a java guru can provide. --~--~-~--~~~---~--~~ 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] Servelts versus JSPS
So i've been a little confused about the different responsibilities of Servlets versus JSP. I'm very new the GAE and got confused when looking at the guestbook tutorial. It seems that GuestBookServlet.java has no responsibilities after guestbook.jsp was created. However, the mapping of it in the xml says otherwise. I know we should keep responsibilities between levels separate and it seems to me that the JSP should be responsible purely with the user interface and the servlets should be in charge of compiling all the data and deciding which datastore object i should be storing it to. If anyone could help clear this up for me that would be really helpful. 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 -~--~~~~--~~--~--~---
[appengine-java] Gradual move from XAMPP to app engine
Hi all I have been developing web sites using GWT at the client and Apache web server with PHP and My SQL DB. The server side is responsible for data access, mail and some other server jobs These days I am considering using Google App engine as my server. I don't want to through all the code I have written in PHP and develop everything from scratch. My question is there a way to combine in a web site HTTP calls to the Apache server and to the app engine, both from a browser client that is developed with GWT. 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 -~--~~~~--~~--~--~---
[appengine-java] Where to report an error?
I am getting this error since Friday Oct. 16th: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. The stack trace tells me very little about the error. Stranger still, everything worked, and I made no changes, this error just starting happening. I waited over the weekend to see if it would go away, but no dice. --~--~-~--~~~---~--~~ 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] Failing to retrieve child-objects in a one-to-many JDO relation in datastore
Hi, I am failing to retrieve child-objects in a one-to-many JDO relation in the datastore. The case is as follows; I have two classes (Parent Child, code-snippet below) with a defined one-to-many relation. It is no problem storing the structure with the 'store'-operation defined below. This is easily verified by web-browsing the datastore. However, when retrievning the parent-object from the datastore ('fetchParents'), the ''childs' attribute is always null. What must be done to (auto-)populate this attribute from the datastore? Also, the 'parent'-attribute of the Child-objects will also be null if they are fetched in a similar way. All clues appreciated... Lars - - - - - - - Code samples below - - - - - - @PersistenceCapable(identityType = IdentityType.APPLICATION) public class ParentDTO { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) private String encodedKey; @Persistent public String name; @Persistent(mappedBy=parent) public ListChild childs; public ParentDTO() { } public void add(Child c) { if (childs == null) childs = new ArrayListChild(); kids.add(c); } } - - - - @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Child { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) public String encodedKey; @Persistent public String name; @Persistent public Parent parent; public Child() { } public String getEncodedKey() { return encodedKey; } } - - - - - Storing to datastore (works perfectly) public void store() { Parent p = new Parent(); p.navn = nils; Child c = new Child(); c.name = jim; p.add(c); c = new ChildDTO(); c.name = anne; p.add(c); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(p); } catch (Exception ee) { res = ee.getMessage(); } finally { pm.close(); } } - - - - - - Fetching data (not working) public String fetchParents() { String res = ; PersistenceManager pm = PMF.get().getPersistenceManager(); javax.jdo.Query query = pm.newQuery(Parent.class); ListParent parents = (ListParent) query.execute(); IteratorParent iterF = parents.iterator(); while (iterF.hasNext()) { Parent f = iterF.next(); res = res + : + f.name; if (f.childs != null) { // this is the problem - 'this.childs' is always null IteratorChild iterI = f.childs.iterator(); while (iterI.hasNext()) { Child idto = iterI.next(); res = res + + idto.name; } } } pm.close(); } --~--~-~--~~~---~--~~ 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: JPA vs. JDO: Different naming convention when mapping to Entity (uppercase vs. case sensitive)
I'm glad you found it easy to switch, that's what we want to hear! Max On Sun, Oct 18, 2009 at 7:13 AM, Raphael André Bauer raphael.andre.ba...@gmail.com wrote: On Fri, Oct 16, 2009 at 10:09 PM, Max Ross maxr+appeng...@google.commaxr%2bappeng...@google.com wrote: I'm surprised to hear that you're getting USER with JDO as opposed to User. Can you send me your jdoconfig.xml? Are you passing any additional options when you create the PersistenceManagerFactory? FYI everything you need to know about changing this behavior is here, but it shouldn't be necessary on App Engine because our JDO/JPA implementation defaults to PreserveCase http://www.datanucleus.org/products/accessplatform_1_0/jdo/orm/datastore_identifiers.html Hey Max, thanks for your quick reply. After cleaning up I saw that my build process copied a wrong jdoconfig.xml causing the uppercase behaviour. Thanks for pointing me to that. Maybe it's interesting for you (@google) to know that it is pretty straight forward to change from JPA to JDO. I did not use any fancy JPA features, but all I had to do is updating my persistent classes and creating the default jdoconfig.xml. My app now runs with JDO and there was no need to convert the raw data in the datastore. Nice :) Raphael Max On Fri, Oct 16, 2009 at 10:52 AM, Raphael André Bauer raphael.andre.ba...@gmail.com wrote: Hi, I am currently trying to switch my app from JPA to JDO. Works fine, but there is one stopper in the moment: A class called User will be stored as Entity User by JPA and as Entity USER by JDO. Is there a way to tell JDO (or datanucleus) to retain the upper/lowercase chars when creating a mapping from a class to an entity by default? thanks, ra --~--~-~--~~~---~--~~ 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: programatically upload files to datastore
Could you share your code for the servlet that handles file uploads. I have been not able to get that working. Thanks in advance -- Abhinav -_[No constructors were harmed in the writing of this post. Any resemblance to objects living or dead is purely coincidental]_- On Mon, Oct 19, 2009 at 7:40 AM, Houston startup coder stephenh...@gmail.com wrote: I need to upload images, sound files and text documents from a mostly standalone client PC application to a GAE app. I'm following the file upload example in the Google App Engine for Java documentation and using the Apache Commons ServletFileUpload to stream in the data and then save it with the PersistenceManager. Uploading through a servlet seems just fine, but I took a step back to wonder whether a servlet was the best way to upload these files to GAE since this isn't a human choosing files on a webpage but rather some software programatically sending the files up to the server. Is a servlet my best choice in this case? 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Selecting more than 1000 rows ?
You can use setRange if you want to retrieve entities from a specified offset from the start of the results list, which comes in handy for paging. You can also use it to set a limit, capping the number of returned results. - Jason On Wed, Oct 14, 2009 at 3:22 AM, Sreekanth Raju sraj...@gmail.com wrote: then what is the use of query.setRange() --~--~-~--~~~---~--~~ 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: The request to API call datastore_v3.Put() was too large exception
Thanks for following up, Pion. The maximum entity limits in the local development environment should mirror the limits/quotas in the production environment, meaning you should see an error when passing more than 500 entities into put(). Please post a new bug report to the issue tracker, and thanks for the catch. http://code.google.com/p/googleappengine/issues/list - Jason On Wed, Oct 14, 2009 at 12:49 PM, Pion onlee2...@gmail.com wrote: Thanks Jason. This is local environment during my stress test. I have not uploaded this app on the production yet. I have set the limit per your advice below. Again, thanks. On Oct 14, 11:18 am, Jason (Google) apija...@google.com wrote: Did you see this in the local development environment or production? According tohttp:// code.google.com/appengine/docs/java/datastore/overview.html#Qu..., the maximum number of entities for any batch write is 500. If you're not running this in production, I would first try running this there since you'll likely run into the 30 second request time limit when trying to persist such a large number of entities in a single request. You should look into task queues to split this write into several requests/tasks. - Jason On Sun, Oct 11, 2009 at 3:09 PM, Pion onlee2...@gmail.com wrote: I am using java.util.ListKey put(java.lang.IterableEntity entities) as shown on http://code.google.com/appengine/docs/java/javadoc/com/google/appengi. .. . I received the The request to API call datastore_v3.Put() was too large. exception -- see the details below. I put 3,600+ entities. I tested with 3,000 entities without any problem. Is there any method to find out the max entities could be put? Thanks in advance for your help. com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large. at com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall (ApiProxyLocalImpl.java:97) at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:79) at com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall (DatastoreApiHelper.java:48) 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:144) at com.col.server.MDsIriQueue.add(MDsIriQueue.java:55) at com.col.server.TMDsIriQueue.testAdd2(TMDsIriQueue.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at org.junit.internal.runners.JUnit38ClassRunner.run (JUnit38ClassRunner.java:79) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197) --~--~-~--~~~---~--~~ 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: ETA is invalid in hosted development environment
Hi Victor, There is a bug in the local task queue implementation that considers some legal ETA values to be invalid. We've already made the fix but unfortunately we didn't get it into 1.2.6 so it won't be available until 1.2.7. Max On Sun, Oct 18, 2009 at 9:02 AM, victor victoraco...@gmail.com wrote: I keep getting this error when I use the TaskOptions.etaMillis option in task queue. I do not get this error when I deploy my app in google app engine. If anybody has some clues that will be great. SEVERE: ETA is invalid : java.lang.IllegalArgumentException: ETA is invalid : at com.google.appengine.api.labs.taskqueue.QueueApiHelper.translateError (QueueApiHelper.java:86) at com.google.appengine.api.labs.taskqueue.QueueApiHelper.makeSyncCall (QueueApiHelper.java:32) at com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:220) at com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:210) --~--~-~--~~~---~--~~ 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: Memory Limit
On Oct 17, 12:09 pm, Joebi joebi.m...@gmail.com wrote: Hi, I have a web application which does some search and refines the results using NLP techniques. When I load this web app, I use an initialization servlet to load the model files and other related resources in the memory. But I am getting an error saying Error: Server Error. The server encountered an error and could not complete your request. I am trying to see how to increase the VM size while deploying the application. In my local development server of app engine, I have set - Xms1024m -Xmx2048m. Is there a way to specify this limit for the production deployment ? No. You might find some reverseengineered information about the limits here: http://kohlerm.blogspot.com/2009/04/some-facts-about-java-used-by-googles.html Cheers Philippe --~--~-~--~~~---~--~~ 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: Tutorial for datastore with low-level api?
Currently, most datastore examples use JDO, and the only official documentation available for the low-level API are the Javadocs that you linked to in your first post. It's a fairly straightforward API, however, so you shouldn't need too much training. Just get a reference to a DatastoreService instance and use it to get and retrieve Entity objects: DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); ... If you have any specific questions or find any descriptions confusing, please let me know and I'll be happy to work through these issues with you. - Jason On Thu, Oct 15, 2009 at 1:45 PM, Iqbal Yusuf Dipu iqbalyusufd...@gmail.comwrote: Hi, Is there any online reference material with some examples available for low-level api with datastore in Java without using JDO/JPA? The main app engine site has only reference to api doc for datastore. http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Eclipse Plugin and add libraries
Hi Bobby, It's a tricky situation :) We've so far required the user to place JARs in the war/WEB-INF/lib directory. However, if we notice the user has an external jar that is not in this library, we provide a warning and a quickfix to copy the JAR to the lib directory. There's a bug ( http://code.google.com/p/google-web-toolkit/issues/detail?id=4083) that points out what you're seeing: the user library isn't found at runtime and there wasn't a warning/quickfix provided to copy it into the lib directory. jason On Fri, Oct 16, 2009 at 2:33 PM, Bobby Hargett Jr. brharg...@gmail.comwrote: I am not a eclipse plugin in pro, but I think that when I add a user library to my java app engine project it select it to be exported, I get runtime errors saying the classes could not be found. The only way to get it to work is by copying it by had to the lib directory. Is this a bug in the plugin? --~--~-~--~~~---~--~~ 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: A GAE_HOME eclipse variable that points to the default app engine sdk location
Hi Esteban, This sounds like something the plugin should definitely do, I saw the feature request you've opened, thanks! jason On Thu, Oct 15, 2009 at 9:21 PM, Esteban Ignacio Masoero emaso...@getsense.com.ar wrote: Any comments about this issue? On Thu, Oct 15, 2009 at 3:45 AM, Esteban Ignacio Masoero emaso...@getsense.com.ar wrote: Hi: I was programming some unit tests according to this page ( http://code.google.com/intl/en/appengine/docs/java/howto/unittesting.html ), and it says that you need to add to your classpath two jars ( appengine-api-stubs.jar and appengine-local-runtime.jar), because they are not located by default in the sdk jars. As I'm not the only one working on my current project, we created two classpath variables to point to those jars (ECLIPSE_HOME/plugins/.../1.2.5/.../blah.jar). Then, when updating to sdk 1.2.6 I realized that it's easy to forget updating these variables (and an annoying repetitive task to do!), and it wouldn't be bad to have a GAE_HOME variable that points to the currently default gae sdk (so these classpath variables would have something like GAE_HOME:/../blah.jar). Is there a possibility that gae plugin can take care of it? or is there any other solution to the problem I'm facing? Thanks, Esteban --~--~-~--~~~---~--~~ 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: Logging in GAE/J
Can you try log.info() instead? Passing strings to System.out should automatically log at the INFO level also: http://code.google.com/appengine/docs/java/runtime.html#Logging - Jason On Wed, Oct 14, 2009 at 2:31 PM, Thai Dang Vu tdan...@gmail.com wrote: I put my logging.properties in the WEB-INF directory. That properties file looks like this: handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter .level = WARNING com.att.level = FINEST I use commons-logging to get the log instance: private final Log log = LogFactory.getLog(getClass()); but this statement in the com.att.web.servlet.mvc.SpringMVCController.java doesn't print anything log.debug(hi hic hic); I absolutely miss something, but what is that? Thank you. --~--~-~--~~~---~--~~ 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: MemcacheService - get all keys
I am currently facing the same problem. Does anybody (maybe from Google) know if the keyset() method provided by JCache is going to be implemented for the MemcacheService? thanks, fx On Oct 16, 2:24 am, Peter Liu tinyee...@gmail.com wrote: I believe you can't. I tried to find out before but there's no such method in the low level api. The JCache API there's a method to get all entries but google didn't implement that. So I think the answer is no. You can removeall keyshowever. On Oct 14, 2:19 pm, keyurva keyu...@gmail.com wrote: Any suggestions? On Oct 14, 10:10 am, keyurva keyu...@gmail.com wrote: Is there a way to get keys of all objects stored in thememcache? My usecase is that my keys are all strings and they have a certain hierarchical structure. So for instance my keys could be folder.home, folder.home.file.test1.txt, folder.home.test2.txt, etc. So when I delete the home folder, I delete the folder.home key in memcachebut I would also like to delete all child keys of folder.home. Currently I do this by maintaining a List of keys myself and go from there. But this of course is not an optimal nor a correct solution. Thanks, Keyur --~--~-~--~~~---~--~~ 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: MemcacheService - get all keys
As far as I know we have no plans to support this. However, feel free to star this issue to register your need for this functionality: http://code.google.com/p/googleappengine/issues/detail?id=2015 On Mon, Oct 19, 2009 at 1:37 PM, fx.mueller fr.x.muel...@gmail.com wrote: I am currently facing the same problem. Does anybody (maybe from Google) know if the keyset() method provided by JCache is going to be implemented for the MemcacheService? thanks, fx On Oct 16, 2:24 am, Peter Liu tinyee...@gmail.com wrote: I believe you can't. I tried to find out before but there's no such method in the low level api. The JCache API there's a method to get all entries but google didn't implement that. So I think the answer is no. You can removeall keyshowever. On Oct 14, 2:19 pm, keyurva keyu...@gmail.com wrote: Any suggestions? On Oct 14, 10:10 am, keyurva keyu...@gmail.com wrote: Is there a way to get keys of all objects stored in thememcache? My usecase is that my keys are all strings and they have a certain hierarchical structure. So for instance my keys could be folder.home, folder.home.file.test1.txt, folder.home.test2.txt, etc. So when I delete the home folder, I delete the folder.home key in memcachebut I would also like to delete all child keys of folder.home. Currently I do this by maintaining a List of keys myself and go from there. But this of course is not an optimal nor a correct solution. Thanks, Keyur --~--~-~--~~~---~--~~ 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] View this page Will it play in App Engine
Added bullet to OSGi heading with info. on Lemmon, a GAE/J-compatible port of Felix OSGi. Click on http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine - or copy paste it into your browser's address bar if that doesn't work. --~--~-~--~~~---~--~~ 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: Logging in GAE/J
Have you tried using jdk14 to get the logger instance? ( java.util.logging.Logger.getLogger(getClass().getName()) ) If you're not forced to use commons logging, you could change to that. If you are forced and trying util logging works fine, at least you'll be getting closer to the problem. Jason (Google) escribió: Can you try log.info http://log.info() instead? Passing strings to System.out should automatically log at the INFO level also: http://code.google.com/appengine/docs/java/runtime.html#Logging - Jason On Wed, Oct 14, 2009 at 2:31 PM, Thai Dang Vu tdan...@gmail.com mailto:tdan...@gmail.com wrote: I put my logging.properties in the WEB-INF directory. That properties file looks like this: handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter .level = WARNING com.att.level = FINEST I use commons-logging to get the log instance: private final Log log = LogFactory.getLog(getClass()); but this statement in the com.att.web.servlet.mvc.SpringMVCController.java doesn't print anything log.debug(hi hic hic); I absolutely miss something, but what is that? Thank you. --~--~-~--~~~---~--~~ 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: Open Social in GAE
No, the Java flavor of Shindig can't be run on App Engine, although I've heard that there's a Python port that can be run on App Engine using the Python runtime. - Jason On Thu, Oct 15, 2009 at 9:24 AM, mangrar mang...@gmail.com wrote: I'm planning doing an application that supports Open social to let users adding gadgets. Does anybody knows if it is possible running Apache Shinding (Open Social container) in GAE? --~--~-~--~~~---~--~~ 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: Open Social in GAE
I'll also point out that the OpenSocial client libraries for Java and Python are both supported in App Engine: http://code.google.com/p/opensocial-java-client/ http://code.google.com/p/opensocial-python-client/ - Jason On Mon, Oct 19, 2009 at 11:51 AM, Jason (Google) apija...@google.comwrote: No, the Java flavor of Shindig can't be run on App Engine, although I've heard that there's a Python port that can be run on App Engine using the Python runtime. - Jason On Thu, Oct 15, 2009 at 9:24 AM, mangrar mang...@gmail.com wrote: I'm planning doing an application that supports Open social to let users adding gadgets. Does anybody knows if it is possible running Apache Shinding (Open Social container) in GAE? --~--~-~--~~~---~--~~ 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: Debate sobre will-it-play-in-app-engine
I found this thread, which appears to indicate that it does with a little tweaking: http://groups.google.com/group/google-appengine-java/browse_thread/thread/2bf379fa908a75f1 - Jason On Thu, Oct 15, 2009 at 9:37 AM, mangrar mang...@gmail.com wrote: What about apache Velocity template engine? does it work? --~--~-~--~~~---~--~~ 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: java.lang.NoClassDefFoundError: javax.swing.tree.TreeNode is a restricted class.
We're looking into this now. The root cause appears to be a UI dependency in the Freemarker template system. For now, a workaround is available in this thread: http://groups.google.com/group/google-appengine-java/browse_thread/thread/dd84e44f604498c4 - Jason On Fri, Oct 16, 2009 at 8:03 PM, Abhinav Lele abhinav.l...@gmail.comwrote: I also got the same error when i tried to switch to sdk 1.2.6 from 1.2.5. In my case I was using freemarker and spring. As soon I included the spring.ftl in my template I got this error. -- Abhinav -_[No constructors were harmed in the writing of this post. Any resemblance to objects living or dead is purely coincidental]_- On Sat, Oct 17, 2009 at 12:22 AM, Philippe Marschall philippe.marsch...@gmail.com wrote: On Oct 16, 12:52 pm, venkat vsath...@gmail.com wrote: I am able to post and run my app from the appspot successfully. But when I run the app locally I receive the above error. JSP is not able to run struts tag. Here is a little long error info: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax.swing.tree.TreeNode is a restricted class. Please see the Google App Engine developer's guide for more details. As the exception says javax.swing.tree.TreeNode is a restricted class, that means you don't have access to it. Access restrictions are only active on the actual GAE server, not in the development environment. Cheers Philippe --~--~-~--~~~---~--~~ 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: Local server works, Appspot fails with java.lang.StackOverflowError when Spring AOP is enabled
Kris, Can you send us your app id (privately if you wish) ? On Mon, Oct 19, 2009 at 3:57 PM, Kris krisajenk...@gmail.com wrote: I'm also getting this StackOverflowError, but the app engine log view is truncated, so I can't see the initial cause. Is there any way to see the whole log message, so I can try to help track it down/produce a test case? Cheers, Kris On Oct 7, 4:36 pm, Toby Reyelts to...@google.com wrote: Unfortunately this is an issue that will be very difficult for us to solve unless you can provide us with a simple reproducing app that we can use to debug. If the issue is important to you, that is the most important thing you can do to help us.On Wed, Oct 7, 2009 at 6:57 AM, Dave Cheong d...@davecheong.com wrote: Hi there, I'm having the same problem and was wondering if you or anyone else out there have found a solution. I'm currently using GAE/J 1.2.5 and Spring 2.5. Like the previous author, everything works locally but I get a StackOverflowError on Appspot. However, if I comment out ... aop:aspectj-autoproxy/ ... things work on Appspot. Any help provided is much appreciated. thanks, dave On Aug 26, 3:38 pm, Gabriel Moreira gabrielmore...@gmail.com wrote: My app is using Spring 3.0. If i disable Spring AOP, my app runs fine both on local and appspot. But when i enable Spring AOP (tested with advice or aspects), in local runtime everything is fine and works, but in appspot im getting this error: java.lang.StackOverflowError at java.lang.String.endsWith(Unknown Source) at sun.security.provider.PolicyFile.canonPath(Unknown Source) at java.io.FilePermission$1.run(Unknown Source) at java.io.FilePermission$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.io.FilePermission.init(Unknown Source) at java.io.FilePermission.init(Unknown Source) at sun.net.www.protocol.file.FileURLConnection.getPermission(Unknown Source) at sun.misc.URLClassPath.check(Unknown Source) at sun.misc.URLClassPath$FileLoader.getResource(Unknown Source) at sun.misc.URLClassPath$FileLoader.findResource(Unknown Source) at sun.misc.URLClassPath.findResource(Unknown Source) at java.net.URLClassLoader$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findResource(Unknown Source) at com.google.apphosting.runtime.security.UserClassLoader.findResource (UserClassLoader.java:631) at java.lang.ClassLoader.getResource(Unknown Source) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:665) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:659) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.UserClassLoader.findResource (UserClassLoader.java:659) at java.lang.ClassLoader.getResource(Unknown Source) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:665) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:659) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.UserClassLoader.findResource (UserClassLoader.java:659) at java.lang.ClassLoader.getResource(Unknown Source) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:665) at com.google.apphosting.runtime.security.UserClassLoader$4.run (UserClassLoader.java:659) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.UserClassLoader.findResour... My 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:context=http://www.springframework.org/schema/context; xmlns:tx=http://www.springframework.org/schema/tx; xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context
[appengine-java] having problems with JDO query serialization to memcache...
quick question: should I be able to directly serialize (Cache.put (...)) results of JDO queries into Memcache? It appears not ... I have the following class(es): @PersistenceCapable(identityType=IdentityType.APPLICATION, objectIdClass=CityState.CityStateKey.class, cacheable=true, detachable=true) public class CityState implements Serializable { public static class CityStateKey implements Serializable { @NotPersistent private static Pattern p = Pattern.compile(^(.*),\\s?([A-Za-z]{2}) $); public CityStateKey() { } public CityStateKey(String keyValue) { final Matcher m = p.matcher(keyValue.trim()); if (m.matches()) { city = m.group(1); state = State.valueOf((m.group(2))).name(); } else throw new IllegalArgumentException(keyValue); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { // elided ... } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { // elided... } public String toString() { return (city + Address.COMMASPACE + state); } public Stringstate; public Stringcity; } public CityState(final String city, final String state) { this.city = city.trim(); this.state = state; } @Override public String getCity() { return city; } @Override public String getState() { return state; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { // elided... } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { // elided... } @Override public String toString() { return city + Address.COMMASPACE + state; } @Persistent(primaryKey=true) public String state; // should be State GAE/JDO does not support... @Persistent(primaryKey=true) public String city; } when I query select from CityState via JDO I get a StreamingQueryResult ... if I attempt to put that as a value into memcache I get the typical NotSerializableException indicating that an object in the graph is not serializable ... any thoughts/suggestions, clearly the (simple) app domain objects are (both) serializable as are the internal fields ... 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Java vs. Python X-AppEngine-Estimated-CPM-US-Dollars
In general, and as the numbers that you've shared also back up, spinning up a new instance of a Java application does take more resources, both CPU and time, than starting up a new Python application. We are making back-end improvements in the next couple of releases to improve these times, particularly those whose imported libraries/frameworks consistently cause them to time out on first startup. If you build an application that is hit excessively, particularly if you have an application with a fairly consistent rate of traffic, then you shouldn't have to worry about this too much since your instances will likely stay consistently warm and not spin down. Thus, you'll see far more cheap Java requests than very expensive since instances aren't likely to be spun down between requests. - Jason On Fri, Oct 16, 2009 at 6:45 AM, Toby tobias.ro...@sunnymail.mobi wrote: That is an interesting thread. I was asking myself the same question. My problem is, that I have some expensive initialization that is done when the webapp is initialized. I recognized that the very first request (after a longer time of idle) takes a lot of time. And as you say is expensive. I wonder if it would make sense to have a cron job that runs every minute to prevent this? On Oct 15, 10:52 pm, Timwillhack timwillh...@gmail.com wrote: I should probably point out that when I say 'Timed out' I really mean, clean start after waiting say 10 minutes to refresh a page, its not a 30 second endless while loop or anything, its actually just outputting one character from a string array. On Oct 15, 2:46 pm, Timwillhack timwillh...@gmail.com wrote: I was just curious if the initialization of the Java VM is actually charged a client? Here are some sample headers from Java vs. Python after letting the server timeout: VERY EXPENSIVE JAVA (timed out - guessing restarting VM): X-AppEngine-Estimated-CPM-US-Dollars: $0.149171 X-AppEngine-Resource-Usage: ms=4152 cpu_ms=6440 api_cpu_ms=0 X-AppEngine-Estimated-CPM-US-Dollars: $0.145377 X-AppEngine-Resource-Usage: ms=3890 cpu_ms=6276 api_cpu_ms=0 Cheap JAVA (quick refresh): X-AppEngine-Estimated-CPM-US-Dollars: $0.000168 X-AppEngine-Resource-Usage: ms=41 cpu_ms=3 api_cpu_ms=0 X-AppEngine-Estimated-CPM-US-Dollars: $0.000189 X-AppEngine-Resource-Usage: ms=19 cpu_ms=4 api_cpu_ms=0 CHEAP PYTHON FRESH START (waited about 10 mins before connecting): X-AppEngine-Estimated-CPM-US-Dollars: $0.002778 X-AppEngine-Resource-Usage: ms=103 cpu_ms=116 api_cpu_ms=0 X-AppEngine-Estimated-CPM-US-Dollars: $0.002778 X-AppEngine-Resource-Usage: ms=106 cpu_ms=116 api_cpu_ms=0 PYTHON RECONNECT QUICKLY: X-AppEngine-Estimated-CPM-US-Dollars: $0.000231 X-AppEngine-Resource-Usage: ms=7 cpu_ms=6 api_cpu_ms=0 Python is reporting very very very cheaper pricing per 1000. Is this the case or does google not really charge for the initialization for java? I sat here refreshing a page with a friend doing the same, out of the 40 or so requests about 4 were skyrocketed in price. This makes me very wary about making something that is hit excessively, since it seems like each instance is only taking 10 requests each per minute or whatver Yuck, are my numbers flawed or something? Or is Python just so much more efficient to use on app engine? --~--~-~--~~~---~--~~ 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: URLFetchService down?
Hi David. I believe you're referring to a different problem. The default timeout limit for URL Fetch requests is 5 seconds. If Twitter's API has especially high latencies (i.e. 5 seconds), your requests may be timing out. If you can, I suggest modifying the library to have a higher timeout -- currently, you can configure this up to 10 seconds. http://code.google.com/appengine/docs/java/urlfetch/overview.html#Requests - Jason On Fri, Oct 16, 2009 at 12:51 PM, da...@twitmart.org da...@twitmart.orgwrote: Twitter API calls (using twitter4j) from App Engine fail far more often than they succeed, when the same calls work fine from the same code running on a non-App Engine platform. http://mrblog.org/2009/10/16/twitmart-ported-off-of-google-app-engine/ Are you saying this is going to be fixed? That's really good news, if so. On Oct 6, 9:26 am, Don Schwarz schwa...@google.com wrote: This was not caused by any problem with the URLFetch service. As you can see from our Status Site, URLFetch is fine: http://code.google.com/status/appengine/detail/urlfetch/2009/10/06#ae... This was most likely caused by a request exceeding the 30 second deadline while initializing the URLFetchServicePb class. I believe you've posted about this problem in the past. We have what we think is a general fix for this issue in the next release, which is due out very shortly. In the mean time, I've reloaded your app (but you can do this yourself by redeploying if necessary). Sorry for the inconvenience, Don On Tue, Oct 6, 2009 at 11:20 AM, hansamann sven.hai...@googlemail.com wrote: Hi all, since at least a couple of hours I can see this exception in the logs: [groovytweets/79.336780622574504562].stdout: StackTrace Sanitizing stacktrace: java.lang.NoClassDefFoundError: Could not initialize class com.google.appengine.api.urlfetch.URLFetchServicePb$URLFetchRequest at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertToPb (URLFetchServiceImpl.java:77) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch (URLFetchServiceImpl.java:29) at twitter4j.http.Response.init(Response.java:82) at twitter4j.http.HttpClient.httpRequest(HttpClient.java:459) at twitter4j.http.HttpClient.get(HttpClient.java:420) at twitter4j.Twitter.get(Twitter.java:280) at twitter4j.Twitter.get(Twitter.java:330) at twitter4j.Twitter.getFriendsTimeline(Twitter.java:678) at sun.reflect.GeneratedMethodAccessor920.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Method.java:40) Why is it that NoClassDefFoundErrors have to be thrown, it sounds like someone removed a jar file out of the running application's memory... hmm. This happened quite a lot of times now, is that really the 'official' exception whenever the service is down? Cheers Sven --~--~-~--~~~---~--~~ 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 Performance
Is each User a root entity (i.e. an entity with no parent) ? If so, then each User is its own Entity Group, and therefore you can sustain 1-10 requests/second of writes to each individual user. On Mon, Oct 19, 2009 at 4:01 PM, Diana Cruise diana.l.cru...@gmail.comwrote: This is exactly what I'm am talking about...in my case the User and UserAddr are both in the same Entity Group. So, are you saying that my application which has a global presence in GAE can only support 25 simultaneous Users performing this update in under 5 seconds? Again, I take 1-10 requests per second response and go with the avg of 5/s. Add up 25 Users simultaneously hitting this Entity Group and that consumes a full 5 seconds. So, if you have 25 Users doing the same update over and over they will each have about a 5 second response. I know I am wrong because this is way LOW for a Google platform or any other...I just am NOT hearing or seeing numbers that say otherwise. If you clarify for me that this Entity Group performance stat of 1-10/ s is granular to the Row then we're on to something... That would tell me that my scenario above only applies if ALL Users were logged into the same account!!! If the Entity Group performance stat is granular to the Row then that would mean an infinite number of Users would average 5 updates per second. Please tell me this is TRUE! Otherwise, if this Entity Group performance stat of 1-10/s is granular to the whole group (is ALL rows) then the performance is dire as I described originally. Please tell me it isn't so! On Oct 19, 11:10 am, Don Schwarz schwa...@google.com wrote: It's 1-10 updates per second per Entity Group: http://code.google.com/appengine/docs/java/datastore/transactions.htm... You need to break your design up into Entity Groups according to which pieces will need to be updated in a single transaction. In the best case, each entity can be its own entity group and the only restriction is that you update each entity no more often than 1-10 times per second. For example, it would not be a good idea to store a global counter in one entity unless you planned to update it no more than 1-10 times per second. The solution to this is to use sharded counters: http://code.google.com/appengine/articles/sharding_counters.html On Mon, Oct 19, 2009 at 11:06 AM, Diana Cruise diana.l.cru...@gmail.com wrote: Shawn, the 1-10s per Update was sited from Max Ross' I/O Video and I've seen it in various talks/docs along the way... On Oct 19, 11:03 am, Diana Cruise diana.l.cru...@gmail.com wrote: Shawn, the docs link you site is riddled with numbers (easy to get lost in them and what they truely mean)...which is why I included a simplest of scenarios above, that being to simply add a home addressbook entry attached to a User. Surely someone has a sizeable production system today in GAE that could share load results and real costs. If noone does, then that is also very troubling. Gaurav, I assume too that reading is NOT the problem and by this post am hoping to get real-world numbers to a simple update transaction. But, we need production app feedback from the most popular apps out there. Is there such a list for Java for GAE yet? Surely, there are large production apps by now? On Oct 19, 2:17 am, Gaurav ano...@gmail.com wrote: GAE performs best for simultaneous read operations. So there could be virtually any no. of users reading at the same time, no issue. But when it comes to making updates performance degradation is significant. To get a better understanding of how gae performs under heavy load, I recommend this video :http://www.youtube.com/watch?v=AgaL6NGpkB8 On Oct 19, 7:09 am, Shawn Brown big.coffee.lo...@gmail.com wrote: Hi, I have read that a particular User can process 1-10 request per second. Is this a limit of the free quota or does paid quota also have this limitation. Where and what did you read? That doesn't seem consistent with the published limits. I guess it depends on what they were doing with the app. http://code.google.com/appengine/docs/quotas.html Shawn- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ 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: cron job at a specific day of every month
The documentation does not indicate that you can do this, although I haven't personally tested this case. You're certainly welcome to try it, but in the probable case where it doesn't work, you can use the schedule formats given in the docs: http://code.google.com/appengine/docs/java/config/cron.html - Jason On Fri, Oct 16, 2009 at 8:38 AM, dogan kaya berktas dkberk...@gmail.comwrote: I want to run a cron job every 25th of every month, Can I do that ? Should I say sth like evert 25th of jan, feb --~--~-~--~~~---~--~~ 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: Lists vs Sets performance
Choose the Collection which meets your requirements -- if you don't want to inadvertently add two or more objects representing the same Key, then use a Set, and if you need this set of Keys to be sorted, then use a SortedSet. If this isn't a requirement, go ahead and use a List or Collection, as these are likely to be negligibly faster. But, I doubt that you'll see a huge performance difference using a Set versus a List, for example, especially if you're lists are small. - Jason On Thu, Oct 15, 2009 at 7:10 AM, Nacho Coloma icol...@gmail.com wrote: Hi, If I plan to use a property to store a Relation Index such as a ListKey, SetKey or SortedSetKey, which one should give best performance supposing order is not relevant? My intuition says to go with Set or SortedSet, but I wanted to ask first. Best regards, Nacho. --~--~-~--~~~---~--~~ 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: getting multiple objects fails
The getObjectsById function hasn't been optimized to perform a batch get, so you're just as well-off issuing multiple calls to getObjectById. If you need to issue a batch get, you'll need to use the low-level API. - Jason On Fri, Oct 16, 2009 at 12:21 AM, Rusty Wright rwright.li...@gmail.comwrote: Here's my code; the first call on the persistence manager, getObjectsById (note plural Objects) fails. But then later down it iterates over the Keys and that succeeds. The log output is below the code. On the get of multiple objects it's blowing up on Key User(10002)/DesiredDate(3006) but you can see in the log output that it succeeds when it gets them one by one. public CollectionDesiredDate getDesiredDates(final CollectionString desiredDateIds) { final SetKey keys = new HashSetKey(); for (final String eachId : desiredDateIds) keys.add(KeyFactory.stringToKey(eachId)); try { @SuppressWarnings(unchecked) final CollectionDesiredDate result = getPersistenceManager().getObjectsById(keys); return (result); } catch (final Exception e) { this.log.error(desiredDate query failed, e); } /* * one or more of the keys is bogus; iterate and fetch * individually. */ final ListDesiredDate desiredDates = new ArrayListDesiredDate(); for (final Key eachKey : keys) { this.log.debug(getting: + eachKey); try { final DesiredDate desiredDate = getPersistenceManager().getObjectById(DesiredDate.class, eachKey); desiredDates.add(desiredDate); } catch (final Exception e) { this.log.error(desiredDate query failed, e); this.log.error(desiredDate not found: + eachKey); } } return (desiredDates); } I 10-16 12:04AM 39.810 [rusty-sandbox/4.337068117851573108].stdout: ERROR: 07:04:39,805: com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:55): desiredDate query failed javax.jdo.JDOObjectNotFoundException: No such object FailedObject:User(10002)/DesiredDate(3006) at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:323) at org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1676) at org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1700) at org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1745) at com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:50) at com.objecteffects.sample.impl.service.DesiredDateService.deleteDesiredDatesById(DesiredDateService.java:116) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_$3.run(Method_.java:164) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:162) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:131) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:40) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy12.deleteDesiredDatesById(Unknown Source) at com.objecteffects.sample.web.action.ListActionBean.delete(ListActionBean.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_$3.run(Method_.java:164) at
[appengine-java] Possible to Add Child to Owned One to Many Relationship Without Loading All Children?
Hi We're using JPA and we have an owned one to many relationship that has many children (we create this owned relationship so that any combination of children can be updated in a transaction). When we add an additional child, we add it to the parent's children list. This seems to cause a loading of all children and hence takes a long time due to the large number of children. Is there any way to add a child without causing this loading to happen (some other way to set the parent without getting the parent's children list and adding to it)? Thanks, Len --~--~-~--~~~---~--~~ 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: getting multiple objects fails
Ok, thanks. Jason (Google) wrote: The getObjectsById function hasn't been optimized to perform a batch get, so you're just as well-off issuing multiple calls to getObjectById. If you need to issue a batch get, you'll need to use the low-level API. - Jason On Fri, Oct 16, 2009 at 12:21 AM, Rusty Wright rwright.li...@gmail.com mailto:rwright.li...@gmail.com wrote: Here's my code; the first call on the persistence manager, getObjectsById (note plural Objects) fails. But then later down it iterates over the Keys and that succeeds. The log output is below the code. On the get of multiple objects it's blowing up on Key User(10002)/DesiredDate(3006) but you can see in the log output that it succeeds when it gets them one by one. public CollectionDesiredDate getDesiredDates(final CollectionString desiredDateIds) { final SetKey keys = new HashSetKey(); for (final String eachId : desiredDateIds) keys.add(KeyFactory.stringToKey(eachId)); try { @SuppressWarnings(unchecked) final CollectionDesiredDate result = getPersistenceManager().getObjectsById(keys); return (result); } catch (final Exception e) { this.log.error(desiredDate query failed, e); } /* * one or more of the keys is bogus; iterate and fetch * individually. */ final ListDesiredDate desiredDates = new ArrayListDesiredDate(); for (final Key eachKey : keys) { this.log.debug(getting: + eachKey); try { final DesiredDate desiredDate = getPersistenceManager().getObjectById(DesiredDate.class, eachKey); desiredDates.add(desiredDate); } catch (final Exception e) { this.log.error(desiredDate query failed, e); this.log.error(desiredDate not found: + eachKey); } } return (desiredDates); } I 10-16 12:04AM 39.810 [rusty-sandbox/4.337068117851573108].stdout: ERROR: 07:04:39,805: com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:55): desiredDate query failed javax.jdo.JDOObjectNotFoundException: No such object FailedObject:User(10002)/DesiredDate(3006) at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:323) at org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1676) at org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1700) at org.datanucleus.jdo.JDOPersistenceManager.getObjectsById(JDOPersistenceManager.java:1745) at com.objecteffects.sample.impl.dao.jdo.DesiredDateDao.getDesiredDates(DesiredDateDao.java:50) at com.objecteffects.sample.impl.service.DesiredDateService.deleteDesiredDatesById(DesiredDateService.java:116) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_$3.run(Method_.java:164) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:162) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:131) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:40) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy12.deleteDesiredDatesById(Unknown Source) at
[appengine-java] Re: java.lang.AbstractMethodError at com.google.appengine.tools.development.DevAppServerImpl.getUserPermissions() moving from SDK 1.2.5 to 1.2.6
If you're not doing junit tests, you should add the VM parameter that eclipse asks for when editing running configurations and that should do. If you're also doing junit tests, then you should add appengine-agent.jar to your classpath. There's an issue created about this: http://code.google.com/p/googleappengine/issues/detail?id=2280 Regards, Esteban On Mon, Oct 19, 2009 at 9:14 PM, David david.glas...@gmail.com wrote: Same, any update on this? On Oct 14, 8:41 am, Patrizio Munzi patrizio.mu...@eris4.com wrote: Hi, I'm getting this error moving from SDK 1.2.5 to 1.2.6:--2009-10-14 08:32:11.270::WARN: EXCEPTION java.lang.AbstractMethodError: com.google.appengine.tools.development.DevAppServerImpl.getUserPermissions()Ljava/security/Permissions; at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:122) at java.lang.Thread.setContextClassLoader(Unknown Source) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:739) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342) 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 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) 2009-10-14 08:32:11.286::WARN: handle failed java.lang.IllegalStateException: Request in context! at org.mortbay.jetty.Request.recycle(Request.java:163) at org.mortbay.jetty.HttpConnection.reset(HttpConnection.java:470) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:450) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)--- Regards --~--~-~--~~~---~--~~ 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: Framework for java/jsp based dev supported by GAE
That is an Apache Xalan error message. Try putting the xalan.jar, xercesImpl.jar xml-apis.jar, xsltc.jar and serializer.jar from http://xml.apache.org/xalan-j/downloads.html into the WEB-INF/lib directory. That should fix your problem. I have also created a Google Code project to contain the project that was built during the process of documenting the configuration of JSF2 on GAE: http://code.google.com/p/jsf2gae/ Derek On Oct 19, 2009, at 2:49 PM, Vik wrote: Hie Derek So here another error i m facing after modifying web.xml. any suggestions? Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext @1e779a7{/,/base/data/home/apps/sakshumwebjsf/1.337116897991188426} com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Translet class loaded, but unable to create translet instance. at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 354) at com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:219) at org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 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 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:191) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:168) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:127) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:239) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5135) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5133) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:814) 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:769) 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: 436) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:396) at java.lang.Thread.run(Unknown Source) Caused by: javax.xml.transform.TransformerConfigurationException: Translet class loaded, but unable to create translet instance. at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer (Unknown Source) at com.sun.faces.config.ConfigManager$ParseTask.getTransformer (ConfigManager.java:965) at com.sun.faces.config.ConfigManager$ParseTask.getDocument (ConfigManager.java:905) at com.sun.faces.config.ConfigManager$ParseTask.call (ConfigManager.java:831) at com.sun.faces.config.ConfigManager$ParseTask.call (ConfigManager.java:787) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at com.sun.faces.config.ConfigManager.getConfigDocuments (ConfigManager.java:656) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 337) ... 30 more C10-18 02:43AM 44.862
[appengine-java] Re: Framework for java/jsp based dev supported by GAE
Looks like I need to update the doc. I've added the Apache Xalan libraries into my project and now it works as well - http://jsf2template.wildstartech.com/ . Looks to be a difference between the SDK running locally and the runtime environment on the server. I'm going to dig into the error code and look for some bugs, but the fix from my previous note should get you going. Derek On Oct 19, 2009, at 2:49 PM, Vik wrote: Hie Derek So here another error i m facing after modifying web.xml. any suggestions? Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext @1e779a7{/,/base/data/home/apps/sakshumwebjsf/1.337116897991188426} com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Translet class loaded, but unable to create translet instance. at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 354) at com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:219) at org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 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 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:191) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:168) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:127) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:239) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5135) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5133) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:814) 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:769) 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: 436) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:396) at java.lang.Thread.run(Unknown Source) Caused by: javax.xml.transform.TransformerConfigurationException: Translet class loaded, but unable to create translet instance. at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer (Unknown Source) at com.sun.faces.config.ConfigManager$ParseTask.getTransformer (ConfigManager.java:965) at com.sun.faces.config.ConfigManager$ParseTask.getDocument (ConfigManager.java:905) at com.sun.faces.config.ConfigManager$ParseTask.call (ConfigManager.java:831) at com.sun.faces.config.ConfigManager$ParseTask.call (ConfigManager.java:787) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at com.sun.faces.config.ConfigManager.getConfigDocuments (ConfigManager.java:656) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: 337) ... 30 more C10-18 02:43AM 44.862 Uncaught exception from servlet
[appengine-java] Re: Failing to retrieve child-objects in a one-to-many JDO relation in datastore
Hi Lars, Try to annotate your relationship as follows: @Persistent(mappedBy=parent, default-fetch-group=true) public ListChild childs; On Tue, Oct 20, 2009 at 12:19 AM, Lars lsor...@gmail.com wrote: Hi, I am failing to retrieve child-objects in a one-to-many JDO relation in the datastore. The case is as follows; I have two classes (Parent Child, code-snippet below) with a defined one-to-many relation. It is no problem storing the structure with the 'store'-operation defined below. This is easily verified by web-browsing the datastore. However, when retrievning the parent-object from the datastore ('fetchParents'), the ''childs' attribute is always null. What must be done to (auto-)populate this attribute from the datastore? Also, the 'parent'-attribute of the Child-objects will also be null if they are fetched in a similar way. All clues appreciated... Lars - - - - - - - Code samples below - - - - - - @PersistenceCapable(identityType = IdentityType.APPLICATION) public class ParentDTO { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) private String encodedKey; @Persistent public String name; @Persistent(mappedBy=parent) public ListChild childs; public ParentDTO() { } public void add(Child c) { if (childs == null) childs = new ArrayListChild(); kids.add(c); } } - - - - @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Child { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) public String encodedKey; @Persistent public String name; @Persistent public Parent parent; public Child() { } public String getEncodedKey() { return encodedKey; } } - - - - - Storing to datastore (works perfectly) public void store() { Parent p = new Parent(); p.navn = nils; Child c = new Child(); c.name = jim; p.add(c); c = new ChildDTO(); c.name = anne; p.add(c); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(p); } catch (Exception ee) { res = ee.getMessage(); } finally { pm.close(); } } - - - - - - Fetching data (not working) public String fetchParents() { String res = ; PersistenceManager pm = PMF.get().getPersistenceManager(); javax.jdo.Query query = pm.newQuery(Parent.class); ListParent parents = (ListParent) query.execute(); IteratorParent iterF = parents.iterator(); while (iterF.hasNext()) { Parent f = iterF.next(); res = res + : + f.name; if (f.childs != null) { // this is the problem - 'this.childs' is always null IteratorChild iterI = f.childs.iterator(); while (iterI.hasNext()) { Child idto = iterI.next(); res = res + + idto.name ; } } } pm.close(); } --~--~-~--~~~---~--~~ 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: Selecting more than 1000 rows ?
ok, let's say i want to retrieve entity from result list starting from index 1100 to 1150. how to achieve this ? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---