[appengine-java] OutOfMemoryError in appstats

2010-05-15 Thread dmitrygusev
Hi,

Today after updating my application appstats started to throw
OutOfMemoryError (see some stacktraces below).
I had to remove appstats filter because this consumes too much cpu
quotas.

I found one note about OOME in appstats here:
http://groups.google.com/group/google-appengine-java/browse_frm/thread/8cef51a7098584a7/740ad6145f1a628d?tvc=1q=appstats+outofmemoryerror#740ad6145f1a628d

but there's no solution.

So how can I fix this?

-

java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at com.google.appengine.repackaged.com.google.protobuf.TextFormat
$TextGenerator.write(TextFormat.java:344)
at com.google.appengine.repackaged.com.google.protobuf.TextFormat
$TextGenerator.print(TextFormat.java:327)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printUnknownFields(TextFormat.java:
250)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printUnknownFields(TextFormat.java:
256)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.print(TextFormat.java:
47)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printToString(TextFormat.java:
73)
at
com.google.appengine.tools.appstats.Recorder.makeSummary(Recorder.java:
157)
at
com.google.appengine.tools.appstats.Recorder.makeSyncCall(Recorder.java:
216)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:98)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:48)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall(MemcacheServiceImpl.java:
179)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
460)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
499)
at
com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:
264)
at
com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:
177)
at
com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:
94)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
97)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)

---

java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.init(Unknown Source)
at java.lang.StringBuilder.init(Unknown Source)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.escapeBytes(TextFormat.java:
1027)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printUnknownFields(TextFormat.java:
249)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printUnknownFields(TextFormat.java:
256)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.print(TextFormat.java:
47)
at
com.google.appengine.repackaged.com.google.protobuf.TextFormat.printToString(TextFormat.java:
73)
at
com.google.appengine.tools.appstats.Recorder.makeSummary(Recorder.java:
157)
at
com.google.appengine.tools.appstats.Recorder.makeSyncCall(Recorder.java:
216)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:98)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:48)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall(MemcacheServiceImpl.java:
179)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
460)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
499)
at
com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:
264)
at

[appengine-java] How to use OpenID on the GAE (with the GWT frontend)

2010-05-15 Thread Drasko
I am doing a major rewrite of a working website. We have chosen GWT
and GAE as the target architecture.

I would like to complement our propriatory user authentication schema
with OpenID. Hence, I was very happy that GAE supports the federated
login. After spending the last 8 hours, I have failed to discover any
useful artifacts that would make me understand how to use the User API
in the federated mode.

Additionally, I found out that the guestbook sample gets broken when
switching the authentication option from the Google Account API to
the Federated Login, causing the login page to be repeatedly called
(shortly showing the CheckCookie URL inbetween). I guess this is not a
planned behaviour, even thought the method used for obtaining the
redirect URL is not forseen for the federated mode (createLoginURL vs
createFederatedLoginURL).

I would appreciate any comments and/or pointers on this topic as I am
aiming on producing a set of basic demo applications using the most
promising libraries. The findings will be published in the  blog
(super-easy.blogspot.com) with the hope that others won't need to
waste so much time.

I read lots of posts reffering to the dyuproject as a viable OpenID
library for GAE and will use it as the next candidate.

Thanks for your help

-- 
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] gae with spring 2.5.6 , jpa and maven problem

2010-05-15 Thread _mvn__user
I tried to use gae with spring and jpa but when i start the server i
get the message:

/

Could not instantiate listener
org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException:
org.springframework.web.context.ContextLoaderListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at
com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:
151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:
1101)
at
org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:
630)
at
org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:
368)
at
org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:
289)
at
org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:
222)
at
org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:
180)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
1247)
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
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
130)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
at
com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:
185)
at
com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:
146)
at
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:
219)
at com.google.appengine.tools.development.DevAppServerMain
$StartAction.apply(DevAppServerMain.java:162)
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)
The server is running at http://localhost:/

//

But when i read the
web.xml i have :
?xml version=1.0 encoding=UTF-8?
web-app version=2.4 xmlns=http://java.sun.com/xml/ns/j2ee;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd;
listener
listener-
classorg.springframework.web.context.ContextLoaderListener/listener-
class
/listener

context-param
param-namecontextConfigLocation/param-name
param-value/WEB-INF/applicationContext.xml/param-
value
/context-param

