[appengine-java] data in xml format from data store
In a website I need to provide a feature to get data in xml format i.e. some url e.g. http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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: data in xml format from data store
Hi, To emulate files, you have to use the Blob object in the datastore to store such xml content: see com.google.appengine.api.datastore.Blob in http://code.google.com/appengine/docs/java/datastore/dataclasses.html#Core_Value_Types Blob has a limited max size: 1 Mbyte. So, you can use a collection (Vector, List, etc..) of Blobs if you need more than 1 Mbytes. If your files get uploaded by a client, you can use the Blobstore where the max size is much bigger(2 Gbytes): see http://code.google.com/appengine/docs/java/blobstore/overview.html You have to associate the blob with some other fields (name, size, last_updated) in you pojo to reproduce what you expect from a file. N.B. if you need to emulate a directory tree, you also have to write it by yourself. Finally, I would recommend alternative Objectify rather than standard JDO for such services. Hope this helps regards didier On Nov 29, 5:53 pm, pac parvez.chau...@gmail.com wrote: In a website I need to provide a feature to get data in xml format i.e. some url e.g.http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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: data in xml format from data store
It sounds like you want to send a xml file to the client not upload an xml file. If so, you can use the standard XML document classes (see the org.w3c.dom package). Build up your document then you can convert it to a String using an empty Transform (see the javax.xml.transform and javax.xml packages). Make sure you set the header: Content-Disposition: attachment; filename=file name.ext (Google Content-Disposition and Forcing Save As for more info). Be aware that you only have 30 seconds in which to do this. Also, there is a 10 MB limit on the download so you might want to compress it before sending it. Google's infrastructure will compress if the requester indicates it can handle it, but I'm not sure if the 10MB limit is measured before or after compression takes place (Anyone know the answer to this). My guess is that it is measured against the data that is returned from your servlet before the compression. If you can't get it to work within the 30sec/10MB limits, you might have to pre-build your document using a task which when 1.4 is released will give you a 10 minute window to create the file and then can store the file in the Blobstore. Stephen On Mon, Nov 29, 2010 at 10:14 AM, Didier Durand durand.did...@gmail.comwrote: Hi, To emulate files, you have to use the Blob object in the datastore to store such xml content: see com.google.appengine.api.datastore.Blob in http://code.google.com/appengine/docs/java/datastore/dataclasses.html#Core_Value_Types Blob has a limited max size: 1 Mbyte. So, you can use a collection (Vector, List, etc..) of Blobs if you need more than 1 Mbytes. If your files get uploaded by a client, you can use the Blobstore where the max size is much bigger(2 Gbytes): see http://code.google.com/appengine/docs/java/blobstore/overview.html You have to associate the blob with some other fields (name, size, last_updated) in you pojo to reproduce what you expect from a file. N.B. if you need to emulate a directory tree, you also have to write it by yourself. Finally, I would recommend alternative Objectify rather than standard JDO for such services. Hope this helps regards didier On Nov 29, 5:53 pm, pac parvez.chau...@gmail.com wrote: In a website I need to provide a feature to get data in xml format i.e. some url e.g.http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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: data in xml format from data store
A client will download a xml file instead of uploading. Records will be created (or updated, deleted) in a table/kind over time and all records from a kind need to be downloaded in form of a xml file, I hope I am explaining the issue bit more clearly. I am not sure if I could make use of blobstore in this case as it will require update of blobstore object (in background may be using task) every time a record gets added/updated/deleted i.e. if I create xml file programmaticaly and store as blobstore object. On Nov 29, 5:14 pm, Didier Durand durand.did...@gmail.com wrote: Hi, To emulate files, you have to use the Blob object in the datastore to store such xml content: see com.google.appengine.api.datastore.Blob inhttp://code.google.com/appengine/docs/java/datastore/dataclasses.html... Blob has a limited max size: 1 Mbyte. So, you can use a collection (Vector, List, etc..) of Blobs if you need more than 1 Mbytes. If your files get uploaded by a client, you can use the Blobstore where the max size is much bigger(2 Gbytes): seehttp://code.google.com/appengine/docs/java/blobstore/overview.html You have to associate the blob with some other fields (name, size, last_updated) in you pojo to reproduce what you expect from a file. N.B. if you need to emulate a directory tree, you also have to write it by yourself. Finally, I would recommend alternative Objectify rather than standard JDO for such services. Hope this helps regards didier On Nov 29, 5:53 pm, pac parvez.chau...@gmail.com wrote: In a website I need to provide a feature to get data in xml format i.e. some url e.g.http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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: data in xml format from data store
Sorry, did not see your post earlier Stephen. I was not aware of this 10 minute feature to create a file, I will look into. File size will be greater then 10MB, it is an existing website which I am thinking to port to gae, file size already gets around 12MB or so. So I guess more than 10MB download will be an issue and I guess download should also complete in 30 second, is that so? On Nov 29, 5:37 pm, pac parvez.chau...@gmail.com wrote: A client will download a xml file instead of uploading. Records will be created (or updated, deleted) in a table/kind over time and all records from a kind need to be downloaded in form of a xml file, I hope I am explaining the issue bit more clearly. I am not sure if I could make use of blobstore in this case as it will require update of blobstore object (in background may be using task) every time a record gets added/updated/deleted i.e. if I create xml file programmaticaly and store as blobstore object. On Nov 29, 5:14 pm, Didier Durand durand.did...@gmail.com wrote: Hi, To emulate files, you have to use the Blob object in the datastore to store such xml content: see com.google.appengine.api.datastore.Blob inhttp://code.google.com/appengine/docs/java/datastore/dataclasses.html... Blob has a limited max size: 1 Mbyte. So, you can use a collection (Vector, List, etc..) of Blobs if you need more than 1 Mbytes. If your files get uploaded by a client, you can use the Blobstore where the max size is much bigger(2 Gbytes): seehttp://code.google.com/appengine/docs/java/blobstore/overview.html You have to associate the blob with some other fields (name, size, last_updated) in you pojo to reproduce what you expect from a file. N.B. if you need to emulate a directory tree, you also have to write it by yourself. Finally, I would recommend alternative Objectify rather than standard JDO for such services. Hope this helps regards didier On Nov 29, 5:53 pm, pac parvez.chau...@gmail.com wrote: In a website I need to provide a feature to get data in xml format i.e. some url e.g.http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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: Session Management on GAE
Hi Alexander, Google also provides a servlet to help with deleting stale session info. Have a look at this thread: http://groups.google.com/group/google-appengine-java/browse_thread/thread/4f0d9af1c633d39a Best regards, Stefan On 23 Nov., 18:06, Alexander Arendar alexander.aren...@gmail.com wrote: thank you Stephen :) you really helped On Tue, Nov 23, 2010 at 6:31 PM, Stephen Johnson onepagewo...@gmail.comwrote: Hi Alexander, I'm sorry but I don't work for Google (however I did stay at a Holiday Inn Express last night) so I can't write it in the docs this information and I don't know that it's documented anywhere. Also note that the _ah_SESSION table does not remove expired sessions, you will need to clean up this yourself. Stephen On Mon, Nov 22, 2010 at 12:43 PM, Alexander Arendar alexander.aren...@gmail.com wrote: Hi Stephen, Would also be great if you write such limitations somewhere in the documentation. Or maybe it is already described but I missed the link. In such case please drop the link. Sincerely, Alex On Mon, Nov 22, 2010 at 8:39 PM, Stephen Johnson onepagewo...@gmail.comwrote: From what I know you don't get sessionDestroyed. I believe there's a couple of issues with notification of a destroyed session and the most significant one would be that there's no guarantee that an instance of your application will even be running (1.4.0 will allow reserved instances but that isn't out yet.) Other issues would be that since this is a distributed environment which instance should receive sessionDestroyed. GAE would have to implement this one their backend. I believe sessions currently are just created by the Servlet Context of an instance when necessary and that instance's sessionCreated is the one that is executed. You however can query the _ah_SESSION table to see if a given session is still active or has expired. On Mon, Nov 22, 2010 at 9:32 AM, Sergiy Arendar 7ser...@gmail.comwrote: Hi, I have a problem: In my application I'm using HttpSessionListener to manage sessions. Here is the class: package com.sergiyarendar.listeners; import java.util.logging.Logger; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import com.sergiyarendar.services.CounterService; public class SessionListener implements HttpSessionListener{ private static final Logger log = Logger.getLogger(SessionListener.class.getName()); private static int sessionNumber; public void sessionCreated(HttpSessionEvent se){ log.info(Session Created); sessionNumber = CounterService.getSessionNumber(); sessionNumber++; CounterService.setSessionNumber(sessionNumber); } public void sessionDestroyed(HttpSessionEvent se){ log.info(Session Destroyed); sessionNumber = CounterService.getSessionNumber(); sessionNumber--; CounterService.setSessionNumber(sessionNumber); } } This is what I have in web.xml file: listener listener-classcom.sergiyarendar.listeners.SessionListener/listener- class /listener The problem is that public void sessionCreated(HttpSessionEvent se) method is invoked if a new session is created, BUT public void sessionDestroyed(HttpSessionEvent se) method is never invoked. I'm setting the timeout for the sessions using setMaxInactiveInterval(120) method when the session begin. Can anyone say me what is the problem? Is it a GAE bug, or some thing is wrong with my code? Please, it is very important, becouse whithout sessionDestroyed() method I can't do any tasks of session management when the session is destroyed. -- 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.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
[appengine-java] no async queries on AsyncDatastoreService for 1.4.0?
i was taking a look at the 1.4.0 javadoc for AsyncDatastoreService. i see the get, put and delete operations return a Future, but the prepare methods return a naked PreparedQuery object, and it doesn't look like PreparedQuery has any async get methods. does the AsyncDatastoreService not support asynchronous queries, or is there something i'm missing? glad to see at lets the get and put methods are async, hoping to get async queries too (as well as async interfaces to more services). -- 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] updating object with owned one to one relationship.
hello. I have a problem when trying to update an object that has already been saved in the dataStore An Employee and Contactnfo. One employee has a contactInfo... // // // @PersistenceCapable(detachable = true) public class Employee implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private ContactInfo contactInfo = null; public ContactInfo getContactInfo() { return contactInfo; } public void setContactInfo(ContactInfo contactInfo) { this.contactInfo = contactInfo; } public Key getKey() { return key; } } // // // @PersistenceCapable(detachable = true) public class ContactInfo implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public Key getKey() { return key; } public void setKey(Key key) { this.key = key; } } // // // my servlet: public class GreetingServiceImpl extends RemoteServiceServlet implements GreetingService { private static final PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory(transactions-optional); public String greetServer(String input) { String result = ; //step1 create and save an employee in the datastore. Key key = storeEmployeeInDatastore(); //step2 retrieve the employee from the datastore and detach it Employee detachedEmployee = getDetachedEmployee(key); //step3 modify the detached employee ContactInfo contactInfo2 = new ContactInfo(); detachedEmployee.setContactInfo(contactInfo2); //step4 save the modified employee... updateEmployeeInDataStore(detachedEmployee); return result; } /** * @return the key of the employee that has been stored */ private Key storeEmployeeInDatastore() { Employee employee = new Employee(); ContactInfo contactInfo = new ContactInfo(); employee.setContactInfo(contactInfo); //creates a new manager. PersistenceManager manager1 = pmfInstance.getPersistenceManager(); Key key = null; try { manager1.makePersistent(employee); key = employee.getKey(); } catch ( Exception e ) { e.printStackTrace(); } finally { //equivalent to manager1.close() manager1.close(); } return key; } private Employee getDetachedEmployee(Key key) { PersistenceManager manager2 = pmfInstance.getPersistenceManager(); Employee attached = manager2.getObjectById(Employee.class, key); Employee detachedEmployee = manager2.detachCopy(attached); manager2.close(); return detachedEmployee; } private void updateEmployeeInDataStore(Employee detachedEmployee) { PersistenceManager manager3 = pmfInstance.getPersistenceManager(); try { Employee bidon = manager3.makePersistent(detachedEmployee); System.out.println(); } catch ( Exception e ) { e.printStackTrace(); } finally { manager3.close(); } } } /// /// /// HERE IS THE ERROR I GET org.datanucleus.store.appengine.DatastoreRelationFieldManager $ChildWithoutParentException: Detected attempt to establish Employee(4) as the parent of ContactInfo(6) but the entity identified by ContactInfo(6) has already been persisted without a parent. A parent cannot be established or changed once an object has been persisted. at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java: 354) at org.datanucleus.jdo.JDOPersistenceManager.close(JDOPersistenceManager.java: 281) at com.gae.server.GreetingServiceImpl.updateEmployeeInDataStore(GreetingServiceImpl.java: 85) at com.gae.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java: 33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Re: [appengine-java] Re: data in xml format from data store
I believe the 30 second limit is imposed on the time it takes for your servlet to finish. Thus, if your servlet finished generating and returning the file to the AppEngine infrastructure in 29 seconds, then I think you will be safe even though it might take another minute or two for Google's infrastructure to stream it to the client. I have not tested this though. Can anyone confirm or deny this assumption on my part. On Mon, Nov 29, 2010 at 10:57 AM, pac parvez.chau...@gmail.com wrote: Sorry, did not see your post earlier Stephen. I was not aware of this 10 minute feature to create a file, I will look into. File size will be greater then 10MB, it is an existing website which I am thinking to port to gae, file size already gets around 12MB or so. So I guess more than 10MB download will be an issue and I guess download should also complete in 30 second, is that so? On Nov 29, 5:37 pm, pac parvez.chau...@gmail.com wrote: A client will download a xml file instead of uploading. Records will be created (or updated, deleted) in a table/kind over time and all records from a kind need to be downloaded in form of a xml file, I hope I am explaining the issue bit more clearly. I am not sure if I could make use of blobstore in this case as it will require update of blobstore object (in background may be using task) every time a record gets added/updated/deleted i.e. if I create xml file programmaticaly and store as blobstore object. On Nov 29, 5:14 pm, Didier Durand durand.did...@gmail.com wrote: Hi, To emulate files, you have to use the Blob object in the datastore to store such xml content: see com.google.appengine.api.datastore.Blob inhttp://code.google.com/appengine/docs/java/datastore/dataclasses.html... Blob has a limited max size: 1 Mbyte. So, you can use a collection (Vector, List, etc..) of Blobs if you need more than 1 Mbytes. If your files get uploaded by a client, you can use the Blobstore where the max size is much bigger(2 Gbytes): seehttp:// code.google.com/appengine/docs/java/blobstore/overview.html You have to associate the blob with some other fields (name, size, last_updated) in you pojo to reproduce what you expect from a file. N.B. if you need to emulate a directory tree, you also have to write it by yourself. Finally, I would recommend alternative Objectify rather than standard JDO for such services. Hope this helps regards didier On Nov 29, 5:53 pm, pac parvez.chau...@gmail.com wrote: In a website I need to provide a feature to get data in xml format i.e. some url e.g.http://www.mysite.com../data.xml I think in gae I can not create a file. Any suggestions to create such feature to get data from data store in this way? Data store will have large number of records, so in general, a file created from that could be of good few MBs. -- 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] no async queries on AsyncDatastoreService for 1.4.0?
Hi Luke, First the awesome news: As of 1.4.0, many queries are implicitly asynchronous. When you call PreparedQuery.asIterable() or PreparedQuery.asIterator(), we initiate the query in the background and then immediately return. This lets you do work while the first batch of results is being fetched. And, when the first batch has been consumed we immediately request the next batch. If you're performing a significant amount of work with each Entity as you iterate you will probably see a latency win as a result of this. Now the less awesome news: We didn't get around to making the List returned by PreparedQuery.asList() work this same magic, but you can expect this in a future release. Some deeper thoughts: The underlying RPCs between your app and the datastore fetch results in batches. We fetch an initial batch of results, and once that batch has been consumed we fetch the next batch. But, there's nothing in the API that maps to these batches - it's either a List containing the entire result set or an Iterable/Iterator that returns Entities one at a time. An API that provides async access to the individual results returned by an Iterable/Iterator (IteratorFutureEntity) doesn't really make sense since you don't know which call to hasNext() is going to require a new batch to be fetched, and without that knowledge, the knowledge of what is going to trigger something expensive, you can't really make appropriate use of an asynchronous API. Going forward, we're definitely interested in exposing these batches directly, and an explicitly async API for these batches makes a lot of sense since fetching these batches would map directly to something expensive on the server side. Hope this helps, Max On Fri, Nov 26, 2010 at 4:41 PM, Luke lvale...@gmail.com wrote: i was taking a look at the 1.4.0 javadoc for AsyncDatastoreService. i see the get, put and delete operations return a Future, but the prepare methods return a naked PreparedQuery object, and it doesn't look like PreparedQuery has any async get methods. does the AsyncDatastoreService not support asynchronous queries, or is there something i'm missing? glad to see at lets the get and put methods are async, hoping to get async queries too (as well as async interfaces to more services). -- 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: 1.4.0 Preview and Channel API
Is the HTML snippet the full client code? If so you need to call the createChannel service from the client prior to opening the socket. Also what does the ?key=dev do for you in your script import? Good luck! Scott On Nov 29, 7:20 am, James M jmort...@gmail.com wrote: Hi Scott, I'm trying to follow your example but am getting stuck. I've created the following controllers: /** create the channel **/ public ModelAndView createChannel(HttpServletRequest request, HttpServletResponse response) { ChannelService channelService = ChannelServiceFactory.getChannelService(); channelService.createChannel(coupoz); return constructModelAndView(example); } /** send a message **/ public ModelAndView sendMessage(HttpServletRequest request, HttpServletResponse response) { ChannelService channelService = ChannelServiceFactory.getChannelService(); channelService.sendMessage(new ChannelMessage(coupoz,test)); return constructModelAndView(example); } // NOTE: both controllers return a JSON string. I also have an HTML file: html head script src=_ah/channel/jsapi?key=dev/script script var channel = new goog.appengine.Channel(coupoz); var socket = channel.open(); socket.onopen = function() { console.info(socket opened...); } socket.onmessage = function(evt) { var o = JSON.parse(evt.data); alert(o); } /script /head body /body /html My steps to test are as follows: * Loadhttp://localhost:/business/createChannel.do * Loadhttp://localhost:/channel.html * Loadhttp://localhost:/business/sendMessage.do Here is the stack trace that I get when loading the channel.html file: WARNING: /_ah/channel/dev com.google.appengine.api.channel.dev.LocalChannelFailureException: Channel for application key null not found. at com.google.appengine.api.channel.dev.ChannelManager.getChannel(ChannelManag er.java: 58) at com.google.appengine.api.channel.dev.ChannelManager.getClientChannel(Channe lManager.java: 73) at com.google.appengine.api.channel.dev.ChannelManager.connectClient(ChannelMa nager.java: 122) at com.google.appengine.api.channel.dev.LocalChannelServlet.doGet(LocalChannel Servlet.java: 64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi lter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans actionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile Filter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn gineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:349) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 409) at org.mortbay.thread.QueuedThreadPool $PoolThread.run(QueuedThreadPool.java:582) Nov 29, 2010 12:12:17 PM
Re: [appengine-java] Re: datanucleus-appengine
We haven't abandoned JDO/JPA, but we may emphasize the low-level APIs going forward. You'll always get low-level features first. The mismatch between datastore features and relational database features is starting to really grow. One thing we'll plan on doing is to work more closely with framework and library implementors to make sure they have what they need to build toolkits that better mesh with non-relational datastores. For instance, take a look at our recent article about Django: http://code.google.com/appengine/articles/django-nonrel.html (BTW, if you are a Python developer, please do not use app-engine-patch. It's deprecated). The original approach we took and encouraged was to bend existing toolkits to work with GAE to adhere to standards. We'll still do this when possible, but we're more pragmatic than dogmatic about standards. In some cases, such as the datastore, it may make more sense for us to help developers build toolkits that can keep up with the trend of non-relational persistence. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Thu, Nov 25, 2010 at 12:38 AM, Eugene D edanil...@gmail.com wrote: Great question. It would be very helpful to get a status report on this as well as a roadmap for either this library or any planned alternatives On Nov 23, 3:48 pm, George Moschovitis george.moschovi...@gmail.com wrote: Are there any plans to resume work on datanucleus-appengine? The progress on this lib seems to have stopped 6 months ago and there still a lot of related issues in the tracker: update to the latest version of datanucleus, support for unowned relations, support for more jdo/jpa features, jpa docs and more... is there a roadmap for this important library? thanks, -g. -- 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] 1.4.0 Preview + javax.xml.rpc.ServiceException
I am getting: javax.xml.rpc.ServiceException: access denied (java.lang.RuntimePermission modifyThreadGroup) at com.google.api.adwords.lib.AdWordsVersion $AdWordsVersionV201008.setHeaders(AdWordsVersion.java:313) at com.google.api.adwords.lib.AdWordsServiceFactory.getConfiguredStub(AdWordsServiceFactory.java: 184) at com.google.api.adwords.lib.AdWordsServiceFactory.generateSerivceStub(AdWordsServiceFactory.java: 104) at com.google.api.adwords.lib.AdWordsUser.getService(AdWordsUser.java: 334) at com.appointment.actions.Google.AdWordsActions.getClicks(AdWordsActions.java: 47) at org.apache.jsp.jsp.utils.analyticstest_jsp._jspService(analyticstest_jsp.java: 92) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 377) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at com.google.appengine.tools.development.PrivilegedJspServlet.access $101(PrivilegedJspServlet.java:23) at com.google.appengine.tools.development.PrivilegedJspServlet $2.run(PrivilegedJspServlet.java:59) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java: 57) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java: 141) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:349) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 409) at org.mortbay.thread.QueuedThreadPool $PoolThread.run(QueuedThreadPool.java:582) This occurs when I run: CampaignServiceInterface campaignService = mccUser.getService(AdWordsService.V201008.CAMPAIGN_SERVICE); with the adwords api. Any ideas? Thanks! Shaun -- 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] After a bit more searching
I found this http://someprog.blogspot.com/2010/08/google-app-engine-can-not-find-tag.html . This will fix your problem. Not sure why the goog-appengine-plugin didn't pull it in but use those directions. And a thanks to Sergey Vasilyev for his first blog post and answer to this question! -- 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] calling blobstore from inside the webapp
There are numerous posts concerning the differences between the dev and prod blobstore behaviors. Perhaps this is your issue: http://code.google.com/p/googleappengine/issues/detail?id=3273 http://code.google.com/p/googleappengine/issues/detail?id=3273Another resource to check are the blobstore posts on http://stackoverflow.com/questions/tagged/blobstore On Sun, Nov 28, 2010 at 5:08 AM, Zsombor gzsom...@gmail.com wrote: Hello, I would like to modify the content of the BlobStore from inside my webapp. I mean, the user uploads a picture into blobstore, after in the background the app should create thumbnails, and stores that thumbnails too in the BlobStore. I figured out, that from my 'servlet', I can call BlobstoreServiceFactory.getBlobstoreService().createUploadUrl(/ internal/uploadBlob/+id); and to the acquired URL I can post the content - with proper multi- part encoding. It works in the development mode, however in the live system, it always fails with a generic server error message. I'm sure that my code doesn't gets called - nothing refers to /internal/ uploadBlob/ in the request log. From the response headers, it seems that the upload server responding : {server=[Upload Server Built on Nov 11 2010 15:36:58 (1289518618)], date=[Sun, 28 Nov 2010 12:54:40 GMT], pragma=[no-cache], expires=[Fri, 01 Jan 1990 00:00:00 GMT], cache-control=[no-cache, no-store, must- revalidate], content-length=[456], content-type=[text/html], x-google- cache-control=[remote-fetch], via=[HTTP/1.1 GWA]} Is there anybody, how noticed similar behaviour? Or better, know how to do it correctly ? BR, Zsombor -- 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: Blobstore and JUnit?
Simply mock out the blobstore service using something like mockito: http://mockito.org/ On Nov 28, 9:13 am, Gal Dolber gal.dol...@gmail.com wrote: Hi, I am having problems testing the blobstore. I did the initialization: LocalBlobstoreServiceTestConfig blob = newLocalBlobstoreServiceTestConfig(); blob.setBackingStoreLocation(./blobs); helper = new LocalServiceTestHelper(newLocalDatastoreServiceTestConfig(), blob); But I need some way to put a few files into the blobstore to run the tests. Any hint? -- Guit: Elegant, beautiful, modular and *production ready* gwt applications. http://code.google.com/p/guit/ -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-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: 1.4.0 Preview and Channel API
Thanks for the tip. I added the call to the controller to create the ChannelService. However, what's odd is that my implementation is like your first attempt. I had to use the channelId returned from ChannelService in the JavaScript when opening the socket. The other odd thing I'm seeing is that this is polling. Do you happen to have the javadocs for the ChannelAPI? So far I haven't turned up anything specific to Java. Thanks again, James On Nov 29, 12:01 pm, Scott shathaw...@gmail.com wrote: Is the HTML snippet the full client code? If so you need to call the createChannel service from the client prior to opening the socket. Also what does the ?key=dev do for you in your script import? Good luck! Scott On Nov 29, 7:20 am, James M jmort...@gmail.com wrote: Hi Scott, I'm trying to follow your example but am getting stuck. I've created the following controllers: /** create the channel **/ public ModelAndView createChannel(HttpServletRequest request, HttpServletResponse response) { ChannelService channelService = ChannelServiceFactory.getChannelService(); channelService.createChannel(coupoz); return constructModelAndView(example); } /** send a message **/ public ModelAndView sendMessage(HttpServletRequest request, HttpServletResponse response) { ChannelService channelService = ChannelServiceFactory.getChannelService(); channelService.sendMessage(new ChannelMessage(coupoz,test)); return constructModelAndView(example); } // NOTE: both controllers return a JSON string. I also have an HTML file: html head script src=_ah/channel/jsapi?key=dev/script script var channel = new goog.appengine.Channel(coupoz); var socket = channel.open(); socket.onopen = function() { console.info(socket opened...); } socket.onmessage = function(evt) { var o = JSON.parse(evt.data); alert(o); } /script /head body /body /html My steps to test are as follows: * Loadhttp://localhost:/business/createChannel.do * Loadhttp://localhost:/channel.html * Loadhttp://localhost:/business/sendMessage.do Here is the stack trace that I get when loading the channel.html file: WARNING: /_ah/channel/dev com.google.appengine.api.channel.dev.LocalChannelFailureException: Channel for application key null not found. at com.google.appengine.api.channel.dev.ChannelManager.getChannel(ChannelManag er.java: 58) at com.google.appengine.api.channel.dev.ChannelManager.getClientChannel(Channe lManager.java: 73) at com.google.appengine.api.channel.dev.ChannelManager.connectClient(ChannelMa nager.java: 122) at com.google.appengine.api.channel.dev.LocalChannelServlet.doGet(LocalChannel Servlet.java: 64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi lter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans actionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile Filter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn gineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:349) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at
[appengine-java] Re: Channel API ?
Hi Robert, Check out this thread here. We were able to get it working, but only with polling. We've yet to figure out the comet part of things: http://groups.google.com/group/google-appengine-java/browse_thread/thread/19f250b1ff0e4342 James On Nov 24, 7:41 am, Roberto Saccon rsac...@gmail.com wrote: Anybody figured out how to to use it ? Are there javadocs or any other new docs anywhere, beside of the probably now outdated dance robot ? -- Roberto -- 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: calling blobstore from inside the webapp
Zsombor, Follow the implementation outlined in this excellent blog post. It explains how to upload to blobstore from within your app. Good luck, Michael Weinberg http://jeremyblythe.blogspot.com/2010/10/manipulating-images-in-blobstore.html On Nov 28, 8:08 am, Zsombor gzsom...@gmail.com wrote: Hello, I would like to modify the content of the BlobStore from inside my webapp. I mean, the user uploads a picture into blobstore, after in the background the app should create thumbnails, and stores that thumbnails too in the BlobStore. I figured out, that from my 'servlet', I can call BlobstoreServiceFactory.getBlobstoreService().createUploadUrl(/ internal/uploadBlob/+id); and to the acquired URL I can post the content - with proper multi- part encoding. It works in the development mode, however in the live system, it always fails with a generic server error message. I'm sure that my code doesn't gets called - nothing refers to /internal/ uploadBlob/ in the request log. From the response headers, it seems that the upload server responding : {server=[Upload Server Built on Nov 11 2010 15:36:58 (1289518618)], date=[Sun, 28 Nov 2010 12:54:40 GMT], pragma=[no-cache], expires=[Fri, 01 Jan 1990 00:00:00 GMT], cache-control=[no-cache, no-store, must- revalidate], content-length=[456], content-type=[text/html], x-google- cache-control=[remote-fetch], via=[HTTP/1.1 GWA]} Is there anybody, how noticed similar behaviour? Or better, know how to do it correctly ? BR, Zsombor -- 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] calling blobstore from inside the webapp
I have also written a blog post here http://jeremyblythe.blogspot.com/2010/10/manipulating-images-in-blobstore.html with code samples. On 30 Nov 2010, at 01:06, A. Stevko andy.ste...@gmail.com wrote: There are numerous posts concerning the differences between the dev and prod blobstore behaviors. Perhaps this is your issue: http://code.google.com/p/googleappengine/issues/detail?id=3273 Another resource to check are the blobstore posts on http://stackoverflow.com/questions/tagged/blobstore On Sun, Nov 28, 2010 at 5:08 AM, Zsombor gzsom...@gmail.com wrote: Hello, I would like to modify the content of the BlobStore from inside my webapp. I mean, the user uploads a picture into blobstore, after in the background the app should create thumbnails, and stores that thumbnails too in the BlobStore. I figured out, that from my 'servlet', I can call BlobstoreServiceFactory.getBlobstoreService().createUploadUrl(/ internal/uploadBlob/+id); and to the acquired URL I can post the content - with proper multi- part encoding. It works in the development mode, however in the live system, it always fails with a generic server error message. I'm sure that my code doesn't gets called - nothing refers to /internal/ uploadBlob/ in the request log. From the response headers, it seems that the upload server responding : {server=[Upload Server Built on Nov 11 2010 15:36:58 (1289518618)], date=[Sun, 28 Nov 2010 12:54:40 GMT], pragma=[no-cache], expires=[Fri, 01 Jan 1990 00:00:00 GMT], cache-control=[no-cache, no-store, must- revalidate], content-length=[456], content-type=[text/html], x-google- cache-control=[remote-fetch], via=[HTTP/1.1 GWA]} Is there anybody, how noticed similar behaviour? Or better, know how to do it correctly ? BR, Zsombor -- 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. -- 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: calling blobstore from inside the webapp
Whoops, posted at the same time!! Glad you found my blog post useful. Jeremy. On 30 Nov 2010, at 06:00, Mike weinbe...@gmail.com wrote: Zsombor, Follow the implementation outlined in this excellent blog post. It explains how to upload to blobstore from within your app. Good luck, Michael Weinberg http://jeremyblythe.blogspot.com/2010/10/manipulating-images-in-blobstore.html On Nov 28, 8:08 am, Zsombor gzsom...@gmail.com wrote: Hello, I would like to modify the content of the BlobStore from inside my webapp. I mean, the user uploads a picture into blobstore, after in the background the app should create thumbnails, and stores that thumbnails too in the BlobStore. I figured out, that from my 'servlet', I can call BlobstoreServiceFactory.getBlobstoreService().createUploadUrl(/ internal/uploadBlob/+id); and to the acquired URL I can post the content - with proper multi- part encoding. It works in the development mode, however in the live system, it always fails with a generic server error message. I'm sure that my code doesn't gets called - nothing refers to /internal/ uploadBlob/ in the request log. From the response headers, it seems that the upload server responding : {server=[Upload Server Built on Nov 11 2010 15:36:58 (1289518618)], date=[Sun, 28 Nov 2010 12:54:40 GMT], pragma=[no-cache], expires=[Fri, 01 Jan 1990 00:00:00 GMT], cache-control=[no-cache, no-store, must- revalidate], content-length=[456], content-type=[text/html], x-google- cache-control=[remote-fetch], via=[HTTP/1.1 GWA]} Is there anybody, how noticed similar behaviour? Or better, know how to do it correctly ? BR, Zsombor -- 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.