In my application an embedded device (no public IP) should connect to
the GAE in order to obtain some data from it. The data are provided by
the web browser.

The whole data-passing process looks like:

                                              web browser -> GAE ->
embedded standalone device



I developed a servlet the device connects to. It issues the HTTP GET.
On the other side the web browser sends data using standard GWT
RemoteServiceServlet.


In case there is no data for the device the doGet method in the
servlet should stop for some seconds until user enters data or time
out expires.

I'm trying to use LinkedBlockingQueue  to pass data between two
servlets. It does not work unfortunately. Seems like the GAE launches
new JVM for concurrent requests... I pushed the LinkedBlockingQueue
into memcache and get it by name from concurrent requests. Still does
not work. Memcache returns NOTnull. But there are no data in the
queue.

In order to investigate my issue I've made some tests with the
semaphore. Pushed the semaphore to the memcache and made some
concurrent operations ... -> does not work -> one process does not
release the other...

The problem occurs on GAE only. The whole mechanism works on the
development server.


Is there any way to stop/freeze one process (in the doGet method in
servlet) and unblock it by another one ?

Or... Is there any other way to solve my problem ?
Thank you for any suggestions.
Artur

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to