welcome-file-list
welcome-fileindex.jsp/welcome-file
/welcome-file-list
context-param
param-namewebAppRootKey/param-name
param-valuecrud.sandcode.root/param-value
/context-param

 context-param
param-namelog4jConfigLocation/param-name
param-value/WEB-INF/classes/log4j.properties/param-value
/context-param

   welcome-file-list
welcome-fileindex.jsp/welcome-file
   /welcome-file-list




!--servlet
servlet-namefrontController/servlet-name
servlet-classorg.springframework.web.servlet.DispatcherServlet/
servlet-class
init-param
param-namecontextConfigLocation/param-name

param-valueapplicationContext.xml/param-value
/init-param
load-on-startup1/load-on-startup
/servlet

servlet-mapping
servlet-namefrontController/servlet-name
url-pattern*.html/url-pattern
/servlet-mapping
--!--

 filter
filter-nameencoding-filter/filter-name
filter-class
org.springframework.web.filter.CharacterEncodingFilter
/filter-class
init-param
param-nameencoding/param-name
param-valueUTF-8/param-value
/init-param
 /filter

 filter-mapping
   

Re: [appengine-java] gae with spring 2.5.6 , jpa and maven problem

2010-05-15 Thread Davide Cerbo
Uhm...some times ago I had the same problem but your cofiguration looks
well.

I did an example on gae using: maven, spring and gae.

You can download the source code from here:
http://code.google.com/p/gae-javaday10/

http://code.google.com/p/gae-javaday10/bye,
Davide

2010/5/15 _mvn__user agustin.mi...@gmail.com

 I tried to use gae with spring and jpa but when i start the server i
 get the message:


 /

 Could not instantiate listener
 org.springframework.web.context.ContextLoaderListener
 java.lang.ClassNotFoundException:
 org.springframework.web.context.ContextLoaderListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at

 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:
 151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
 org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:
 1101)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:
 630)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:
 368)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:
 289)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:
 222)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:
 180)
at
 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
 1247)
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
 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
 130)
at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
 50)
at
 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
 130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
 50)
at

 com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:
 185)
at

 com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:
 146)
at

 com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:
 219)
at com.google.appengine.tools.development.DevAppServerMain
 $StartAction.apply(DevAppServerMain.java:162)
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)
 The server is running at http://localhost:/


 //

 But when i read the
 web.xml i have :
 ?xml version=1.0 encoding=UTF-8?
 web-app version=2.4 xmlns=http://java.sun.com/xml/ns/j2ee;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd;
listener
listener-
 classorg.springframework.web.context.ContextLoaderListener/listener-
 class
/listener

context-param
param-namecontextConfigLocation/param-name
param-value/WEB-INF/applicationContext.xml/param-
 value
/context-param

welcome-file-list
welcome-fileindex.jsp/welcome-file
/welcome-file-list
context-param
param-namewebAppRootKey/param-name
param-valuecrud.sandcode.root/param-value
/context-param

 context-param
param-namelog4jConfigLocation/param-name
param-value/WEB-INF/classes/log4j.properties/param-value
/context-param

   welcome-file-list
welcome-fileindex.jsp/welcome-file
   /welcome-file-list




!--servlet
servlet-namefrontController/servlet-name
servlet-classorg.springframework.web.servlet.DispatcherServlet/
 servlet-class
init-param

  param-namecontextConfigLocation/param-name

  param-valueapplicationContext.xml/param-value
/init-param
load-on-startup1/load-on-startup
/servlet

servlet-mapping
servlet-namefrontController/servlet-name
url-pattern*.html/url-pattern
/servlet-mapping
--!--

 

[appengine-java] Testing on both production and development servers

2010-05-15 Thread Yasuo Higa
Hi all,

We are pleased to announce the release of Slim3 1.0.4.

The main topic is wonderful testing feature.
You can run same tests on both production and development servers
using Kotori Web JUnit Runner.
The demo is here:
http://slim3demo.appspot.com/ktrwjr/index.html


Release Notes:
http://sites.google.com/site/slim3appengine/release-notes

* Bundled Kotori Web JUnit Runner:
  http://code.google.com/p/slim3/issues/detail?id=26
* Stopped using MemcacheService#setNamespace():
  http://code.google.com/p/slim3/issues/detail?id=28

Downloads:
http://code.google.com/p/slim3/downloads/list

If you use org.slim3.memcache.Memcache, you should upgrade to the version 1.0.4,
because MemcacheService#setNamespace() causes NullPointerException on
the current production server.

