[appengine-java] Re: Paypal integration with app engine?
The only way I found and successfully use is the PayPal Button (saved on the server + 'custom' attribute) + IPN mechanism (over SSL) to receive transaction statuses. Other ways could not be probably implemented now due to the current GAE restrictions - mainly: you cannot add a new JCE provider now. Vaclav On May 3, 7:47 am, shamel shame...@gmail.com wrote: How to integrate paypal with app engine?? i have got many errors when integrating this. main exceptions are org.xml.sax.SAXNotSupportedException:http://xml.org/sax/features/external-general-entities at org.apache.xerces.framework.XMLParser.setExternalGeneralEntities(XMLParser.java: 486) at org.apache.xerces.framework.XMLParser.setFeature(XMLParser.java: 1298) at org.apache.xerces.parsers.SAXParser.setFeature(SAXParser.java:578) at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java: 150) ... please help me as fast as possible??? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Paypal integration with app engine?
You can integrate paypal with GAE using thrid part cart feature. I have used it On Tue, May 4, 2010 at 11:33 AM, Vaclav Bartacek vaclav.barta...@spolecne.cz wrote: The only way I found and successfully use is the PayPal Button (saved on the server + 'custom' attribute) + IPN mechanism (over SSL) to receive transaction statuses. Other ways could not be probably implemented now due to the current GAE restrictions - mainly: you cannot add a new JCE provider now. Vaclav On May 3, 7:47 am, shamel shame...@gmail.com wrote: How to integrate paypal with app engine?? i have got many errors when integrating this. main exceptions are org.xml.sax.SAXNotSupportedException: http://xml.org/sax/features/external-general-entities at org.apache.xerces.framework.XMLParser.setExternalGeneralEntities(XMLParser.java: 486) at org.apache.xerces.framework.XMLParser.setFeature(XMLParser.java: 1298) at org.apache.xerces.parsers.SAXParser.setFeature(SAXParser.java:578) at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java: 150) ... please help me as fast as possible??? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] struts2 result 'null' not found google app engine
result is mapped to what... jsp, action ... ? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] 500 Internal Server Error
Closing update: new version is ready to start serving. Uploading index definitions. Uploading cron jobs. java.io.IOException: Error posting to URL: https://appengine.google.com/api/datastore/cron/update?app_id=seven3xxversion=1; 500 Internal Server Error Unable to update: java.io.IOException: Error posting to URL: https://appengine.google.com/api/datastore/cron/update?app_id=seven3xxversion=1; 500 Internal Server Error Server Error (500) A server error has occurred. at com.google.appengine.tools.admin.ServerConnection.send(ServerConnection.java: 149) at com.google.appengine.tools.admin.ServerConnection.post(ServerConnection.java: 82) at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java: 559) at com.google.appengine.tools.admin.AppVersionUpload.updateCron(AppVersionUpload.java: 260) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java: 133) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java: 56) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java: 271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java: 145) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java: 38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Servlet request parameters empty
I'm running Google App Engine through IntelliJ Idea and am posting data to a Servlet using jQuery.ajax. I'm hitting the Servlet without issue and can return data in the response, however, the request parameters are always null; I cant seem to POST data. Where am I going wrong? var json = JSON2.stringify({name: test}); $.ajax({ type: POST, url: service, data: json, contentType: application/json; charset=utf-8, dataType: json, async: async, success: function(o) { o = $.serviceHelper.jsonSerialize(o); callback(o); }, error: this.dataServiceError }); protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType(text/json); String json = gson.toJson(request.getParameter(name)); out.println(json); } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Bouncy Castle 3party jars no longer loaded?
On May 1, 12:50 pm, Nichole nichole.k...@gmail.com wrote: Hello, Are there changes to the allowed use of Bouncy Castle as a 3rd party library in SDK 1.3.3? I'm now getting an exception SHA1 digest error for org/bouncycastle/ crypto/paddings/BlockCipherPadding.class which suggests that BouncyCastle is still being used, but classes in my app that use bouncy castle are not reporting their log statements. I added quite a bit of logging so see it drop off right before the first class using bouncy castle. I even added a static method to a BC using class just to report that it was reached. I asserted that the classes are present in the web app with JarFile and JarEntry too. Have the classes suddenly been blacklisted, but a runtime exception isn't reported? Note that when I first noticed this last week, I repackaged my app and redeployed it a few times and it was successfully using Bouncy Castle again for that day, but the problem has returned. Thanks for your time, Nichole -- May I ask how you managed to use the BC API at all? I didn't success in loading the BC API because of the restrictions of the Security.addProvider() call. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Unowned relationship confusion
Just my 2 cents: I was forced to use an unowned relationship for my application because I had very large objects: My parent object Journey contained thousands of JourneyPoints in a List element. A call to makePersistent constantly hit the 30s deadline. By modeling it as an unowned relationship and distributing the parent key by hand to the JourneyPoints everything was fine again and the performance was very good. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] one project access classes in another project in same account
using tomcat, I have been able to have one central web app access classes from surrounding web apps by simply using URLClassLoader based on the file path of the class folder. is there a way to do the same once I deploy to 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] 500 Server Error
Hello, GWT Gurus! I am frequently getting 500 Server error, when application is running on appspot, not locally. It is usually happens after application has been just deployed or after a couple of hours I haven't touched it, while it was running in browser. In logs I get this exception: # com.google.inject.internal.FinalizableReferenceQueue$SystemLoader loadFinalizer: Not allowed to access system class loader. # 05-03 10:58PM 53.370 com.google.inject.internal.FinalizableReferenceQueue init: Failed to start reference finalizer thread. Reference cleanup will only occur when new references are created. java.lang.reflect.InvocationTargetException at com.google.appengine.runtime.Request.process- a34bf020cfbce66a(Request.java) 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(Method.java:43) at com.google.inject.internal.FinalizableReferenceQueue.init(FinalizableReferenceQueue.java: 124) at com.google.inject.internal.MapMaker $QueueHolder.clinit(MapMaker.java:787) at com.google.inject.internal.MapMaker$WeakEntry.init(MapMaker.java: 946) at com.google.inject.internal.MapMaker$Strength $1.newEntry(MapMaker.java:312) at com.google.inject.internal.MapMaker $StrategyImpl.newEntry(MapMaker.java:498) at com.google.inject.internal.MapMaker $StrategyImpl.newEntry(MapMaker.java:419) at com.google.inject.internal.CustomConcurrentHashMap $ComputingImpl.get(CustomConcurrentHashMap.java:2029) at com.google.inject.internal.BytecodeGen.getClassLoader(BytecodeGen.java: 149) at com.google.inject.internal.BytecodeGen.getClassLoader(BytecodeGen.java: 132) at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java: 162) at com.google.inject.internal.DefaultConstructionProxyFactory $1.init(DefaultConstructionProxyFactory.java:52) at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java: 50) at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java: 147) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java: 75) at com.google.inject.internal.ConstructorInjectorStore.access $000(ConstructorInjectorStore.java:27) at com.google.inject.internal.ConstructorInjectorStore $1.create(ConstructorInjectorStore.java:35) at com.google.inject.internal.ConstructorInjectorStore $1.create(ConstructorInjectorStore.java:31) at com.google.inject.internal.FailableCache $1.apply(FailableCache.java:35) at com.google.inject.internal.MapMaker $StrategyImpl.compute(MapMaker.java:549) at com.google.inject.internal.MapMaker $StrategyImpl.compute(MapMaker.java:419) at com.google.inject.internal.CustomConcurrentHashMap $ComputingImpl.get(CustomConcurrentHashMap.java:2041) at com.google.inject.internal.FailableCache.get(FailableCache.java: 46) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java: 48) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java: 113) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java: 367) at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java: 619) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java: 551) at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java: 162) at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java: 122) at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java: 625) at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java: 43) at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java: 235) at com.google.inject.internal.InjectorBuilder.initializeStatically(InjectorBuilder.java: 132) at com.google.inject.internal.InjectorBuilder.build(InjectorBuilder.java: 106) at com.google.inject.Guice.createInjector(Guice.java:93) at com.google.inject.Guice.createInjector(Guice.java:70) at com.google.inject.Guice.createInjector(Guice.java:60) at com.myapp.DispatcherServletContextListener.getInjector(DispatcherServletContextListener.java: 16) at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java: 43) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java: 548) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 1250)
[appengine-java] Re: backup and restore options
I found some info on how to enable the remote API for GAE/J applications by setting up the RemoteServlet in the application's web.xml and then you should be able to use the bulkloader.py tool from the python sdk to do backup/restore operation on the datastore of a GAE/J app. I've added the remote API servlet in the web.xml, deployed it and the remote API seems to be active since I get the This request did not contain a necessary header message in the browser. However when Could you please describe how you managed to accomplish this? Thanks, Markus -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] 500 Internal Server Error
It seems to fail on the cron upload. Have you checked your cron.xml syntax? My problem was that I had every day 01:00 synchronized. Removing synchronize resolved the issue. Also try with every 1 minutes synchronized instead of every 1 minute synchronized. This did work for me without errors on de dev server. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] one project access classes in another project in same account
Hi! 2010/5/4 bhomass bhom...@gmail.com: using tomcat, I have been able to have one central web app access classes from surrounding web apps by simply using URLClassLoader based on the file path of the class folder. is there a way to do the same once I deploy to GAE? I don't think that this is allowed, as different GAE apps are not allowed to act as one app and this is really going into that direction. So I think it's technically possible, but not allowed. -- Mit freundlichen Grüßen, // Bye, Patrick Cornelißen http://www.openprojectguide.org http://www.pcornelissen.de http://code.google.com/p/gloudy/ -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] How to make BlobServlet send non-empty response?
hi, You can redirect the upload servlet to another servlet that responds. 2010/5/3 Jaroslav Záruba jaroslav.zar...@gmail.com I'm trying to use SWFUpload for uploading images in my application but either this particular component or Flash does not like empty responses. Is it possible somehow to get any content in the response-body from uploadUrl? Regards J. Záruba -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: indexes
Thanks. By table I mean annotated Java class. One reason I was confused about the indexes is I don't see many of the ones I would expect when I navigate to https://appengine.google.com/datastore/indexes, but I guess they must exist or my queries would be failing. On Apr 30, 2:16 pm, Tristan tristan.slomin...@gmail.com wrote: uhm... read the next section? http://code.google.com/appengine/docs/java/datastore/queriesandindexe... as far as indexes getting applied to existing tables... (not sure by what you mean by table), but yes, that's why when you upload new index it is building, it's being applied to existing stuff. On Apr 30, 12:54 am, Philip Tucker ptuc...@gmail.com wrote: According to this, The App Engine datastore maintains an index for every query an application intends to make. http://code.google.com/appengine/docs/java/datastore/queriesandindexe... Does GAE just scan the app Java code for Query.setFilter, or do we need to do annotate queries for these indexes to be generated. Also, it appears new indexes do not get applied to existing tables when we deploy application code with new queries or @INDEX annotations - is this correct? Is there a way to do that, or are we required to create a new table and copy the data over? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: An entity group whose parent uses an unencoded String primary key?
To answer your questions, why not try something like the code snippet below? Cheers, Ian @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = true) public class User { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) private String sEncodedKey; /* // This is optional, but I use it. @Persistent @Extension(vendorName=datanucleus, key=gae.pk-id, value=true) private Long loKeyID; */ /* // This is optional. // One cannot define both a gae.pk-id and a gae.pk-name in the same class. @Persistent @Extension(vendorName=datanucleus, key=gae.pk-name, value=true) private String sKeyName; */ // Even though this field is an array list, the accessor methods // for this field treat the relationship of this class with the child class // as 1-1 (not 1-N). // This is a work-around for datanucleus-appengine issue 165: // Relation.ONE_TO_ONE_BI NPE postInsert(PersistenceCapableMapping.java:1039) @Persistent(mappedBy=userParent) @Element(dependent=true) @Order(extensions = @Extension(vendorName=datanucleus, key=list- ordering, value=sEncodedKey ASC)) private ArrayListFavAnimal faFavAnimals = new ArrayListFavAnimal(); public FavAnimal getFavAnimal() { FavAnimal faFavAnimal = null; if ((faFavAnimals != null) (!faFavAnimals.isEmpty())) faFavAnimal = faFavAnimals.get(0); return faFavAnimal; } public void setFavAnimal(FavAnimal favAnimal) { if (faFavAnimals == null) faFavAnimals = new ArrayListFavAnimal(); if (!faFavAnimals.isEmpty()) faFavAnimals.clear(); if (faFavAnimals != null) faFavAnimals.add(favAnimal); } ... } @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = true) public class FavAnimal { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extension(vendorName=datanucleus, key=gae.encoded-pk, value=true) private String sEncodedKey; @Persistent(dependent=false) private User userParent; ... } FavAnimal fa = new FavAnimal(); user.setFavAnimal(fa); fa.setUserParent(user); pm.makePersistent(fa); -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] payment gateway integrations with appengine
Does Paypal work in India? They have an API for developers: https://developer.paypal.com/ From what I've heard, their Java client may not work out of the box with App Engine, though. On Mon, May 3, 2010 at 11:54 AM, aswath satrasala aswath.satras...@gmail.com wrote: Hello, I looked into google-checkout, but it is currently for US Europe only. I am looking to be able to bill the customer in Rupees, and hence would like to integrate with indian payment gateway systems into the appengine app. Any experiences on this Thanks -Aswath -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Fileupload Tutorial?
Here's some abandonware I wrote a while ago that does file upload using Apache Commons File Upload: http://github.com/ikai/DateEngine/blob/master/src/com/dateengine/controllers/PhotoServlet.java http://github.com/ikai/DateEngine/blob/master/src/com/dateengine/controllers/PhotoServlet.javaNot sure how this would work with GWT, though. On Mon, May 3, 2010 at 8:04 PM, Raphael raphaelschae...@gmail.com wrote: Hi I'm really new to the whole GAE stuff. I've used Java, but always for desktop stuff, so for the past couple years I was mostly doing PHP for all my Web programming. Well, I decided to see how Java does and the GAE seemed just a really nice playground, but here come the problems. No clue of the whole servlet stuff. So short thing. I managed my way around. I'm though looking now for a simple fileupload tutorial with GWT/GAE. Does anybody know a good source? Thanks a lot Raphael -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Serialization Error on GData Spreadhseet
Are you storing something in the session, such as an instance of the GData client? On Mon, May 3, 2010 at 7:20 PM, Rudolf rudolfstolz...@googlemail.comwrote: Hello, I am new on Google App Engine; I wrote some code which accesses a Google Spreadsheet through the provided GData Java API; everythings works well running in the Eclipse local Environment or running the code on a local Apache Tomcat Server; nevertheless, running the code on the Google App Engine (deployed through Elipse) fails with the following error: 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 App Engine log gives me the following information: Uncaught exception from servlet java.lang.RuntimeException: java.io.NotSerializableException: com.google.gdata.client.spreadsheet.SpreadsheetService at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java: 361) at com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(SessionManager.java: 341) ... Any idea what I am doing wrong; thank you in advance for your help; Best Regards Rudolf -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Cron maintenance NOW, Sun 5/2 9-11p PDT
No, this maintenance should have not changed any behavior. On Mon, May 3, 2010 at 8:28 PM, Millisecond millisec...@gmail.com wrote: Were there any changes in behavior as a result of this work? Thought I'd heard something about long running (1s) cron jobs no longer interfering with user-generated requests but don't see any documentation of this related to last night's work. Thanks, -Casey On May 2, 9:13 pm, Wesley C (Google) wesc+...@google.comwesc%2b...@google.com wrote: This is an alert that the planned cron maintenance is happening now. If you want to be notified of planned/scheduled downtimes, please subscribe to the read-only list athttp:// groups.google.com/group/google-appengine-downtime-notify... you can go there now to subscribe as well as get more information on tonight's cron outage. thanks, -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Core Python Programming, Prentice Hall, (c)2007,2001 Python Fundamentals, Prentice Hall, (c)2009 http://corepythonprogramming.com wesley.j.chun :: w...@google.com developer relations :: google app engine @app_engine :: googleappengine.blogspot.com -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Servlet request parameters empty
if you want to get your data as request parameter, you should use GET instead of POST and /or let the default contentType application/x-www-form-urlencoded and create your json object as either var json = {name: test}; // and let jquery convert it to a query string or var json = name=test; // the desired query string regards, Stephan 2010/5/4 Rob robertastanfi...@gmail.com I'm running Google App Engine through IntelliJ Idea and am posting data to a Servlet using jQuery.ajax. I'm hitting the Servlet without issue and can return data in the response, however, the request parameters are always null; I cant seem to POST data. Where am I going wrong? var json = JSON2.stringify({name: test}); $.ajax({ type: POST, url: service, data: json, contentType: application/json; charset=utf-8, dataType: json, async: async, success: function(o) { o = $.serviceHelper.jsonSerialize(o); callback(o); }, error: this.dataServiceError }); protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType(text/json); String json = gson.toJson(request.getParameter(name)); out.println(json); } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: VerifyError on no-op default constructor
I made a new version of the freemarker.jar, with a workaround for this problem. Download link for new freemarker JAR: https://sourceforge.net/ projects/freemarker/files/freemarker/2.3.16/freemarker-gae-pre3.jar/ download The workaround will delay loading of the FreeMarkerJspApplicationContext class as long as possible. It will now let the JSP taglibs work in FreeMarker on GAE as long as the custom JSP tags are not trying to use either JspFactory.getJspApplicationContext() or PageContext.getELContext(). I expect majority of taglibs out there fall into this category; those that do rely on this functionality though are, for the time being, out of luck - until GAE allows our class that implements JspApplicationContext through the verifier. Don, since this workaround is only partial, the ultimate solution would be to let our FreeMarkerJspApplicationContext through the verifier. Do you see any problem with that going forward? Thanks, Attila. On May 3, 5:54 pm, Don Schwarz schwa...@google.com wrote: I suspect that this is due to the way we make javax.servlet.jsp.JspApplicationContext available to application code but do not currently make javax.el.* available. Thus, the javax.el.ELResolver class that you are providing in your application is not the same class that your JspApplicationContext implementation should reference. I don't know that there is anything you can do in your application to work around this for the moment (short of not implementing the JspApplicationContext interface), but coincidentally we are already planning to fix this in an upcoming release. If you can provide me with a compiled war directory for your test application (either privately or by attaching to the bug), I can determine whether our solution will work for your case as well. On Mon, May 3, 2010 at 8:45 AM, Sudhir Ramanandi sramana...@gmail.comwrote: Google, atleast speak, *what does this exception mean, *then I can fix the freemarker code. SN On Fri, Apr 30, 2010 at 10:57 AM, Sudhir Ramanandi sramana...@gmail.comwrote: If the issue can't be fixed, can any one explain this strange behavior atlest ! thn we can fix our code. Thanks SN On Wed, Apr 28, 2010 at 11:06 AM, Sudhir Ramanandi sramana...@gmail.comwrote: Can anyone from google explain what java.lang.VerifyError: (class: freemarker/ext/jsp/FreeMarkerJspApplicationContext, method: init signature: ()V) Incompatible argument to function, means? See the issue http://code.google.com/p/googleappengine/issues/detail?id=3157 I have attached the source of class FreeMarkerJspApplicationContext here. The line that throws above error is FreeMarkerJspApplicationContext. class.getName(); What's wrong with this class? The class doesn't seems to have any thing unusual. Why this weird behavior? Seems google will never let freemarker to run on GAE Thanks SN -- Sudhir Ramanandi http://www.ramanandi.org -- Sudhir Ramanandi http://www.ramanandi.org -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Cache pages in Memcache
This is tangential to your question, but have you looked at using the cache-control header? That is, setting Cache-Control to public; max-age=3600;. This'll cause proxy servers between App Engine and your client to cache the page. Gzip is handled by Google infrastructure, so this is something you should never have to worry about since it happens after you have already returned a response. I suspect the way to do what you are asking in a filter is to pass a HttpServletResponse wrapper to doFilter that captures the response somehow (I am not familiar with how this would work, you may have to consult how EHCache does it), then places it into Memcache using the URI as a key. On Mon, May 3, 2010 at 10:39 PM, Sergio Lopes slo...@gmail.com wrote: Hi Are there anyone using some kind of server-side page cache using memcached? I'm thinking in a Filter that put page results in memcache when first accessed, and then getting that result in former accesses. The idea is simple but the implementation is not. (how to get the first request response? how to implement proper header management in that filter? how to not disable gzip using this?) I tried Ehcache with the Web Module (https://groups.google.com/group/ google-appengine-java/browse_thread/thread/7cfa0eae3bc26444) but it's not working. Maybe someone here has an idea on how to implement an effective page cache using Java Tks Sérgio -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Problems enabling Second-level cache with JPA
If you're able to write a tutorial, it would benefit everyone greatly. We'll link to it in a community update blog post. On Tue, May 4, 2010 at 5:05 AM, Sergio Lopes slo...@gmail.com wrote: Anyway, just a suggestion... I think it'd be better to GAE community to have better tutorials. -- Ikai Lan Developer Relations, Google App Engine Twitter: http://twitter.com/ikai Delicious: http://delicious.com/ikailan Google App Engine links: Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine ppengine target=_blankhttp://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Cache pages in Memcache
Hi Sergio, I'm thinking in a Filter that put page results in memcache when first accessed, and then getting that result in former accesses. That should work. All page cache implementations do more or less the same. The idea is simple but the implementation is not. (how to get the first request response? how to implement proper header management in that filter? how to not disable gzip using this?) * If there is content in memcache, you can deliver it and exit. Otherwise, let the request proceed, and store in the cache. * Be sure to set the cache timeout and calculate the cache key correctly (e.g. include the user ID or the user locale if the cached contents depend on that). * For HTTP headers, this presentation may help: http://www.slideshare.net/icoloma/caching-web-contents-in-the-browser-999134 It's more or less the same with JSP page fragments (except the headers, of course). No rocket science. Cheers, 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] SimpleDS 1.0_RC1 is out
We are really excited with this release, which is the first feature- complete release of SimpleDS. Lots of things have been included in so little time. Getting up-to-date with AppEngine It's hard to keep up the pace with these guys. This release includes: * Unindexed attributes. * Cursors support. * IN and != clauses. Cache = We have included a great Level 1 and Level 2 cache [1]. If you come from JDO/JPA, you may already know how it works: * Level 1 cache: This is basically a Map bound to the current thread. Until the end of the current request, any get() invocation will check this cache first. If a match is found, no invocation will be propagated to GAE. * Level 2 cache: Datastore entities are also stored in memcache, which is a second chance to get a positive match. Cacheable entities must be marked with @Cacheable, with an optional expiration time. This feature will work with single and batch get(), and the cache entries are updated with put() and delete() invocations. // Invoke memcache or the datastore ListMyData data = entityManager.get(key1, key2, key3); // this does not invoke anything (resolved by the Level 1 cache) MyData d2 = entityManager.get(key1); Functions We are going extremely functional these days [2]. This release includes a package with functions to transform collections and PagedList instances, which can be combined with batch get() to get even better performance results. This is a simple example, equivalent to a common situation with relationships: // n + 1 requests to the datastore ListMyData data = entityManager.find(query); CollectionParent parents = Lists.newArrayListwithCapacity(data.size()); for (MyData d : data) { parents.add(entityManager.get(d.getKey().getParent()); } // Transformations: 2 requests ListMyData data = entityManager.find(query); CollectionKey parentKeys = Collections2.transform(data, new EntityToParentKeyFunction(MyData.class)); CollectionParent parents = entityManager.get(parentKeys); That's all it takes to get all entities and their parents, and store them in the Level 1 cache so any request by PK will not hit memcache or the datastore. This release includes functions to retrieve parent and foreign keys, and also works with PagedList. We have taken two real-world snapshots with just this optimization (transformation + cacheable), applied to a single loop: Before: http://www.flickr.com/photos/koliseocom/4575062969/sizes/l/ After: http://www.flickr.com/photos/koliseocom/4575696456/sizes/o Notice that requests before are targeted to the datastore, while most of the after are memcache requests. Background tasks == I know that background tasks [3] are in the roadmap for AppEngine, but we needed these today. This started as an exercise to upgrade the datastore schema (add properties, delete entities, etc) and ended up as a full reusable implementation of tasks that I expect to deprecate once that AppEngine includes its own, probably better, implementation. Background tasks require adding a servlet to web.xml (and optionally appengine-web.xml as an admin-console entry) and configuring the tasks on application start using plain Java. Tasks can be invoked directly by cron triggers, queues or by POST requests. public class WriteBehindCacheTask extends IterableTaskMyClass { protected WriteBehindCacheTask() { super(my-task-id); } @Override protected SimpleQuery createQuery(TaskRequest request) { return entityManager.createQuery(MyClass.class); } @Override protected void process(MyClass entity, TaskRequest request) { // ...modify entity... entityManager.put(entity); } } Query cursors and execution deferral will be done transparently (no need to limit or handle cursors). There are some implementation superclasses depending on what you need to do, and some of them just use the raw AppEngine datastore and don't even require SimpleDS to work. This is the first feature-complete release of SimpleDS. Next on the roadmap: cached queries and we may be revisiting relations. As always, all kind of feedback is welcome. Nacho. [1] http://code.google.com/p/simpleds/wiki/Cache [2] http://code.google.com/p/simpleds/wiki/Functions [3] http://code.google.com/p/simpleds/wiki/BackgroundTasks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: slow responses for query
Query performance is generally a function of how many objects have to be returned in the simple case, which seems to be what you are doing here. How many PlayerGameStates exist per User? Queries work like this: - iterate through the index to find all PlayerGameStates with the property given to find the keys of all PlayerGameStates matching this property - run the query for all objects Are PlayerGameStates child entities of a User? I have to double check, but I believe this could reduce the App Engine datastore's ability to parallelize the queries-by-key, though the effect of this should be negligible if you are only fetching 5 objects. The reason I mentioned denormalizing is because the concept of normalization doesn't make as much sense with App Engine's datastore. We don't provide referential integrity, for instance, and transactions exist around entity groups, not globally. You don't pay a penalty for storing data that is sparse - some User entities can be huge, some can be tiny. You should optimize for reads. Doing multiple writes and the risk of data getting out of sync can suck, but as long as it is recoverable you should be okay. Contrast the performance of the query above with storing PlayerGameStates inside User. You'd do this: - Get user by key That's it! This is really fast, so you don't have to go through doing an unnecessary query - you just pay your cost at write time, possibly asynchronously. On Tue, May 4, 2010 at 12:14 PM, Philip Tucker ptuc...@gmail.com wrote: I don't think duplicating the data won't work because then I'll be doing 2 writes for every turn of the game, and I need that to be fast. I don't mind if fetching a user's game list is a little bit slow, but 5-20 seconds is too much. I can denormalize all the data such that Game 2 fields for each entry in PlayerGameState if that helps, but I'd still like to know why it's so slow now. I do have appstat installed. For one particular misbehaving request, the query fetches 5 PlayerGameState records. It iterates through the first 4 taking ~20 ms each, then I see a RunQuery taking 8 seconds. I don't see an easy way to export appstat data, but I can include more details if necessary. Here's the query code in question. SetKey myUserCache = Sets.newHashSet(); Query query = pm.newQuery(PlayerGameState.class); query.declareParameters( com.google.appengine.api.datastore.Key userKeyParam); query.setFilter(userKey == userKeyParam); ListPlayerGameState playerStates = (ListPlayerGameState) query.execute(playerKey); ListGame games = Lists.newArrayList(); for (PlayerGameState playerState : playerStates) { Game game = playerState.getGame(); myUserCache.add(game.getPlayerState().getUserKey()); myUserCache.add(game.getOpponentState().getUserKey()); games.add(game); } On May 3, 1:16 am, Ikai L (Google) ika...@google.com wrote: Indexes don't work the same way they do in relational databases. If you can fetch a value with a query, that likely means an index exists on that property. In a relational database, when an index is not present, the database will do a full table scan. A fetch by Key is always fast. Have you considered storing multiple games inside a single Game instance? Or simply storing the data you need both in the Game instances? If you want to cut down on request latency, do as many by key gets as possible. Don't try to approach the modeling from a normalization perspective. How many entities are you retrieving? And have you tried looking at what's happening via AppStats yet ( http://code.google.com/appengine/docs/java/tools/appstats.html)? On Fri, Apr 30, 2010 at 1:54 AM, Philip Tucker ptuc...@gmail.com wrote: I've got a Game object that includes two PlayerGameState objects. Both are persistence-capable. My query fetches all PlayerGameState objects for a particular user, then I get the associated game and other player. The initial fetch is always fast, and the entire operation is generally lass than a second. But periodically, maybe 5 of the time, it takes much longer, from 5-20 seconds. It's not fetching the PlayerGameState objects that's slow, it's accessing PlagerGameState.game and Game.playerStates. I shouldn't need to add an index on the keys, should I? I'd like to fetch the Game objects directly but as far as I can tell we can't query on a joined table; ie, I can't do something like select from Game, PlayerGameState join on PlayerGameState.game where PlayerGameState.userKey == userKeyParam. @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Game { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent(mappedBy = game) @Element(dependent = true) private ListPlayerGameState playerStates; ... } @PersistenceCapable(identityType =
[appengine-java] Re: unable to use sdk 1.3.3.1
I removed my eclipse ganymade, and installed eclipse galileo. Running app engine 1.3.3.1 now allows me to run my app, but I still get the previous java.net.ConnectException: Connection timed out: connect exception. On May 3, 3:40 pm, RockyWolf jamesisaa...@gmail.com wrote: Hi, I can't understand why my app which runs on 1.2.1 doesn't run on 1.3.3.1 . I keep getting the following error message when I run my app: com.google.appengine.tools.info.RemoteVersionFactory getVersion INFO: Unable to accesshttp://appengine.google.com/api/updatecheck?runtime=javarelease=1.3['1.0'] java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at sun.net.NetworkClient.doConnect(NetworkClient.java:163) at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) at sun.net.www.http.HttpClient.init(HttpClient.java:233) at sun.net.www.http.HttpClient.New(HttpClient.java:306) at sun.net.www.http.HttpClient.New(HttpClient.java:323) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnectio... 837) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java: 778) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java: 703) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection 1026) at java.net.URL.openStream(URL.java:1009) at com.google.appengine.tools.info.RemoteVersionFactory.getVersion(RemoteVersionFactory.java: 70) at com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.java: 94) at com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java: 164) at com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java: 132) at com.google.appengine.tools.development.DevAppServerMain $StartAction.apply(DevAppServerMain.java:150) at com.google.appengine.tools.util.Parser $ParseResult.applyArgs(Parser.java:48) at com.google.appengine.tools.development.DevAppServerMain.init(DevAppServerMain.java: 113) at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java: 89) java.lang.RuntimeException: Unable to locate the App Engine agent. Please use dev_appserver, KickStart, or set the jvm flag: - javaagent:sdk_root/lib/agent/appengine-agent.jar at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java: 102) at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java: 77) at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java: 38) at com.google.appengine.tools.development.DevAppServerMain $StartAction.apply(DevAppServerMain.java:153) at com.google.appengine.tools.util.Parser $ParseResult.applyArgs(Parser.java:48) at com.google.appengine.tools.development.DevAppServerMain.init(DevAppServerMain.java: 113) at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java: 89) Caused by: java.lang.NoClassDefFoundError: com/google/appengine/tools/ development/agent/AppEngineDevAgent at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java: 98) ... 6 more Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.development.agent.AppEngineDevAgent at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 7 more I tried to use the update site for eclipse ganymade, but I got the error, No repository found. Then I followed the instructions for installing the Google Plugin for Eclipse from zip files. (http://code.google.com/eclipse/docs/install- from-zip.html) But when I tried to install Ganymede Update Site Web and Java EE Development Web Developer Tools, the
Re: [appengine-java] Re: indexes
Ah, I understand. Yeah, they don't show you the automatic ones. On Tue, May 4, 2010 at 03:16, Philip Tucker ptuc...@gmail.com wrote: Thanks. By table I mean annotated Java class. One reason I was confused about the indexes is I don't see many of the ones I would expect when I navigate to https://appengine.google.com/datastore/indexes, but I guess they must exist or my queries would be failing. On Apr 30, 2:16 pm, Tristan tristan.slomin...@gmail.com wrote: uhm... read the next section? http://code.google.com/appengine/docs/java/datastore/queriesandindexe... as far as indexes getting applied to existing tables... (not sure by what you mean by table), but yes, that's why when you upload new index it is building, it's being applied to existing stuff. On Apr 30, 12:54 am, Philip Tucker ptuc...@gmail.com wrote: According to this, The App Engine datastore maintains an index for every query an application intends to make. http://code.google.com/appengine/docs/java/datastore/queriesandindexe. .. Does GAE just scan the app Java code for Query.setFilter, or do we need to do annotate queries for these indexes to be generated. Also, it appears new indexes do not get applied to existing tables when we deploy application code with new queries or @INDEX annotations - is this correct? Is there a way to do that, or are we required to create a new table and copy the data over? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Inequality Filters Are Allowed On One Property Only
Yes, but then you just do a test on the entity you got from the query (one test on one entity, fast) so add a last step.. using previous logic you end up with x2=71 y2=75 final step will beis (z of 76) (y2 of 75) if no... no results.. if yes... have 1 result that should solve that part On Tue, May 4, 2010 at 02:04, romesh soni soni.rom...@gmail.com wrote: Hi Tristan, Really appreciate the logic you suggested. But consider this case: There are only two intervals in db: x1 = 4 y1 = 70 and x2 = 71 y2 = 75. I want to search by 76. The 76 doesn't fall in any category but still the query will return the second interval, which is not correct. Instead the query should say that there is no matching interval. Am I correct? Regards Romesh On Tue, May 4, 2010 at 11:09 AM, Tristan Slominski tristan.slomin...@gmail.com wrote: in that case the solution to your dilemma is as follows query.addFilter(x, FilterOptions.LESS_THAN, z); query.addSort(x, SortOrder.DESC); then execute the query with a limit of 1 that is the answer you seek in other words... assume you have two intervalsx1 = 4 y1 = 70 and x2 = 71 y2 = 75. you want to find interval that matches your condition ofx 74 y add filter for x less than 74 will give you two results where x1=4 in first result and x2=71 in second result now sort these results descending so that x2 is the first result x2=71 x1=4 set limit of 1 gives your query a result of x2 you don't need property y does that work for you? On Mon, May 3, 2010 at 22:45, romesh soni soni.rom...@gmail.com wrote: Hi Tristan, You got a good catch. But the code which populates the data will never let this happen. If there is a pair x = 4 and y = 10, then there will be no such other pair which consist values between 4 and 10. there will be one and only one set for values 4,5,6,7,8,9,10 and that will be (4,10). I hope my explanation is helpful. So it is guaranteed of having one solution per query. On Mon, May 3, 2010 at 7:31 PM, Tristan Slominski tristan.slomin...@gmail.com wrote: Hey, so I've been thinking about the problem description... you mentioned that there will ever only be one solution for the query, but that doesn't seem like a valid constraint. For example, let x = 4 and y = 10, let x2 = 5 and y2 = 11. The value of z = 6 will result in two solutions. The reason I am asking, is that the contraint of only one solution existing suggest a different mapping of solutions than the one you suggested (not sure what that different approach would be yet, but it could be something along the lines of enumerating the intervals). Can you guarantee the constraint of only one solution per query? On May 3, 2010 3:01 AM, romesh soni soni.rom...@gmail.com wrote: Hi Thomas, the possible value of x and y can be 2020 and 203204206207. do you see that it is possible to make such thing in 5000 element limitation. Are you talking of ArrayList? Your solution is good for small list, but I am afraid that it will not suit my requirement.. On Mon, May 3, 2010 at 1:00 PM, Thomas mylee...@gmail.com wrote: Hi romesh: Datastor... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Inequality Filters Are Allowed On One Property Only
Hey Tristan, Seems you have got it solved. Thanks. I think it should work for me without any issues. I will let you know once I implement it. You have a good logic man. Can I add you on Gmail? Thanks and Regards Romesh On Tue, May 4, 2010 at 7:08 PM, Tristan Slominski tristan.slomin...@gmail.com wrote: Yes, but then you just do a test on the entity you got from the query (one test on one entity, fast) so add a last step.. using previous logic you end up with x2=71 y2=75 final step will beis (z of 76) (y2 of 75) if no... no results.. if yes... have 1 result that should solve that part On Tue, May 4, 2010 at 02:04, romesh soni soni.rom...@gmail.com wrote: Hi Tristan, Really appreciate the logic you suggested. But consider this case: There are only two intervals in db: x1 = 4 y1 = 70 and x2 = 71 y2 = 75. I want to search by 76. The 76 doesn't fall in any category but still the query will return the second interval, which is not correct. Instead the query should say that there is no matching interval. Am I correct? Regards Romesh On Tue, May 4, 2010 at 11:09 AM, Tristan Slominski tristan.slomin...@gmail.com wrote: in that case the solution to your dilemma is as follows query.addFilter(x, FilterOptions.LESS_THAN, z); query.addSort(x, SortOrder.DESC); then execute the query with a limit of 1 that is the answer you seek in other words... assume you have two intervalsx1 = 4 y1 = 70 and x2 = 71 y2 = 75. you want to find interval that matches your condition ofx 74 y add filter for x less than 74 will give you two results where x1=4 in first result and x2=71 in second result now sort these results descending so that x2 is the first result x2=71 x1=4 set limit of 1 gives your query a result of x2 you don't need property y does that work for you? On Mon, May 3, 2010 at 22:45, romesh soni soni.rom...@gmail.com wrote: Hi Tristan, You got a good catch. But the code which populates the data will never let this happen. If there is a pair x = 4 and y = 10, then there will be no such other pair which consist values between 4 and 10. there will be one and only one set for values 4,5,6,7,8,9,10 and that will be (4,10). I hope my explanation is helpful. So it is guaranteed of having one solution per query. On Mon, May 3, 2010 at 7:31 PM, Tristan Slominski tristan.slomin...@gmail.com wrote: Hey, so I've been thinking about the problem description... you mentioned that there will ever only be one solution for the query, but that doesn't seem like a valid constraint. For example, let x = 4 and y = 10, let x2 = 5 and y2 = 11. The value of z = 6 will result in two solutions. The reason I am asking, is that the contraint of only one solution existing suggest a different mapping of solutions than the one you suggested (not sure what that different approach would be yet, but it could be something along the lines of enumerating the intervals). Can you guarantee the constraint of only one solution per query? On May 3, 2010 3:01 AM, romesh soni soni.rom...@gmail.com wrote: Hi Thomas, the possible value of x and y can be 2020 and 203204206207. do you see that it is possible to make such thing in 5000 element limitation. Are you talking of ArrayList? Your solution is good for small list, but I am afraid that it will not suit my requirement.. On Mon, May 3, 2010 at 1:00 PM, Thomas mylee...@gmail.com wrote: Hi romesh: Datastor... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to
Re: [appengine-java] Re: Inequality Filters Are Allowed On One Property Only
Sure, good luck. On May 4, 2010 9:03 AM, romesh soni soni.rom...@gmail.com wrote: Hey Tristan, Seems you have got it solved. Thanks. I think it should work for me without any issues. I will let you know once I implement it. You have a good logic man. Can I add you on Gmail? Thanks and Regards Romesh On Tue, May 4, 2010 at 7:08 PM, Tristan Slominski tristan.slomin...@gmail.com wrote: Yes, bu... -- You received this message because you are subscribed to the Google Groups Google App Engine for... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Servlet request parameters empty
That did the trick, I love you man! :O) Now, how would I perform the same with a POST if I needed to? -Rob On May 4, 2:07 am, Stephan Hartmann hartm...@metamesh.de wrote: if you want to get your data as request parameter, you should use GET instead of POST and /or let the default contentType application/x-www-form-urlencoded and create your json object as either var json = {name: test}; // and let jquery convert it to a query string or var json = name=test; // the desired query string regards, Stephan 2010/5/4 Rob robertastanfi...@gmail.com I'm running Google App Engine through IntelliJ Idea and am posting data to a Servlet using jQuery.ajax. I'm hitting the Servlet without issue and can return data in the response, however, the request parameters are always null; I cant seem to POST data. Where am I going wrong? var json = JSON2.stringify({name: test}); $.ajax({ type: POST, url: service, data: json, contentType: application/json; charset=utf-8, dataType: json, async: async, success: function(o) { o = $.serviceHelper.jsonSerialize(o); callback(o); }, error: this.dataServiceError }); protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType(text/json); String json = gson.toJson(request.getParameter(name)); out.println(json); } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Cache pages in Memcache
Thanks for your answers! The Cache-control idea is a good one, I think I'll try something here. But maybe it's a good idea to have some kind of server cache too. Ehcache Web Module has a nice Java Filter that threats many corner cases (headers, gzip, ...). The only problem is that it's too coupled to Ehcache. I think I'll try to fork that project to use their Filter with AppEngine's memcache :) On May 4, 6:22 am, Nacho Coloma icol...@gmail.com wrote: Hi Sergio, I'm thinking in a Filter that put page results in memcache when first accessed, and then getting that result in former accesses. That should work. All page cache implementations do more or less the same. The idea is simple but the implementation is not. (how to get the first request response? how to implement proper header management in that filter? how to not disable gzip using this?) * If there is content in memcache, you can deliver it and exit. Otherwise, let the request proceed, and store in the cache. * Be sure to set the cache timeout and calculate the cache key correctly (e.g. include the user ID or the user locale if the cached contents depend on that). * For HTTP headers, this presentation may help:http://www.slideshare.net/icoloma/caching-web-contents-in-the-browser... It's more or less the same with JSP page fragments (except the headers, of course). No rocket science. Cheers, 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Servlet request parameters empty
2010/5/4 Rob robertastanfi...@gmail.com That did the trick, I love you man! :O) :-) Now, how would I perform the same with a POST if I needed to? If you want to POST your data as key/value pairs like with GET, and jQuery puts it into the body of the request instead of the query string (i don't know the implementation details, request parameters as query string are just fine even if it is a POST request) you have to make sure that the contentType is the default application/x-www-form-urlencoded. Just give it a try. However, if you want to post the data as JSON fragment (as i would assume from your original post from the contentType of application/json), i think setting processData to false could do it. But in your servlet you won't get the values as request parameters anymore. Instead you have to parse the input stream of the request, e.g. with Gson to a Java object. regards, Stephan On May 4, 2:07 am, Stephan Hartmann hartm...@metamesh.de wrote: if you want to get your data as request parameter, you should use GET instead of POST and /or let the default contentType application/x-www-form-urlencoded and create your json object as either var json = {name: test}; // and let jquery convert it to a query string or var json = name=test; // the desired query string regards, Stephan 2010/5/4 Rob robertastanfi...@gmail.com I'm running Google App Engine through IntelliJ Idea and am posting data to a Servlet using jQuery.ajax. I'm hitting the Servlet without issue and can return data in the response, however, the request parameters are always null; I cant seem to POST data. Where am I going wrong? var json = JSON2.stringify({name: test}); $.ajax({ type: POST, url: service, data: json, contentType: application/json; charset=utf-8, dataType: json, async: async, success: function(o) { o = $.serviceHelper.jsonSerialize(o); callback(o); }, error: this.dataServiceError }); protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType(text/json); String json = gson.toJson(request.getParameter(name)); out.println(json); } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: VerifyError on no-op default constructor
On Tue, May 4, 2010 at 4:15 AM, Attila Szegedi szege...@gmail.com wrote: I made a new version of the freemarker.jar, with a workaround for this problem. Download link for new freemarker JAR: https://sourceforge.net/ projects/freemarker/files/freemarker/2.3.16/freemarker-gae-pre3.jar/ download The workaround will delay loading of the FreeMarkerJspApplicationContext class as long as possible. It will now let the JSP taglibs work in FreeMarker on GAE as long as the custom JSP tags are not trying to use either JspFactory.getJspApplicationContext() or PageContext.getELContext(). I expect majority of taglibs out there fall into this category; those that do rely on this functionality though are, for the time being, out of luck - until GAE allows our class that implements JspApplicationContext through the verifier. Ah, great, glad you found a partial workaround, at least. Don, since this workaround is only partial, the ultimate solution would be to let our FreeMarkerJspApplicationContext through the verifier. Do you see any problem with that going forward? As I said earlier in this thread, I believe this will be fixed shortly (most likely in our next release). If you'd like me to confirm that this works, please provide a compiled application (or instructions how to compile one) and I will test it out against our release candidate. Thanks, Don -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Servlet request parameters empty
Just read the and/or, POST working great this way too. Thanks again! -Rob On May 4, 7:30 am, Rob robertastanfi...@gmail.com wrote: That did the trick, I love you man! :O) Now, how would I perform the same with a POST if I needed to? -Rob On May 4, 2:07 am, Stephan Hartmann hartm...@metamesh.de wrote: if you want to get your data as request parameter, you should use GET instead of POST and /or let the default contentType application/x-www-form-urlencoded and create your json object as either var json = {name: test}; // and let jquery convert it to a query string or var json = name=test; // the desired query string regards, Stephan 2010/5/4 Rob robertastanfi...@gmail.com I'm running Google App Engine through IntelliJ Idea and am posting data to a Servlet using jQuery.ajax. I'm hitting the Servlet without issue and can return data in the response, however, the request parameters are always null; I cant seem to POST data. Where am I going wrong? var json = JSON2.stringify({name: test}); $.ajax({ type: POST, url: service, data: json, contentType: application/json; charset=utf-8, dataType: json, async: async, success: function(o) { o = $.serviceHelper.jsonSerialize(o); callback(o); }, error: this.dataServiceError }); protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType(text/json); String json = gson.toJson(request.getParameter(name)); out.println(json); } -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Trying to use Ehcache 2.0.1 with web module
Hi Sergio. I'll try to test this out soon. If you haven't already, you may want to post this in the Ehcache forums also since they can probably help you debug the issue faster: - Jason On Mon, May 3, 2010 at 1:54 AM, Sergio Lopes slo...@gmail.com wrote: Hi everybody Ehcach announced recently their AppEngine support. I'm using version 2.0.1 (latest stable release) with Ehcache Web Module. I'm using SimpleCachingHeadersPageCachingFilter to cache page results. When I run my application, I'm getting an AccessControlException because Ehcache Web is trying to do something nasty to the current Thread (of course, gae does not allow): java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread) at java.security.AccessControlContext.checkPermission(AccessControlContext.java: 323) at java.security.AccessController.checkPermission(AccessController.java: 546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkAccess(DevAppServerFactory.java:203) at java.lang.Thread.checkAccess(Thread.java:1287) at java.lang.Thread.setName(Thread.java:1068) at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java: 240) at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java: 185) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86) Is there anyone here using Ehcache on GAE? And specifically, Ehcache Web Module? I read that ehcache filter implementation and it really seems to call things restricted by gae I followed the instructions found on Ehcache website: http://ehcache.org/documentation/googleappengine.html http://ehcache.org/documentation/web_caching.html Is Ehcache really GAE compatible? Tks Sérgio Lopes -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Serialization Error on GData Spreadhseet
Hello Ikai, I have a mix of functions which read or write data from/to a Spreadsheet; I fail on both; Best Regards Rudolf On 4 Mai, 11:06, Ikai L (Google) ika...@google.com wrote: Are you storing something in the session, such as an instance of the GData client? On Mon, May 3, 2010 at 7:20 PM, Rudolf rudolfstolz...@googlemail.comwrote: Hello, I am new on Google App Engine; I wrote some code which accesses a Google Spreadsheet through the provided GData Java API; everythings works well running in the Eclipse local Environment or running the code on a local Apache Tomcat Server; nevertheless, running the code on the Google App Engine (deployed through Elipse) fails with the following error: 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 App Engine log gives me the following information: Uncaught exception from servlet java.lang.RuntimeException: java.io.NotSerializableException: com.google.gdata.client.spreadsheet.SpreadsheetService at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java: 361) at com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(SessionManager.java: 341) ... Any idea what I am doing wrong; thank you in advance for your help; Best Regards Rudolf -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter:http://twitter.com/ikai Delicious:http://delicious.com/ikailan Google App Engine links: Blog:http://googleappengine.blogspot.com Twitter:http://twitter.com/app_engine Reddit:http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en.- Zitierten Text ausblenden - - Zitierten Text anzeigen - -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Problems enabling Second-level cache with JPA
And DataNucleus docs for v2.0, v2.1 don't mention GAE/J since GAE/J doesn't work with them, and we've been given no timescales when it will. The DN v1.1 docs mention GAE/J, but we have absolutely no intention of mentioning caveats to specifications necessary to run GAE/J - since we see no major reason why the vast majority of JDO3 and JPA2 can't be handled cleanly with a NoSQL datastore. Can't help you with your issue since v1.1 is no longer supported, except commercially -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: How to make BlobServlet send non-empty response?
Or do you mean I should read the post data, send them to uploadUrl using another request I create, and then write response to the original one...? That might probably work... :P On May 4, 6:43 pm, Jaroslav Záruba jaroslav.zar...@gmail.com wrote: Can you be more specific please? (After redirecting request you can't write to its response.) Regards J. Záruba On May 4, 10:01 am, bimbo jones bimbojone...@gmail.com wrote: hi, You can redirect the upload servlet to another servlet that responds. 2010/5/3 Jaroslav Záruba jaroslav.zar...@gmail.com I'm trying to use SWFUpload for uploading images in my application but either this particular component or Flash does not like empty responses. Is it possible somehow to get any content in the response-body from uploadUrl? Regards J. Záruba -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: unable to use sdk 1.3.3.1
Read the whole stack trace (I cut out the important parts below). Way down near the bottom you have a NoClassDefFoundError and ClassNotFoundException that may be the actual source of your problems. Also a RuntimeException that may be related. Wayne On Tue, May 4, 2010 at 8:07 AM, RockyWolf jamesisaa...@gmail.com wrote: I removed my eclipse ganymade, and installed eclipse galileo. Running app engine 1.3.3.1 now allows me to run my app, but I still get the previous java.net.ConnectException: Connection timed out: connect exception. On May 3, 3:40 pm, RockyWolf jamesisaa...@gmail.com wrote: Hi, I can't understand why my app which runs on 1.2.1 doesn't run on 1.3.3.1 . I keep getting the following error message when I run my app: com.google.appengine.tools.info.RemoteVersionFactory getVersion INFO: Unable to accesshttp://appengine.google.com/api/updatecheck?runtime=javarelease=1.3['1.0'] java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195) snip java.lang.RuntimeException: Unable to locate the App Engine agent. Please use dev_appserver, KickStart, or set the jvm flag: - javaagent:sdk_root/lib/agent/appengine-agent.jar snip Caused by: java.lang.NoClassDefFoundError: com/google/appengine/tools/ development/agent/AppEngineDevAgent at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java: 98) ... 6 more Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.development.agent.AppEngineDevAgent at java.net.URLClassLoader$1.run(URLClassLoader.java:200) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: one project access classes in another project in same account
Bruce, an application is the fundamental unit of isolation in App Engine. There are no guarantees that two applications will be available in the same data center, let alone loaded onto the same servers. Each application can have more than one administrator, so it's unclear how any automated grouping of applications based on their administrator list would work. Is there a reason you can't just deploy all of the code you need as a single application? On Tue, May 4, 2010 at 1:08 PM, bhomass bhom...@gmail.com wrote: Patrick I don't know if you are personally involved with the restriction policy, but I am wondering why is this not allowed? these are apps belonging to the same account. there should be no security concerns. why this extra restriction? Bruce On May 4, 12:55 am, Patrick Cornelißen corne...@pcornelissen.de wrote: Hi! 2010/5/4bhomassbhom...@gmail.com: using tomcat, I have been able to have one central web app access classes from surrounding web apps by simply using URLClassLoader based on the file path of the class folder. is there a way to do the same once I deploy to GAE? I don't think that this is allowed, as different GAE apps are not allowed to act as one app and this is really going into that direction. So I think it's technically possible, but not allowed. -- Mit freundlichen Grüßen, // Bye, Patrick Cornelißen http://www.openprojectguide.org http://www.pcornelissen.dehttp://code.google.com/p/gloudy/ -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp:// groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] JSP code debug: Compiled JSP location in local environment
Hi I got following error in my local enviroment of Google App Eng with Eclipse plugin: at org.apache.jsp.scoreresult_jsp._jspService(scoreresult_jsp.java: 161) I would like to see the code on line 161 of compiled scoreresult.jsp file. But I can't find out the location of it. Anyone can tell me where the default folder locatoin for compiled .jsp files and also how you debug jsp code when error is on .jsp but no error on your .java file? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Serialization Error on GData Spreadhseet
Hello, I fixed above mentioned problem by a more accurate design of my Servlets; the code is now executing on GAE; nevertheless, now I face another problem; the data calculation for the response on the GAE takes more then 30 seconds; at about 30 seconds GAE kills my request; I found a lot of threads in the Web on this issue, but not the information I have looked for; is it possible to tell GAE, that a request takes more then 30 seconds? it is difficult to split my application into different requests, since within one request I have to get the data of a Spreadsheet (more than 6000 data records) for the calculation of a result; this event will eventually take more then 30 seconds; any idea how I can handle this; thanks in advance for your help; Best Regards Rudolf On 4 Mai, 18:10, Rudolf rudolfstolz...@googlemail.com wrote: Hello Ikai, I have a mix of functions which read or write data from/to a Spreadsheet; I fail on both; Best Regards Rudolf On 4 Mai, 11:06, Ikai L (Google) ika...@google.com wrote: Are you storing something in the session, such as an instance of the GData client? On Mon, May 3, 2010 at 7:20 PM, Rudolf rudolfstolz...@googlemail.comwrote: Hello, I am new on Google App Engine; I wrote some code which accesses a Google Spreadsheet through the provided GData Java API; everythings works well running in the Eclipse local Environment or running the code on a local Apache Tomcat Server; nevertheless, running the code on the Google App Engine (deployed through Elipse) fails with the following error: 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 App Engine log gives me the following information: Uncaught exception from servlet java.lang.RuntimeException: java.io.NotSerializableException: com.google.gdata.client.spreadsheet.SpreadsheetService at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java: 361) at com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(SessionManager.java: 341) ... Any idea what I am doing wrong; thank you in advance for your help; Best Regards Rudolf -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Relations, Google App Engine Twitter:http://twitter.com/ikai Delicious:http://delicious.com/ikailan Google App Engine links: Blog:http://googleappengine.blogspot.com Twitter:http://twitter.com/app_engine Reddit:http://www.reddit.com/r/appengine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en.-Zitierten Text ausblenden - - Zitierten Text anzeigen - -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en.- Zitierten Text ausblenden - - Zitierten Text anzeigen - -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: slow responses for query
On May 4, 3:28 am, Ikai L (Google) ika...@google.com wrote: Query performance is generally a function of how many objects have to be returned in the simple case, which seems to be what you are doing here. How many PlayerGameStates exist per User? No more than 10 so far. Like I said, it was only 5 in this case. Are PlayerGameStates child entities of a User? No. They contain a userKey, which is the field on which I'm querying them. The reason I mentioned denormalizing is because the concept of normalization doesn't make as much sense with App Engine's datastore. We don't provide referential integrity, for instance, and transactions exist around entity groups, not globally. You don't pay a penalty for storing data that is sparse - some User entities can be huge, some can be tiny. You should optimize for reads. Doing multiple writes and the risk of data getting out of sync can suck, but as long as it is recoverable you should be okay. Contrast the performance of the query above with storing PlayerGameStates inside User. You'd do this: But then I'd have to run a separate query to fetch the game. Unless I duplicate the game state and move all those fields into PlayerGameState, which perhaps is what you're suggesting. But then I'd have to fetch both users every time, right (to update the duplicate game state), which means every player needs to contain the userKey of everyone they're playing. Most of my reads are by gameKey. There's only one case where I'm fetching all the games for a user. I don't really need this case to be optimized: 2-3 seconds would be acceptable. 80-90% of the time it's ~1 second. But these occasional 10-20 second fetches are crazy. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Problems enabling Second-level cache with JPA
Thanks for the reply. And about citing GAE caveats: maybe that's a good idea to promote your product (I can speak for myself: I never heard about datanucleus before GAE, and it seems like a nice product). About 1.1 support: although there is no more support, the current GAE version + datanucleus-cache-1.1 should have worked? Thanks in advance and congratulations for the product On Tue, May 4, 2010 at 13:32, datanucleus andy_jeffer...@yahoo.com wrote: And DataNucleus docs for v2.0, v2.1 don't mention GAE/J since GAE/J doesn't work with them, and we've been given no timescales when it will. The DN v1.1 docs mention GAE/J, but we have absolutely no intention of mentioning caveats to specifications necessary to run GAE/J - since we see no major reason why the vast majority of JDO3 and JPA2 can't be handled cleanly with a NoSQL datastore. Can't help you with your issue since v1.1 is no longer supported, except commercially -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Trying to use Ehcache 2.0.1 with web module
Hi Jason If you have any news please tell us. As you said, I cross-posted this question in Ehcache forum too: http://forums.terracotta.org/forums/posts/list/0/3600.page Sérgio http://www.caelum.com.br On Tue, May 4, 2010 at 13:08, Jason (Google) apija...@google.com wrote: Hi Sergio. I'll try to test this out soon. If you haven't already, you may want to post this in the Ehcache forums also since they can probably help you debug the issue faster: - Jason On Mon, May 3, 2010 at 1:54 AM, Sergio Lopes slo...@gmail.com wrote: Hi everybody Ehcach announced recently their AppEngine support. I'm using version 2.0.1 (latest stable release) with Ehcache Web Module. I'm using SimpleCachingHeadersPageCachingFilter to cache page results. When I run my application, I'm getting an AccessControlException because Ehcache Web is trying to do something nasty to the current Thread (of course, gae does not allow): java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread) at java.security.AccessControlContext.checkPermission(AccessControlContext.java: 323) at java.security.AccessController.checkPermission(AccessController.java: 546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkAccess(DevAppServerFactory.java:203) at java.lang.Thread.checkAccess(Thread.java:1287) at java.lang.Thread.setName(Thread.java:1068) at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java: 240) at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java: 185) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86) Is there anyone here using Ehcache on GAE? And specifically, Ehcache Web Module? I read that ehcache filter implementation and it really seems to call things restricted by gae I followed the instructions found on Ehcache website: http://ehcache.org/documentation/googleappengine.html http://ehcache.org/documentation/web_caching.html Is Ehcache really GAE compatible? Tks Sérgio Lopes -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: SimpleDS 1.0_RC1 is out
Great news! I'm currently having some problems with second level cache and JPA, so a nice alternative like SimpleDS is a good idea. Just one question: does SimpleDS support query caching too? I've some very popular queries and want to cache their results in a 2nd level cache (not only its entities) Thanks and congratulation for the release Sérgio Lopes http://www.caelum.com.br On May 4, 6:31 am, Nacho Coloma icol...@gmail.com wrote: We are really excited with this release, which is the first feature- complete release of SimpleDS. Lots of things have been included in so little time. Getting up-to-date with AppEngine It's hard to keep up the pace with these guys. This release includes: * Unindexed attributes. * Cursors support. * IN and != clauses. Cache = We have included a great Level 1 and Level 2 cache [1]. If you come from JDO/JPA, you may already know how it works: * Level 1 cache: This is basically a Map bound to the current thread. Until the end of the current request, any get() invocation will check this cache first. If a match is found, no invocation will be propagated to GAE. * Level 2 cache: Datastore entities are also stored in memcache, which is a second chance to get a positive match. Cacheable entities must be marked with @Cacheable, with an optional expiration time. This feature will work with single and batch get(), and the cache entries are updated with put() and delete() invocations. // Invoke memcache or the datastore ListMyData data = entityManager.get(key1, key2, key3); // this does not invoke anything (resolved by the Level 1 cache) MyData d2 = entityManager.get(key1); Functions We are going extremely functional these days [2]. This release includes a package with functions to transform collections and PagedList instances, which can be combined with batch get() to get even better performance results. This is a simple example, equivalent to a common situation with relationships: // n + 1 requests to the datastore ListMyData data = entityManager.find(query); CollectionParent parents = Lists.newArrayListwithCapacity(data.size()); for (MyData d : data) { parents.add(entityManager.get(d.getKey().getParent()); } // Transformations: 2 requests ListMyData data = entityManager.find(query); CollectionKey parentKeys = Collections2.transform(data, new EntityToParentKeyFunction(MyData.class)); CollectionParent parents = entityManager.get(parentKeys); That's all it takes to get all entities and their parents, and store them in the Level 1 cache so any request by PK will not hit memcache or the datastore. This release includes functions to retrieve parent and foreign keys, and also works with PagedList. We have taken two real-world snapshots with just this optimization (transformation + cacheable), applied to a single loop: Before:http://www.flickr.com/photos/koliseocom/4575062969/sizes/l/ After:http://www.flickr.com/photos/koliseocom/4575696456/sizes/o Notice that requests before are targeted to the datastore, while most of the after are memcache requests. Background tasks == I know that background tasks [3] are in the roadmap for AppEngine, but we needed these today. This started as an exercise to upgrade the datastore schema (add properties, delete entities, etc) and ended up as a full reusable implementation of tasks that I expect to deprecate once that AppEngine includes its own, probably better, implementation. Background tasks require adding a servlet to web.xml (and optionally appengine-web.xml as an admin-console entry) and configuring the tasks on application start using plain Java. Tasks can be invoked directly by cron triggers, queues or by POST requests. public class WriteBehindCacheTask extends IterableTaskMyClass { protected WriteBehindCacheTask() { super(my-task-id); } @Override protected SimpleQuery createQuery(TaskRequest request) { return entityManager.createQuery(MyClass.class); } @Override protected void process(MyClass entity, TaskRequest request) { // ...modify entity... entityManager.put(entity); } } Query cursors and execution deferral will be done transparently (no need to limit or handle cursors). There are some implementation superclasses depending on what you need to do, and some of them just use the raw AppEngine datastore and don't even require SimpleDS to work. This is the first feature-complete release of SimpleDS. Next on the roadmap: cached queries and we may be revisiting relations. As always, all kind of feedback is welcome. Nacho. [1]http://code.google.com/p/simpleds/wiki/Cache [2]http://code.google.com/p/simpleds/wiki/Functions [3]http://code.google.com/p/simpleds/wiki/BackgroundTasks -- You received this message because you are subscribed to the Google
[appengine-java] Re: Trying to use Ehcache 2.0.1 with web module
Hi Sérgio , fyi: these existing issues may be releated to your issue: http://forums.terracotta.org/forums/posts/list/15/2718.page https://jira.terracotta.org/jira/browse/EHC-617 regards, Evan On May 4, 12:39 pm, Sérgio Lopes slo...@gmail.com wrote: Hi Jason If you have any news please tell us. As you said, I cross-posted this question in Ehcache forum too: http://forums.terracotta.org/forums/posts/list/0/3600.page Sérgiohttp://www.caelum.com.br On Tue, May 4, 2010 at 13:08, Jason (Google) apija...@google.com wrote: Hi Sergio. I'll try to test this out soon. If you haven't already, you may want to post this in the Ehcache forums also since they can probably help you debug the issue faster: - Jason On Mon, May 3, 2010 at 1:54 AM, Sergio Lopes slo...@gmail.com wrote: Hi everybody Ehcach announced recently their AppEngine support. I'm using version 2.0.1 (latest stable release) with Ehcache Web Module. I'm using SimpleCachingHeadersPageCachingFilter to cache page results. When I run my application, I'm getting an AccessControlException because Ehcache Web is trying to do something nasty to the current Thread (of course, gae does not allow): java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread) at java.security.AccessControlContext.checkPermission(AccessControlContext.java: 323) at java.security.AccessController.checkPermission(AccessController.java: 546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkAccess(DevAppServerFactory.java:203) at java.lang.Thread.checkAccess(Thread.java:1287) at java.lang.Thread.setName(Thread.java:1068) at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java: 240) at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java: 185) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86) Is there anyone here using Ehcache on GAE? And specifically, Ehcache Web Module? I read that ehcache filter implementation and it really seems to call things restricted by gae I followed the instructions found on Ehcache website: http://ehcache.org/documentation/googleappengine.html http://ehcache.org/documentation/web_caching.html Is Ehcache really GAE compatible? Tks Sérgio Lopes -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en.- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: PdfBox text extraction GAE
This is interesting that you got this to work. I have been trying to work with PDFBox with GAE as well, and have not been able to get very far. I am attempting to open a pdf document as follows but only get a IOException: URL url = new URL(http://www.pbs.org/newshour/extra/teachers/ lessonplans/media/clock_gettysburg_9-3.pdf); PDDocument doc = PDDocument.load(url); PDDocumentInformation info = doc.getDocumentInformation(); I am not sure what I am doing wrong. Ken On Apr 20, 1:00 pm, Fabrizio fht...@gmail.com wrote: If anyone is interested... PdfBoxtext extration GAE How to do text extraction from pdf files usingPdfBoxon Google App Enginehttp://fhtino.blogspot.com/2010/04/pdfbox-text-extration-gae.html fabrizio -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] How to detect GAE is in maintenance?
I would like my app to inform the visitor we are in maintenance, such as it does not let them do operations that will fail when we try to write in the Data Store. Last week, I implemented the code snipped as documented at the bottom of this page: http://code.google.com/appengine/docs/java/howto/maintenance.html public static boolean isGAEDowntime() { MemcacheService ms = MemcacheServiceFactory.getMemcacheService(); ms.setErrorHandler(new StrictErrorHandler()); try { ms.put(test, test); } catch (com.google.appengine.api.memcache.MemcacheServiceException e) { return true; } return false; } But, during the downtime, this method was still return false. What is the best option to figure out we are in the downtime period? Jerome -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] JSP code debug: Compiled JSP location in local environment
Hi, The following threads might be useful though it depends on the operation system that you are using. http://groups.google.com/group/google-appengine-java/browse_thread/thread/e63281b3e3d1b05/9b12a70f5172c6c1 Hope some of this helps. thanks. Hi I got following error in my local enviroment of Google App Eng with Eclipse plugin: at org.apache.jsp.scoreresult_jsp._jspService(scoreresult_jsp.java: 161) I would like to see the code on line 161 of compiled scoreresult.jsp file. But I can't find out the location of it. Anyone can tell me where the default folder locatoin for compiled .jsp files and also how you debug jsp code when error is on .jsp but no error on your .java file? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] How to Truncate a Datastore?
I recently imported a bunch of data into my datastore and realized there was a critical flaw that makes me need to re-import. What is the best way to essentially perform a truncation of the datastore? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] How to fix missing jars problem?
Folks, I was using App Engine 1.3.2 with Eclipse so far. Today, I decided to use the newer one that is available. I changed the SDK version setting in Preferences--Google--App Engine from 1.3.2 to 1.3.3. After doing this, I now see 3 warnings in my project: The App Engine SDK JAR appengine-api-labs-1.3.3.jar is missing in the WEB-INF/lib directory The App Engine SDK JAR appengine-jsr107cache-1.3.3.jar is missing in the WEB-INF/lib directory The App Engine SDK JAR appengine-api-1.0-sdk-1.3.3.jar is missing in the WEB-INF/lib directory Can someone please tell me how to get rid of these warnings? Thank you in advance for your help. Regards, Peter -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Why does UserService is so slow ?
All is in the title... Any idea how to cut down that loading time the first time ? Christian -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Session and AppEngine
Hummm I got a weird issue I added to my appengine-web.xml this line : sessions-enabledtrue/sessions-enabled But no JSESSIONID cookie is created. Anyway Idea why ? Christian -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Session and AppEngine
hi, are u using java ? if yes, the object you push into session must implements java.io.Serializable . you can follow this blog for more info: http://www.hapeblog.com/blog.shtml?id=7 On Wed, May 5, 2010 at 10:54 AM, Christian Goudreau goudreau.christ...@gmail.com wrote: Hummm I got a weird issue I added to my appengine-web.xml this line : sessions-enabledtrue/sessions-enabled But no JSESSIONID cookie is created. Anyway Idea why ? Christian -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- dream or truth -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] URL Fetch truncates incoming response - To what size?
Hi, Page http://code.google.com/appengine/docs/java/urlfetch/usingjavanet.html#Features_of_the_Low_level_API says: The URL Fetch service limits the size of the data for an outgoing request, and for an incoming response. When using the java.net API, data larger than the limit is silently truncated a) Can somebody please tell what the size limit before this truncation happens ? b) Better even, if there a way to read this limit somewhere through some method so that my program remains valid if current limit ever changes ? regards didier -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] 500 Error Caused by: java.lang.NoSuchMethodException: org.codehaus.groovy.runtime.dgm$692.init()
Hi, there: After updated to a new version, which worked well locally, I started to get the following Exception. Any help will be greatly appreciated. 1. 05-04 10:23PM 01.436 / 500 5070ms 4160cpu_ms 0kb Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/ 3.6.3 (.NET CLR 3.5.30729),gzip(gfe) See details 99.229.111.64 - - [04/May/2010:22:23:06 -0700] GET / HTTP/1.1 500 0 - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729),gzip(gfe) 0-1.latest.hoogos2010.appspot.com 2. C 05-04 10:23PM 06.460 Uncaught exception from servlet java.lang.ExceptionInInitializerError at org.codehaus.groovy.runtime.InvokerHelper.clinit(InvokerHelper.java: 49) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.createList(ScriptBytecodeAdapter.java: 610) at groovyx.gaelyk.routes.RoutesFilter.init(RoutesFilter.groovy:48) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java: 153) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java: 662) at org.mortbay.jetty.servlet.Context.startContext(Context.java: 140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 1250) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java: 517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 50) 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: 123) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: 243) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5838) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5836) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java: 24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:398) at com.google.net.rpc.impl.Server$2.run(Server.java:852) at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java: 56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java: 576) at com.google.net.rpc.impl.Server.startRpc(Server.java:807) at com.google.net.rpc.impl.Server.processRequest(Server.java: 369) at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java: 442) 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:474) at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java: 831) at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java: 207) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103) at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java: 251) at com.google.apphosting.runtime.JavaRuntime $RpcRunnable.run(JavaRuntime.java:404) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoSuchMethodException: org.codehaus.groovy.runtime.dgm$692.init() at com.google.appengine.runtime.Request.process-97a2c792a689dcfb(Request.java) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.getDeclaredConstructor(Unknown Source) at java.lang.Class.newInstance(Class.java:27) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.createMetaMethodFromClass(MetaClassRegistryImpl.java: 180) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java: 142) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.init(MetaClassRegistryImpl.java: 81) at