Re: [google-appengine] Google Dev Console doesn’t show SSL Certificates
Nick, My mistake. I /thought/ I was logged into the right account, but wasn’t. I see everything now. Sorry for the noise. Ken On Jan 15, 2016, at 10:34 AM, Nick (Cloud Platform Support) <pay...@google.com> wrote: > Did you perhaps use a different account than the one you're currently using? > > On Thursday, January 14, 2016 at 12:48:44 PM UTC-5, Ken Bowen wrote: > I uploaded a number of subdomain certificates in November, and the list of > all was displayed at that time. Now none of them show (at Settings > SSL > Certificates): > >No certificates have been uploaded > > However, they all appear to be in place: When one goes to the subdomain, the > connection is https, and requesting information about the certificate shows > the expected certificate. What’s happening?? > > -- > You received this message because you are subscribed to a topic in the Google > Groups "Google App Engine" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/google-appengine/QdqLloiNjvM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > google-appengine+unsubscr...@googlegroups.com. > To post to this group, send email to google-appengine@googlegroups.com. > Visit this group at https://groups.google.com/group/google-appengine. > To view this discussion on the web visit > https://groups.google.com/d/msgid/google-appengine/c232386d-36e7-4af1-9792-a6023e7e7d12%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/BA885D95-F51B-4C9A-9321-144DFEBA52AE%40form-runner.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Google Dev Console doesn’t show SSL Certificates
I uploaded a number of subdomain certificates in November, and the list of all was displayed at that time. Now none of them show (at Settings > SSL Certificates): No certificates have been uploaded However, they all appear to be in place: When one goes to the subdomain, the connection is https, and requesting information about the certificate shows the expected certificate. What’s happening?? -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/a4d49a6a-0f67-4bf4-ba22-e123db8c1705%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Beehive/Weblogic jar file not available
Nick - Followup: Based on advice from the DWR community, I solved the problem this way: Opened the dwr.2.0.10.jar, and performed: a) Opened org/directwebremoting/dwr.xml and removed creator id=pageflow class=org.directwebremoting.beehive.PageFlowCreator”/ b) Removed org/directwebremoting/beehive/PageFlowCreator.class Closed the jar. Everything works as it should after re-deployment. It remains a mystery as to why this error didn't appear prior to July. Thanks, Ken On Saturday, August 1, 2015 at 1:12:59 PM UTC-6, Ken Bowen wrote: I've been using DWR 2.0.(6..10) (Direct Web Remoting) with two Appengine java projects for a number of years, with no problems. About 2015-07-18, when production Appengine switched from using SDK 1.9.23 to SDK 1.9.24, I began getting the following exception each time one of my projects starts: org.directwebremoting.util.CommonsLoggingOutput error: Failed to load 'pageflow' (org.directwebremoting.beehive.PageFlowCreator) java.lang.reflect.InvocationTargetException at com.google.appengine.runtime.Request.process-eaa0bc63bfae4257(Request.java) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) .. Caused by: java.lang.ClassNotFoundException: Beehive/Weblogic jar file not available. at org.directwebremoting.beehive.PageFlowCreator.init(PageFlowCreator.java:58) . Neither of my projects had any code changes around that time. Was the Beehive/Weblogic jar available in GAE before SDK 1.9.24? Can anyone give me any pointers about this? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/31d4fe1e-2e8f-4b16-9690-32b3a6c44942%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Beehive/Weblogic jar file not available
Hi Nick, That's what's strange. I've been using dwr_2.0.6/7 for a number of years, and there's never been any *bee*.jar or *weblogic*.jar in my lib dir. To my memory, there were no other dependencies downloaded with dwr.Yet prior to 2015-07-18, I've never seen this exception, and the dwr jar in my projects didn't change then. In fact, my jar list didn't change at all before or immediately after 2015-07-18. (Later I checked moving up to dwr_2.0.10, but that still produces this exception). That's why I wondered whether the Beehive/Weblogic jar could have been supplied by GAE earlier. It all seems very odd. I'm going to contact the DWR guys and see what they say. Thanks, Ken On Monday, August 3, 2015 at 1:32:45 PM UTC-6, Nick (Cloud Platform Support) wrote: Hi Ken, It sounds as though this is a specific third-party technology unrelated to Google, and I can't find it documented anywhere that this would be available on the platform. It sounds as though your app itself would have had to bundle this dependency when it was uploaded. Do you still have access to the project source? Is the Beehive/Weblogic jar included in your project's lib/ folder? Regards, Nick On Saturday, August 1, 2015 at 3:12:59 PM UTC-4, Ken Bowen wrote: I've been using DWR 2.0.(6..10) (Direct Web Remoting) with two Appengine java projects for a number of years, with no problems. About 2015-07-18, when production Appengine switched from using SDK 1.9.23 to SDK 1.9.24, I began getting the following exception each time one of my projects starts: org.directwebremoting.util.CommonsLoggingOutput error: Failed to load 'pageflow' (org.directwebremoting.beehive.PageFlowCreator) java.lang.reflect.InvocationTargetException at com.google.appengine.runtime.Request.process-eaa0bc63bfae4257(Request.java) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) .. Caused by: java.lang.ClassNotFoundException: Beehive/Weblogic jar file not available. at org.directwebremoting.beehive.PageFlowCreator.init(PageFlowCreator.java:58) . Neither of my projects had any code changes around that time. Was the Beehive/Weblogic jar available in GAE before SDK 1.9.24? Can anyone give me any pointers about this? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/906ac590-c65a-42d1-a1d6-cbe6c7d886ea%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Beehive/Weblogic jar file not available
I've been using DWR 2.0.(6..10) (Direct Web Remoting) with two Appengine java projects for a number of years, with no problems. About 2015-07-18, when production Appengine switched from using SDK 1.9.23 to SDK 1.9.24, I began getting the following exception each time one of my projects starts: org.directwebremoting.util.CommonsLoggingOutput error: Failed to load 'pageflow' (org.directwebremoting.beehive.PageFlowCreator) java.lang.reflect.InvocationTargetException at com.google.appengine.runtime.Request.process-eaa0bc63bfae4257(Request.java) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) .. Caused by: java.lang.ClassNotFoundException: Beehive/Weblogic jar file not available. at org.directwebremoting.beehive.PageFlowCreator.init(PageFlowCreator.java:58) . Neither of my projects had any code changes around that time. Was the Beehive/Weblogic jar available in GAE before SDK 1.9.24? Can anyone give me any pointers about this? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/ca7b60c1-d0d2-496f-b727-cfb80b14c64f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Versioning issue with appengine-java-sdk-1.9.24 and Eclipse
Ah sorry, forgot that emailing a reply to Patrice wouldn't get posted here. I'm confused by: As a side note, this really just affects the version counter, not the content of the SDK in any way Are you saying that when I downloaded appengine-java-sdk-1.9.24.zip and it identified itself inside Eclipse as 1.9.22, that I had /really/ gotten 1.9.4?? --Ken On Tuesday, July 28, 2015 at 1:54:34 PM UTC-6, Patrice (Cloud Platform Support) wrote: So to keep the public thread updated (in case someone stumbles) Ken confirms to using those downloads. I've therefore created an issue tracker about this (link here https://code.google.com/p/googleappengine/issues/detail?id=12181) and as you can see, we are aware of the issue, it is now being tracked, and we will be working on fixing this soon. As a side note, this really just affects the version counter, not the content of the SDK in any way Cheers! On Monday, July 27, 2015 at 11:24:55 AM UTC-4, Patrice (Cloud Platform Support) wrote: Hi Ken, Normally we suggest, to get the latest version, to use the downloads link. It's peculiar that this is happening. Just to be 100% sure everything was done the proper way (before I go and reproduce this to send it up), I assume you followed these instructions https://developers.google.com/eclipse/docs/install-eclipse-4.4 (or something equivalent?) when installing your plugin? Cheers On Friday, July 24, 2015 at 11:51:31 PM UTC-4, Ken Bowen wrote: I downloaded appengine-java-sdk-1.9.24.zip from https://cloud.google.com/appengine/downloads, unzipped it, and Added it to the SDKs in my Eclipse plugin. But when that was done, the Version for it only showed as 1.9.22 (previously I had appengine-java-sdk-1.9.20 installed). Then in Eclipse, I used Help Check for Updates, but that only showed as available: Google App Engine Java SDK 1.9.22. However, my logs on GAE are showing app_engine_release=1.9.24 being used. How can I get app_engine_release=1.9.24 as the SDK in my Eclipse plugin? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/96ce7e4c-2564-4a66-b8ad-06f799abd56a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Versioning issue with appengine-java-sdk-1.9.24 and Eclipse
.. /really/ gotten 1.9.24?? On Tuesday, July 28, 2015 at 3:48:48 PM UTC-6, Ken Bowen wrote: Ah sorry, forgot that emailing a reply to Patrice wouldn't get posted here. I'm confused by: As a side note, this really just affects the version counter, not the content of the SDK in any way Are you saying that when I downloaded appengine-java-sdk-1.9.24.zip and it identified itself inside Eclipse as 1.9.22, that I had /really/ gotten 1.9.4?? --Ken On Tuesday, July 28, 2015 at 1:54:34 PM UTC-6, Patrice (Cloud Platform Support) wrote: So to keep the public thread updated (in case someone stumbles) Ken confirms to using those downloads. I've therefore created an issue tracker about this (link here https://code.google.com/p/googleappengine/issues/detail?id=12181) and as you can see, we are aware of the issue, it is now being tracked, and we will be working on fixing this soon. As a side note, this really just affects the version counter, not the content of the SDK in any way Cheers! On Monday, July 27, 2015 at 11:24:55 AM UTC-4, Patrice (Cloud Platform Support) wrote: Hi Ken, Normally we suggest, to get the latest version, to use the downloads link. It's peculiar that this is happening. Just to be 100% sure everything was done the proper way (before I go and reproduce this to send it up), I assume you followed these instructions https://developers.google.com/eclipse/docs/install-eclipse-4.4 (or something equivalent?) when installing your plugin? Cheers On Friday, July 24, 2015 at 11:51:31 PM UTC-4, Ken Bowen wrote: I downloaded appengine-java-sdk-1.9.24.zip from https://cloud.google.com/appengine/downloads, unzipped it, and Added it to the SDKs in my Eclipse plugin. But when that was done, the Version for it only showed as 1.9.22 (previously I had appengine-java-sdk-1.9.20 installed). Then in Eclipse, I used Help Check for Updates, but that only showed as available: Google App Engine Java SDK 1.9.22. However, my logs on GAE are showing app_engine_release=1.9.24 being used. How can I get app_engine_release=1.9.24 as the SDK in my Eclipse plugin? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/9a8fe8f2-beb4-48d6-839f-fe6a182ab96a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Versioning issue with appengine-java-sdk-1.9.24 and Eclipse
I downloaded appengine-java-sdk-1.9.24.zip from https://cloud.google.com/appengine/downloads, unzipped it, and Added it to the SDKs in my Eclipse plugin. But when that was done, the Version for it only showed as 1.9.22 (previously I had appengine-java-sdk-1.9.20 installed). Then in Eclipse, I used Help Check for Updates, but that only showed as available: Google App Engine Java SDK 1.9.22. However, my logs on GAE are showing app_engine_release=1.9.24 being used. How can I get app_engine_release=1.9.24 as the SDK in my Eclipse plugin? Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/e1a97d39-5a4a-4d06-82de-ab64e05817b3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [google-appengine] Problem running a cron job
Patrice, Thanks, Ken On Jun 30, 2015, at 7:52 AM, Patrice (Cloud Platform Support) pvoutsi...@google.com wrote: Hi Ken! If you want to call that method and log the time when you call this? yes definitely, this is what you want, and then you just hit that servlet whenever you want that logged. Cheers! On Monday, June 29, 2015 at 6:56:06 PM UTC-4, Ken Bowen wrote: Hey Patrice, It’s my mistake. All I really wanted to do was execute the java method public static void crontest1(){ final DateTimeFormatter fmt = Constants.YMDHMS_DATETIME_FORMATTER; String now = fmt.print(System.currentTimeMillis()); logger.warn(## crontest1() : + now); } The jsp/js was just going to be a stepping stone to this, but now I understand the fact that cron isn’t going to execute that jsp “headless”. o am I correct that the right way to do this is to write a simple servlet, something like this: public class CronTest1Servlet extends LoggedHttpServlet { private static Logger logger = Logger.getLogger(CronTest1Servlet.class.getName()); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final DateTimeFormatter fmt = DateTimeFormat.forPattern(-MM-dd HH:mm:ss z); String now = fmt.print(System.currentTimeMillis()); logger.warn(## CronTest1Servlet : + now); } } Thanks much, —Ken On Jun 29, 2015, at 11:41 AM, Patrice (Cloud Platform Support) pvoutsi...@google.com wrote: Hey Ken, I'm a bit unclear on your issue, so if you could clarify, it would be helpful. You have a cronJob on the /admin/cron/crontest1 URL that creates a js and displays it. When you hit the url yourself, it goes through... but when the job autoruns, it fails... right? If this is the behavior you're experiencing, I'd say it's to be expected... how would a scheduled cron job running on the backend display anything? Let me know if I'm the one not understanding your issue properly here. Cheers! On Monday, June 29, 2015 at 12:02:20 AM UTC-4, Ken Bowen wrote: I have a simple test cron job which does not succeed in running on GAE. The target url runs correctly when invoked from a browser (when I’m logged in as admin), but cron is not successfully running the job. The GAE Cron Jobs page shows: /admin/cron/crontest1every 2 hours (America/New_York) Initial simple test 2015/06/28 23:18:03 2 secs late Failed Here’s the cron.xml: ?xml version=1.0 encoding=UTF-8? cronentries cron descriptionInitial simple test/description timezoneAmerica/New_York/timezone url/admin/cron/crontest1//url scheduleevery 2 hours/schedule /cron /cronentries In web.xml, the url-pattern/admin/*/url-pattern gets the security-constraint: auth-constraint role-nameadmin/role-name /auth-constraint The target url /admin/cron/crontest1/ assembles a very simple jsp page equivalent to: head script type='text/javascript' src='/admin/cron/crontest1/crontest1.js'/script script $(document).ready(function() { crontest1init(); }); /script /head body h1CronTest1/h1 /body where crontest1.js is just: function crontest1init() { AdminIntf.crontest1(); } And AdminIntf.crontest1() is just a DWR (Direct Web Remoting) call to this: public static void crontest1(){ final DateTimeFormatter fmt = Constants.YMDHMS_DATETIME_FORMATTER; String now = fmt.print(System.currentTimeMillis()); logger.warn(## crontest1() : + now); } When I am logged in as admin and issue the url http://[my.project].appspot.com/admin/cron/crontest1/ the result is a page showing CronTest1 and the logs show: ……/dwr/call/plaincall/AdminIntf.crontest1.dwr 200 …blah,blah I 2015-06-28 21:10:18.026 org.directwebremoting.util.CommonsLoggingOutput info: Exec: AdminIntf.crontest1() W 2015-06-28 21:10:18.064 com.strongbrain.admin.AdminIntf crontest1: ## crontest1() : 2015-06-29 03:10:18 UTC The url action returns 200, but, as noted at top, cron doesn’t successfully run this. Clearly I’m missing something essential, but I can’t see what. Any help will definitely be appreciated. Thanks in advance, Ken Bowen -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https
Re: [google-appengine] Problem running a cron job
Hey Patrice, It’s my mistake. All I really wanted to do was execute the java method public static void crontest1(){ final DateTimeFormatter fmt = Constants.YMDHMS_DATETIME_FORMATTER; String now = fmt.print(System.currentTimeMillis()); logger.warn(## crontest1() : + now); } The jsp/js was just going to be a stepping stone to this, but now I understand the fact that cron isn’t going to execute that jsp “headless”. o am I correct that the right way to do this is to write a simple servlet, something like this: public class CronTest1Servlet extends LoggedHttpServlet { private static Logger logger = Logger.getLogger(CronTest1Servlet.class.getName()); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final DateTimeFormatter fmt = DateTimeFormat.forPattern(-MM-dd HH:mm:ss z); String now = fmt.print(System.currentTimeMillis()); logger.warn(## CronTest1Servlet : + now); } } Thanks much, —Ken On Jun 29, 2015, at 11:41 AM, Patrice (Cloud Platform Support) pvoutsi...@google.com wrote: Hey Ken, I'm a bit unclear on your issue, so if you could clarify, it would be helpful. You have a cronJob on the /admin/cron/crontest1 URL that creates a js and displays it. When you hit the url yourself, it goes through... but when the job autoruns, it fails... right? If this is the behavior you're experiencing, I'd say it's to be expected... how would a scheduled cron job running on the backend display anything? Let me know if I'm the one not understanding your issue properly here. Cheers! On Monday, June 29, 2015 at 12:02:20 AM UTC-4, Ken Bowen wrote: I have a simple test cron job which does not succeed in running on GAE. The target url runs correctly when invoked from a browser (when I’m logged in as admin), but cron is not successfully running the job. The GAE Cron Jobs page shows: /admin/cron/crontest1every 2 hours (America/New_York) Initial simple test 2015/06/28 23:18:03 2 secs late Failed Here’s the cron.xml: ?xml version=1.0 encoding=UTF-8? cronentries cron descriptionInitial simple test/description timezoneAmerica/New_York/timezone url/admin/cron/crontest1//url scheduleevery 2 hours/schedule /cron /cronentries In web.xml, the url-pattern/admin/*/url-pattern gets the security-constraint: auth-constraint role-nameadmin/role-name /auth-constraint The target url /admin/cron/crontest1/ assembles a very simple jsp page equivalent to: head script type='text/javascript' src='/admin/cron/crontest1/crontest1.js'/script script $(document).ready(function() { crontest1init(); }); /script /head body h1CronTest1/h1 /body where crontest1.js is just: function crontest1init() { AdminIntf.crontest1(); } And AdminIntf.crontest1() is just a DWR (Direct Web Remoting) call to this: public static void crontest1(){ final DateTimeFormatter fmt = Constants.YMDHMS_DATETIME_FORMATTER; String now = fmt.print(System.currentTimeMillis()); logger.warn(## crontest1() : + now); } When I am logged in as admin and issue the url http://[my.project].appspot.com/admin/cron/crontest1/ the result is a page showing CronTest1 and the logs show: ……/dwr/call/plaincall/AdminIntf.crontest1.dwr 200 …blah,blah I 2015-06-28 21:10:18.026 org.directwebremoting.util.CommonsLoggingOutput info: Exec: AdminIntf.crontest1() W 2015-06-28 21:10:18.064 com.strongbrain.admin.AdminIntf crontest1: ## crontest1() : 2015-06-29 03:10:18 UTC The url action returns 200, but, as noted at top, cron doesn’t successfully run this. Clearly I’m missing something essential, but I can’t see what. Any help will definitely be appreciated. Thanks in advance, Ken Bowen -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/3OjCkOL2jhI/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/e49bc100-aeda-475c-94d4-0dc9b3ef94b8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google
[google-appengine] Problem running a cron job
I have a simple test cron job which does not succeed in running on GAE. The target url runs correctly when invoked from a browser (when I’m logged in as admin), but cron is not successfully running the job. The GAE Cron Jobs page shows: /admin/cron/crontest1every 2 hours (America/New_York) Initial simple test2015/06/28 23:18:03 2 secs late Failed Here’s the cron.xml: ?xml version=1.0 encoding=UTF-8? cronentries cron descriptionInitial simple test/description timezoneAmerica/New_York/timezone url/admin/cron/crontest1//url scheduleevery 2 hours/schedule /cron /cronentries In web.xml, the url-pattern/admin/*/url-pattern gets the security-constraint: auth-constraint role-nameadmin/role-name /auth-constraint The target url /admin/cron/crontest1/ assembles a very simple jsp page equivalent to: head script type='text/javascript' src='/admin/cron/crontest1/crontest1.js'/script script $(document).ready(function() { crontest1init(); }); /script /head body h1CronTest1/h1 /body where crontest1.js is just: function crontest1init() { AdminIntf.crontest1(); } And AdminIntf.crontest1() is just a DWR (Direct Web Remoting) call to this: public static void crontest1(){ final DateTimeFormatter fmt = Constants.YMDHMS_DATETIME_FORMATTER; String now = fmt.print(System.currentTimeMillis()); logger.warn(## crontest1() : + now); } When I am logged in as admin and issue the url http://[my.project].appspot.com/admin/cron/crontest1/ the result is a page showing CronTest1 and the logs show: ……/dwr/call/plaincall/AdminIntf.crontest1.dwr 200 …blah,blah I 2015-06-28 21:10:18.026 org.directwebremoting.util.CommonsLoggingOutput info: Exec: AdminIntf.crontest1() W 2015-06-28 21:10:18.064 com.strongbrain.admin.AdminIntf crontest1: ## crontest1() : 2015-06-29 03:10:18 UTC The url action returns 200, but, as noted at top, cron doesn’t successfully run this. Clearly I’m missing something essential, but I can’t see what. Any help will definitely be appreciated. Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/87dee568-8d13-4700-9418-a38755f4a086%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] How to setup a GAE managed VM
I have a moderate-sized AppEngine java app running in the classic GAE sandbox. It makes a few calls out to non-GAE systems to perform processing that can't be done in the sandbox (e.g., calls involving AWT). Now I'd like to explore running it as a single module on a GAE managed VM over Linux, changing those external calls to local, but still using the DataStore. My problem is that I'm confused as to how to set up a GAE managed VM. When I go to my Developers Console (console.developers.google.com/project) and click Create Project, I don't see any options for a GAE managed VM. Can anyone point me in the right direction to get started? Thanks, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/f5b05383-6a46-4556-84dd-e1c0dfb83163%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [google-appengine] Issue with Cloud Storage GCS API on local Development Server
Gary, Are you using namespaces and running your code in a non-default namespace? That was my problem (see the very end of my original post.) My revised code for 11/21 runs in the default namespace -- that's why it worked. Ken On Dec 20, 2013, at 12:33 PM, Gary Mort wrote: On Tuesday, November 19, 2013 3:57:09 PM UTC-5, k...@form-runner.com wrote: I've encountered a problem using the Google Cloud Storage GCS Client API, running on the local development server. I'm trying to write the bytes from a PDF file, and then read them back. The code appears to write the (local fake)GCS file ok: (1) There appears to be an appropriate entry in the Development Console, and (2) there's a physical file in ~war/WEB-APP/appengine-generated (details below). However, when I attempt to read the bytes from the GCS file, it throws a FileNotFound exception when it attempts to get the metadata (filesize).\\ I have the same problem with 1.8.8 using PHP. I can go to http://localhost:8000 and see that there are a bunch of datastore items being created from the PHP calls to save data to a file[and I can even see that the filenames in datastore match the ones that should have been created]. However, any subsequent attempts to stat those files results in a file not found error[ie check the filesize, check to see if the file exists, etc]. -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/TJ1d7wqZngo/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Google Cloud Storage: Real World - Bucket authorization
Hi Vinny, Thanks for the invite to your Google+ circle. I don't have a Google+ account right now, but I plan to set one up for myself and for my company in January when, hopefully, our business opens it's doors. You'll see me show up in your circle then. Cheers, Ken On Nov 24, 2013, at 5:39 PM, Vinny P wrote: On Sat, Nov 23, 2013 at 1:39 PM, Ken Bowen k...@form-runner.com wrote: Vinny, Thank you very much! That got me going. I especially appreciate the screen shot on imgur, because on my MacBook Pro, none of Chrome,FF,Safari showed the bottom portion of the page for adding unless I suppressed the Nav or Bookmarks bar, and there's no vertical scroll bar. No problem! Glad to hear everything's working for you. - -Vinny P Technology Media Advisor Chicago, IL App Engine Code Samples: http://www.learntogoogleit.com -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/D4ZwnBhj9yM/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Google Cloud Storage: Real World - Bucket authorization
Vinny, Thank you very much! That got me going. I especially appreciate the screen shot on imgur, because on my MacBook Pro, none of Chrome,FF,Safari showed the bottom portion of the page for adding unless I suppressed the Nav or Bookmarks bar, and there's no vertical scroll bar. Cheers, Ken Bowen On Nov 22, 2013, at 11:46 PM, Vinny P wrote: On Fri, Nov 22, 2013 at 8:57 PM, k...@form-runner.com wrote: I have a Google Cloud Console Account set up with billing enabled, have enabled the Google Cloud Storage API, and have created a bucket called my_bucket. But I'm not clear about how to provide my apps with authorization to access to my_bucket... I don't understand how to attach the ServerKey / APIKey to our library code to accomplish authorization. You don't need to attach any keys to your code. App Engine and Cloud Storage handle authentication for you. Log in to the cloud console, select the application you're using, then open up the Cloud Storage menu. Check the box next to the bucket you're using, then press the Bucket Permissions button. You'll see a screen similar to this: http://imgur.com/gadnQEF . All you need to do is insert (your application id) @ appspot . gserviceaccount . com (without spaces) as a privileged user on the bucket. From here, your application will have access to the bucket. Just open a channel to the bucket using the GCS library, and GAE will handle authenticating to the bucket. - -Vinny P Technology Media Advisor Chicago, IL App Engine Code Samples: http://www.learntogoogleit.com -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/D4ZwnBhj9yM/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Issue with Cloud Storage GCS API on local Development Server
: encoded_gs_key:L2dzL2Zvcm1ydW5uZXJidWNrZXQtcjd5aDIzbmIyL0ZBL01hc3RlckZvcm1TdG9yZS02NjQ5ODQ2MzI0Nzg5MjQ4 content_type: application/octet-stream filename: /gs/formrunnerbucket-r7yh23nb2/FA/MasterFormStore-6649846324789248 size: 1679407 [[The ID/Name appears to be identical to the filename appearing in ~war/WEB-APP/appengine-generated]] --- In the Development Console (http://localhost:/_ah/admin/datastore), in Namespace 5629499534213120 (where everything ran): In _ah_FakeCloudStorate_formrunnerbucket-r7yh23nb2: Key: ag5mb3JtcnVubmVyLWhyZHJZCxIwX2FoX0Zha2VDbG91ZFN0b3JhZ2VfX2Zvcm1ydW5uZXJidWNrZXQtcjd5aDIzbmIyIiNGQS9NYXN0ZXJGb3JtU3RvcmUtNjY0OTg0NjMyNDc4OTI0OAyiARA1NjI5NDk5NTM0MjEzMTIw ID/Name: FA/MasterFormStore-6649846324789248 options: Blob: 483 bytes --- Here's the exception thrown in readFromFile above, at: int fileSize = (int) gcsService.getMetadata(fullGcsFilename).getLength(); [*][Exception thrown here] java.lang.RuntimeException: java.io.FileNotFoundException at com.formrunner.pdf.PDFMaker.makePDFfromFormInstance(PDFMaker.java:132) . Caused by: java.io.FileNotFoundException at com.google.appengine.api.files.FileServiceImpl.translateException(FileServiceImpl.java:614) at com.google.appengine.api.files.FileServiceImpl.makeSyncCall(FileServiceImpl.java:593) at com.google.appengine.api.files.FileServiceImpl.stat(FileServiceImpl.java:383) at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.getObjectMetadata(LocalRawGcsService.java:215) at com.google.appengine.tools.cloudstorage.GcsServiceImpl$2.run(GcsServiceImpl.java:73) at com.google.appengine.tools.cloudstorage.GcsServiceImpl$2.run(GcsServiceImpl.java:70) at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:93) at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:138) at com.google.appengine.tools.cloudstorage.GcsServiceImpl.getMetadata(GcsServiceImpl.java:70) at com.formrunner.data.GoogleCloudStorage.readFromFile(GoogleCloudStorage.java:62) at com.formrunner.data.GoogleCloudStorage.getBytesAt(GoogleCloudStorage.java:55) at com.formrunner.db.MasterFormStore.getContent(MasterFormStore.java:92) at com.formrunner.forms.FormUtils.getFormBlob(FormUtils.java:314) at com.formrunner.pdf.PDFUtils.getPDFDocFromInstance(PDFUtils.java:50) at com.formrunner.pdf.PDFMaker.makePDFfromFormInstance(PDFMaker.java:75) It may be worth noting that the LocalExample from the GCS Client API runs fine, but does not leave any trace in the folder ~war/WEB-APP/appengine-generated nor in the Development Consolte (so far as I can find). I hope someone can point out to me where I'm stumbling. Thanks in advance, Ken Bowen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/TJ1d7wqZngo/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Issue with Cloud Storage GCS API on local Development Server
Indeed. FYI for anyone coming on this thread, below is running code (in the DevServer), invoked from a test page via DWR, and returning the String result to be displayed in an alert; the result is: startBytesSize = 1160921 bytesReadSize = 1160921 Code: public static String doGCSTest() throws IOException { String result = ; String testPDFFile = IRAD1-2.pdf; // a 1.2MB PDF file accessible as a resource String testPDFPath = samples/ + testPDFFile; byte[] startBytes = CaptureWARSamples.getBytesFromWARFile(testPDFPath); int startBytesSize = startBytes.length; result += startBytesSize = + startBytesSize; String BUCKETNAME = formrunnerbucket-r7yh23nb2; final GcsService gcsService = GcsServiceFactory.createGcsService(new RetryParams.Builder() .initialRetryDelayMillis(10) .retryMaxAttempts(10) .totalRetryPeriodMillis(15000) .build()) ; String gcsFilename = TEST-IRAD1-2pdf; GcsFilename fullGcsFilename = new GcsFilename(BUCKETNAME, gcsFilename); GcsOutputChannel outputChannel = gcsService.createOrReplace(fullGcsFilename, GcsFileOptions.getDefaultInstance()); outputChannel.write(ByteBuffer.wrap(startBytes)); outputChannel.close(); int fileSize = (int) gcsService.getMetadata(fullGcsFilename).getLength(); ByteBuffer byteBufferResult = ByteBuffer.allocate(fileSize); GcsInputChannel readChannel = gcsService.openReadChannel(fullGcsFilename, 0); try { readChannel.read(byteBufferResult); } finally { readChannel.close(); } byte[] bytesRead = byteBufferResult.array(); int bytesReadSize = bytesRead.length; result += \nbytesReadSize = + bytesReadSize; return result; } --Ken On Nov 21, 2013, at 7:05 PM, Tom Kaitchuck wrote: Correct. It does not have to be directly in the servlet. For example App Engine MapReduce: https://code.google.com/p/appengine-mapreduce/ uses the GCS client to write out data, but it is many levels removed from a servlet. On Thu, Nov 21, 2013 at 4:44 PM, Ken Bowen k...@form-runner.com wrote: Hi Tom, Re: you don't need to use the LocalServiceTestHelper Understood. I ran LocalExample once when I began, just to follow the documentation. The original description I posted is from a running app on the DevServer, no TestHelper involved. In fact, the test jars are not even in the project. After posting, I was reviewing LocalExample to make comparisons, and the phrase ...run locally as opposed to in a deployed servlet caught my eye. So I wrote a version of what I posted as a servlet (grabs a 1.2MB PDF out of a resource, stores it with the GCS library, retrieves it, and writes out the number of bytes it got). That works fine. If you say this doesn't /have/ to be directly in a servlet, I'll dig in further to my original. Cheers, --Ken On Nov 21, 2013, at 5:07 PM, Tom Kaitchuck wrote: I'm a bit confused by your statement. If you want to run in the DevAppserver or in AppEngine then you don't need to use the LocalServiceTestHelper at all. The LocalExample only does that as a demo of how to run it as a local executable or if you want to use it within Junit. If you don't include such a line, like in GcsExampleServlet then it should work as part of your deployed application. On Thu, Nov 21, 2013 at 3:41 PM, Ken Bowen k...@form-runner.com wrote: Thanks Tom. I went through pretty much the same servlet exercise a couple of hours before seeing your post this afternoon. The problem was that I missed the point the the docs that the code /must/ run in a servlet. (I'm not clear where it's stated, but I guessed from the comment about the test harness in LocalExample.) I assumed that it would be ok to run in a deployed app on AppEngine. Thanks again, --Ken On Nov 21, 2013, at 2:51 PM, Tom Kaitchuck wrote: Using the 1.8.8 version of the SDK and depending on appengine-gcs-client 0.3.3, the following servlet based on your above example works: public class GcsTest extends HttpServlet { private void writeToFile(GcsService gcsService, GcsFilename fullGcsFilename, byte[] content) throws IOException { System.out.println(writeToFile:full= + fullGcsFilename.toString()); GcsOutputChannel outputChannel = gcsService.createOrReplace(fullGcsFilename, GcsFileOptions.getDefaultInstance()); outputChannel.write(ByteBuffer.wrap(content)); outputChannel.close(); } private byte[] readFromFile(GcsService gcsService, GcsFilename fullGcsFilename) throws IOException { System.out.println(readFromFile:full
Re: [google-appengine] Adding a single subdomain -- almost but not quite
At a somewhat different appengine address. On Aug 28, 2013, at 1:45 PM, Barry Hunter wrote: https://appengine.google.com/a/form-runner.com/ -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Adding a single subdomain -- almost but not quite
After posting, I discovered http://support.google.com/a/bin/answer.py?hl=enanswer=182081 which seems to say that what I want is not permitted. Sorry for using the bandwidth. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] Wildcard subdomain mapping for custom domains
Yes, my regular domain (foo.com) is installed/registered in our Google Apps account, and browsing to foo.com properly invokes myapp.appspot.com -- sorry, I should have mentioned that. One question before I go forward with your instructions for wildcarding: I really only have a fixed number of subdomains (aa, bb, cc) that I want to handle, mapping aa.foo.com, bb.foo.com, etc. to aa.myapp.appspot.com, bb.myapp.appspot.com, etc. Instead of installing a *, is it possible to install the individual subdomains only? Thanks much, --Ken On Aug 26, 2013, at 9:55 PM, Vinny P wrote: On Mon, Aug 26, 2013 at 12:51 PM, k...@form-runner.com wrote: I would like to be able to map subdomains as described However, I don't find a way of doing that on the new interface for Google Apps. When I login as Admin on our Google Apps account, and go to https://admin.google.com/AdminHome#Domains: --then click Add a domain or a domain alias --click Add another domain --enter * in the text field --click Continue and verify domain ownership I get the error message: These characters are not allowed: * What am I missing? Is it still possible to perform wildcard subdomain mapping for custom domains as described in top link above? You can do it, but you're going through the wrong path. First of all, is your regular domain served via Google Apps? So for example, if the subdomain you wanted to serve was subdomain.example.com, is your example.com domain registered with Google Apps? If not, you'll need to sign up for an Apps accounts using your domain name. Secondly, to associate the subdomain, you need to go to (from your app) Application Settings Domain Setup click the Add Domain button. You'll see a textbox for the domain to add. Put in your domain, NOT a asterisk. On the next page you'll see options for putting in a subdomain, put an asterisk in the next box presented. - -Vinny P Technology Media Advisor Chicago, IL App Engine Code Samples: http://www.learntogoogleit.com -- You received this message because you are subscribed to a topic in the Google Groups Google App Engine group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/9eWg8-J9taA/unsubscribe. To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
[google-appengine] RE: GAE BILLING IS SERIOUSLY MESSED UP
I also got couldn't process a payment with your Visa…...for $0.02 on Aug 4, 2013. It's a Citicard that has been on the GAE account for many months (and the card has be in continual use for over 10 years). I only got the email yesterday (8/15). I called Citibank. They checked and stated that the charge was presented on Aug 3, and that it was approved, and there were no presentations or transactions showing on the 4th. I managed to fix it by going to Billing Billing Settings, and clicking the Edit next to the Primary (and only form of payment), then clicking OK, and then clicking Activate this … (or whatever it actually said.) In 5-10 minutes, the Billing Settings and Billing Status pages looked correct, and I was able to make a manual payment (for 0.03) which showed on Billing Transactions. So I got over it. But this is NOT that way an organization which claims to be world-class should treat it's customers. I can't prove it, but I believe that my setup for running our GAE app off a custom domain was broken by this. But I'll post that separately. --Ken -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
[appengine-java] Re: You do not have permission to modify this app
Duh! Didn't realize I was incorrectly logged in to the Eclipse plugin. Sorry for the clutter. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] You do not have permission to modify this app
I've got a problem trying to upload to a newly created application named 'wnaccess' in the applications for applied-logic-systems.com; I'm in the role of application Owner. Based on some searches, I ensured that the file .appcfg_cookies is not present in my home directory. I also ensured that: Google Apps Manager Dashboard login was successful as ken.bo...@applied-logic-systems.com Google App Engine My Applications login was successful as ken.bo...@applied-logic-systems.com at https://appengine.google.com/a/applied-logic-systems.com I'm currently running SDK version 1.5.0 in the Eclipse plugin. With the two logins above currently active in different browser tabs, I attempted to upload to the new application 'wnaccess' for the first time. The result on the console was this: Created staging directory at: '/var/folders/EM/EMFo-6hIHsqSzUcUq--t1E++ +TI/-Tmp-/appcfg1791187681661511906.tmp' Scanning for jsp files. Scanning files on local disk. Scanned 250 files. Scanned 500 files. Initiating update. java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=wnaccessversion=1; 403 Forbidden You do not have permission to modify this app (app_id=u'wnaccess'). Note that it did not ask me for an email or password. I've worked on GAE applications for another company for a couple of years, and I can't see what I'm doing differently here. Can anyone help me figure out what is going wrong here or what my mistake is? Thanks in advance, Ken -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.