Thanks,

Yasuo Higa

-- 
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: How to use OpenID on the GAE (with the GWT frontend)

2010-05-15 Thread Frank Harper
I just had a look and don't see any way to login.

On Sat, May 15, 2010 at 12:29, Drasko drasko.ko...@googlemail.com wrote:

 And just as I managed to make it working, the new release 1.3.4 got
 released and really got me totally scared as no more federated methods
 were there. Luckily it was just an API cleanup and now both the
 Google Account API and the (Experimental) Federated Login are
 using the same User class and the methods to obtain login and logout
 redirects ... COOL ;-)

 The extended Web Application Starter Project using a widget to
 authenticate users via OpenID is available on
 http://super-easy.appspot.com


 On May 14, 12:16 pm, Drasko drasko.ko...@googlemail.com wrote:
  I am doing a major rewrite of a working website. We have chosen GWT
  and GAE as the target architecture.
 
  I would like to complement our propriatory user authentication schema
  with OpenID. Hence, I was very happy that GAE supports the federated
  login. After spending the last 8 hours, I have failed to discover any
  useful artifacts that would make me understand how to use the User API
  in the federated mode.
 
  Additionally, I found out that the guestbook sample gets broken when
  switching the authentication option from the Google Account API to
  the Federated Login, causing the login page to be repeatedly called
  (shortly showing the CheckCookie URL inbetween). I guess this is not a
  planned behaviour, even thought the method used for obtaining the
  redirect URL is not forseen for the federated mode (createLoginURL vs
  createFederatedLoginURL).
 
  I would appreciate any comments and/or pointers on this topic as I am
  aiming on producing a set of basic demo applications using the most
  promising libraries. The findings will be published in the  blog
  (super-easy.blogspot.com) with the hope that others won't need to
  waste so much time.
 
  I read lots of posts reffering to the dyuproject as a viable OpenID
  library for GAE and will use it as the next candidate.
 
  Thanks for your help
 
  --
  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] Re: serious problem Error 203

2010-05-15 Thread Dicker24
Many thanks for your reply.

This exception is not thrown in datastore code. It has been thrown by
JAXB operations.
Except code optimization is there anything else i can do, e.g. buy
more cpu hours, in order to prevent that requests are processed too
lang.

Is there a limit of utilization of resource(CPU, Memory ...)  which
each session can maxium use?

Many thanks.
dicker


On May 12, 7:00 am, App Engine Team appengine.nore...@gmail.com
wrote:
 Thiserrorshows up in the logs when requests are taking too long,
 but, the service are unable to throw a HardDeadlineExceeded
 Exception.  If this is being thrown in datastore code, it may be
 related to a current issue causing increased datastore 
 latency:http://groups.google.com/group/google-appengine-downtime-notify/brows...

 On May 10, 5:32 am, Dicker24 dicke...@googlemail.com wrote:





  Hi,

  i have got the followingerror:

  A serious problem was encountered with the process that handled this
  request, causing it to exit. This is likely to cause a new process to
  be used for the next request to your application. If you see this
  message frequently, you should contact the App Engine team. (Error
  code203)

  Thiserroris only thrown in the production environment, while it
  works fine in the eclipse enviroment.

  Would you please tell me, what thiserrormessage mean? What can I do
  in order to avoid thiserror?

  Thank you very much in advance.

  Best Regards
  dicker

  --
  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] gae with spring 2.5.6 , jpa and maven problem

2010-05-15 Thread Sudhir Ramanandi
Have you added spring-web dependency in ur pom !!

On Sat, May 15, 2010 at 12:25 PM, Davide Cerbo davidece...@gmail.comwrote:

 Uhm...some times ago I had the same problem but your cofiguration looks
 well.

 I did an example on gae using: maven, spring and gae.

 You can download the source code from here:
 http://code.google.com/p/gae-javaday10/

 http://code.google.com/p/gae-javaday10/bye,
 Davide

 2010/5/15 _mvn__user agustin.mi...@gmail.com

 I tried to use gae with spring and jpa but when i start the server i
 get the message:


 /

 Could not instantiate listener
 org.springframework.web.context.ContextLoaderListener
 java.lang.ClassNotFoundException:
 org.springframework.web.context.ContextLoaderListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at

 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:
 151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
 org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:
 1101)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:
 630)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:
 368)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:
 289)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:
 222)
at

 org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:
 180)
at
 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
 1247)
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
 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
 130)
at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
 50)
at
 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
 130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
 50)
at

 com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:
 185)
at

 com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:
 146)
at

 com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:
 219)
at com.google.appengine.tools.development.DevAppServerMain
 $StartAction.apply(DevAppServerMain.java:162)
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)
 The server is running at http://localhost:/


 //

 But when i read the
 web.xml i have :
 ?xml version=1.0 encoding=UTF-8?
 web-app version=2.4 xmlns=http://java.sun.com/xml/ns/j2ee;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd;
listener
listener-
 classorg.springframework.web.context.ContextLoaderListener/listener-
 class
/listener

context-param
param-namecontextConfigLocation/param-name
param-value/WEB-INF/applicationContext.xml/param-
 value
/context-param

welcome-file-list
welcome-fileindex.jsp/welcome-file
/welcome-file-list
context-param
param-namewebAppRootKey/param-name
param-valuecrud.sandcode.root/param-value
/context-param

 context-param
param-namelog4jConfigLocation/param-name
param-value/WEB-INF/classes/log4j.properties/param-value
/context-param

   welcome-file-list
welcome-fileindex.jsp/welcome-file
   /welcome-file-list




!--servlet
servlet-namefrontController/servlet-name
servlet-classorg.springframework.web.servlet.DispatcherServlet/
 servlet-class
init-param

  param-namecontextConfigLocation/param-name

  param-valueapplicationContext.xml/param-value
/init-param
load-on-startup1/load-on-startup
/servlet

servlet-mapping
   

[appengine-java] Re: How to use OpenID on the GAE (with the GWT frontend)

2010-05-15 Thread Mark Renouf
The button displays an alert, but does not redirect. Copying the URL
from the alert dialog and manually visiting it does work, and I'm
logged into your app via my Yahoo account.

Can you share your example code for this project?

On May 15, 6:29 am, Drasko drasko.ko...@googlemail.com wrote:
 And just as I managed to make it working, the new release 1.3.4 got
 released and really got me totally scared as no more federated methods
 were there. Luckily it was just an API cleanup and now both the
 Google Account API and the (Experimental) Federated Login are
 using the same User class and the methods to obtain login and logout
 redirects ... COOL ;-)

 The extended Web Application Starter Project using a widget to
 authenticate users via OpenID is available onhttp://super-easy.appspot.com

 On May 14, 12:16 pm, Drasko drasko.ko...@googlemail.com wrote:





  I am doing a major rewrite of a working website. We have chosen GWT
  and GAE as the target architecture.

  I would like to complement our propriatory user authentication schema
  with OpenID. Hence, I was very happy that GAE supports the federated
  login. After spending the last 8 hours, I have failed to discover any
  useful artifacts that would make me understand how to use the User API
  in the federated mode.

  Additionally, I found out that the guestbook sample gets broken when
  switching the authentication option from the Google Account API to
  the Federated Login, causing the login page to be repeatedly called
  (shortly showing the CheckCookie URL inbetween). I guess this is not a
  planned behaviour, even thought the method used for obtaining the
  redirect URL is not forseen for the federated mode (createLoginURL vs
  createFederatedLoginURL).

  I would appreciate any comments and/or pointers on this topic as I am
  aiming on producing a set of basic demo applications using the most
  promising libraries. The findings will be published in the  blog
  (super-easy.blogspot.com) with the hope that others won't need to
  waste so much time.

  I read lots of posts reffering to the dyuproject as a viable OpenID
  library for GAE and will use it as the next candidate.

  Thanks for your help

  --
  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] BlobstoreService serve method

2010-05-15 Thread Guss
Hi,
I'm using java in GAE and i recently started using Blobstore to serve
my application download file, the only issue that i have is that
when it serves the file, the size is not sent to the browser so it
can't estimate the time for the download to complete...

here is the piece of code that i use to serve the file:
BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();

IteratorBlobInfo iterator = new
BlobInfoFactory().queryBlobInfos();

while(iterator.hasNext()) {
  BlobInfo b = iterator.next();
  if (b.getFilename().equals('myfile.exe'))
  blobstoreService.serve(b.getBlobKey(),resp);
}


is there a way to also send the file size to the browser while serving
the file?



thanks,
Oded.

-- 
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] GfS and Struts

2010-05-15 Thread Lukasw44
Hello i try integrated Google file service and Struts 1

i'm using lib: common-fileupload 1.2.1 and common-io 1.4

This is my Action:
--
codepublic class AddProductAction extends Action {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
//private static final long serialVersionUID = 8367618433138027430L;

AddProductFormBean myForm= (AddProductFormBean) form;

String fileId = ;
String fileOwner = ;
int fileSize;

FormFile File = myForm.getUpFile();
String contentType = File.getContentType();
String fileName= File.getFileName();
fileOwner = myForm.getFileOwner();
fileId = myForm.getFileId();
   InputStream stream = File.getInputStream();
stream.close();
fileSize = DatastoreUtils.insertGoogleFile(fileId, fileOwner,
fileName, contentType, stream);
return (mapping.findForward(success-addproduct));
}
}/code
-
And this is my FORM FILE:

public class AddProductFormBean extends ActionForm
{
 private FormFile upfile;
  private String fileOwner;
  private String fileId;

public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getFileOwner() {
return fileOwner;
}
public void setFileOwner(String fileOwner) {
this.fileOwner = fileOwner;
}
public FormFile getUpFile() {
return upfile;
}
public void setUpFile(FormFile upFile) {
this.upfile = upFile;
}

}
--
the rest file i have from page of project hosting:
http://code.google.com/p/google-file-service/
-DatastoreUtils.java
-GoogleFile.java
-GoogleUnit.java
-PMF.java

This is very simple application but i have problem

Problem accessing /addProductAction.do. Reason:

java.rmi.server.UID is a restricted class. Please see the Google
App Engine developer's guide for more details.

Caused by:

java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted
class. Please see the Google  App Engine developer's guide for more
details.
at
com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:
51)
at
org.apache.commons.fileupload.disk.DiskFileItem.clinit(DiskFileItem.java:
103)
at
org.apache.commons.fileupload.DefaultFileItemFactory.createItem(DefaultFileItemFactory.java:
103)
at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:
358)
at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:
310)
...

I don't know what i do wrong and why its not working. I reading a post
http://groups.google.com/group/google-appengine-java/browse_thread/thread/184ab968ca8c184c/da930f956601df7f#da930f956601df7f

So integrated struts 1 and google file service is posible. Please give
me sobe example or advice. Thanks

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-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] Mailservice - creating a conversation

2010-05-15 Thread Jaroslav Záruba
Hello

I'd like to send several mail messages so that they create a
conversation in the recipient's mailbox. I assume this is accomplished
by 'Message-ID', 'In-Reply-To' and maybe also 'References' headers.
Unfortunately:
For security purposes, the Mail service does not allow arbitrary
headers on outgoing email messages. Some headers are overridden by the
Mail service, such as the message send date. Other headers added to
the outgoing message are stripped.
http://code.google.com/appengine/docs/java/mail/usingjavamail.html#Messages_and_Headers

Is there a chance GAE would white-list some headers and add their
respective methods to Mailservice API?

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.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] IllegalArgumentException: ETA too far into the future

2010-05-15 Thread derkent
Hi-ya

How far ahead can you queue a task? I just wanted to queue a task to
start once the weekend is over (ie two days), but I get this error.

Does anyone know what the limit is? I cant find it anywhere.

thanks.

kent

-- 
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: IllegalArgumentException: ETA too far into the future

2010-05-15 Thread derkent
oops the bug was in my code instead of a delay or countdown, I was
giving a time value, so the delay would have been something like 2010
years.

I would still be curios to know what max eta is though.

On May 16, 12:21 am, derkent derkentgib...@gmail.com wrote:
 Hi-ya

 How far ahead can you queue a task? I just wanted to queue a task to
 start once the weekend is over (ie two days), but I get this error.

 Does anyone know what the limit is? I cant find it anywhere.

 thanks.

 kent

 --
 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] Restriction for URL fetch with the same URL

2010-05-15 Thread PhilBeaudoin
I'm trying to make my ajax site crawlable following:
http://code.google.com/web/ajaxcrawling/docs/getting-started.html

Basically, whenever I receive a request with _escaped_fragment_=..., I
need to fetch the same page with HTMLunit, but without the
_escaped_fragment_ part (and with a hash fragment).

So, I got HTMLunit unit to run on GAE (with the fine patch by Amit
Manjhi), and I'm able to fetch pages from all across the web and
render them with it.

I'm also able to use HTMLunit on another site to render my webapp.

But whenever I try to use HTMLunit in my app to render my webapp, it
seems to fail.

I don't see anything helpful in the logs, but I suspect this has to do
with the URL fetch service restriction that disallow fetching the same
URL. Now, the URL is not exactly the same (I remove some parameter and
add a hash fragment) but it's fairly similar. I was wondering:
- Are the precise restrictions on using URL fetch on the incoming URL
documented somewhere?
- Is there any good workaround for the problem?
- Or maybe my problem is something else altogether and you have an
idea for me?

Thanks a lot!

Philippe

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-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] Freemarker and Unicode: On local: fine, on cloud: become question mark

2010-05-15 Thread Phuong Nguyen
Thanks to Google guys, FreeMarker is now run fine. However, there is
still a (small/big/?) problem with Unicode.
I have a lot of Unicode inside my FreeMarker template. They all
printed fine on Development Server. However, being deployed to the
cloud, these Unicode characters are all displayed as question mark.
(Vietnamese: Chọn nhà cung cấp của bạn - Ch???n nh?? cung c???p c???a
b???n).

Please advice.

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-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

2010-05-15 Thread Phuong Nguyen

I've just checked my app against the new JDK. The bug is *somehow*
fixed. Freemarker run fine now.
However, there is another problem: Unicode character in freemarker
template (which works fine on local server) is transformed into a lot
of question mark (?). I have posted a new discussion on that here:
http://groups.google.com/group/google-appengine-java/browse_thread/thread/885b284471cb9451
Would you guy please have a look?
On May 4, 10:16 pm, Don Schwarz schwa...@google.com wrote:
 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 
 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: VerifyError on no-op default constructor

2010-05-15 Thread Phuong Nguyen
Hi,
I have checked my app against the new released GAE version. However,
there is still a problem: Unicode character was rendered as question
mark (work fine on local, though). I have posted another discussion
here: 
http://groups.google.com/group/google-appengine-java/browse_thread/thread/885b284471cb9451
Would you guys please have a look?

On May 4, 10:16 pm, Don Schwarz schwa...@google.com wrote:
 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 
 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: How to use OpenID on the GAE (with the GWT frontend)

2010-05-15 Thread Drasko
I am a bit slow in creating the GWT part ... but it looks already much
better.
The latest code is running on http://super-easy.appspot.com
There will be soon some content on super-easy.blogspot.com and
code.google.com/p/super-easy
My goal is to try to pack it in a nice widget and make it *super
easy*... Thanks guys at Java AppEngine team who are daily releasing
updates ;-)

On May 15, 5:53 pm, Mark  Renouf mark.ren...@gmail.com wrote:
 The button displays an alert, but does not redirect. Copying the URL
 from the alert dialog and manually visiting it does work, and I'm
 logged into your app via my Yahoo account.

 Can you share your example code for this project?

 On May 15, 6:29 am, Drasko drasko.ko...@googlemail.com wrote:



  And just as I managed to make it working, the new release 1.3.4 got
  released and really got me totally scared as no more federated methods
  were there. Luckily it was just an API cleanup and now both the
  Google Account API and the (Experimental) Federated Login are
  using the same User class and the methods to obtain login and logout
  redirects ... COOL ;-)

  The extended Web Application Starter Project using a widget to
  authenticate users via OpenID is available on http://super-easy.appspot.com

  On May 14, 12:16 pm, Drasko drasko.ko...@googlemail.com wrote:

   I am doing a major rewrite of a working website. We have chosen GWT
   and GAE as the target architecture.

   I would like to complement our propriatory user authentication schema
   with OpenID. Hence, I was very happy that GAE supports the federated
   login. After spending the last 8 hours, I have failed to discover any
   useful artifacts that would make me understand how to use the User API
   in the federated mode.

   Additionally, I found out that the guestbook sample gets broken when
   switching the authentication option from the Google Account API to
   the Federated Login, causing the login page to be repeatedly called
   (shortly showing the CheckCookie URL inbetween). I guess this is not a
   planned behaviour, even thought the method used for obtaining the
   redirect URL is not forseen for the federated mode (createLoginURL vs
   createFederatedLoginURL).

   I would appreciate any comments and/or pointers on this topic as I am
   aiming on producing a set of basic demo applications using the most
   promising libraries. The findings will be published in the  blog
   (super-easy.blogspot.com) with the hope that others won't need to
   waste so much time.

   I read lots of posts reffering to the dyuproject as a viable OpenID
   library for GAE and will use it as the next candidate.

   Thanks for your help

   --
   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 
 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.