[appengine-java] May I use AppEngine SDK internally without deploy to Google AppEngine?

2010-12-20 Thread Trung
For some reasons, I would like to run our GAE apps internally (with
some custom hooks instead of re-writing the app).

May I do that?

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: May I use AppEngine SDK internally without deploy to Google AppEngine?

2010-12-20 Thread Trung
Appscale is promising.


On Dec 21, 3:09 am, A. Stevko andy.ste...@gmail.com wrote:
 Trung,
 The dev server is not the only way to run app engine locally.
 Take a look at these projects to see if they can meet your 
 needs...http://code.google.com/p/appscale/
 http://code.google.com/p/appscale/http://code.google.com/p/typhoonae/
 http://code.google.com/p/typhoonae/

 On Mon, Dec 20, 2010 at 11:54 AM, Ikai Lan (Google) 



 ikai.l+gro...@google.com ikai.l%2bgro...@google.com wrote:
  You sure can, but you should be aware of many of the limitations of the
  development server:

  - it's slow
  - the datastore can be wiped on upgrade (this is an ugly bug that pops it
  head up now and then)
  - it's single threaded
  - no real accounts support
  - ... many, many more limitations

  --
  Ikai Lan
  Developer Programs Engineer, Google App Engine
  Blogger:http://googleappengine.blogspot.com
  Reddit:http://www.reddit.com/r/appengine
  Twitter:http://twitter.com/app_engine

  On Mon, Dec 20, 2010 at 7:13 AM, Trung gwtdevelo...@gmail.com wrote:

  For some reasons, I would like to run our GAE apps internally (with
  some custom hooks instead of re-writing the app).

  May I do that?

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

   --
  You received this message because you are subscribed to the Google Groups
  Google App Engine for Java group.
  To post to this group, send email to
  google-appengine-j...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B 
  unsubscr...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
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: What is the best option for RPC (web services) on App engine?

2010-06-11 Thread Trung
http://code.google.com/p/gwt-syncproxy/ may be suitable for your
needs.



On Jun 10, 11:13 pm, dilbert dilbert.elbo...@gmail.com wrote:
 First I'd like to explain what I mean by RPC. I'd like to be able to
 write interfaces like this (simple Java interface):

 public interface EchoService {
   String echo(String message);

 }

 The framework would allow the creation of client classes that would
 handle the serialization from/to the RPC service. Of course the
 framework should support the serialization of ArrayLists, HashMaps and
 other collections and should also support the serialization of objects
 marked with the java.io.Serializable interface (or some other
 interface).
 We would create the RPC Client this way:

 EchoService echoService =
 RpcClientFactory.createInstance(EchoService.class,http://bla.com/
 smartApp/echo);

 And of course use it this way:

 String echoMessage = echoService.echo(The message !!!);

 The server side servlet would implement the previously mentioned
 interface.
 public class Service extends WhateverServlet implements EchoService {
     @Override
     String echo(String message) {
         return server sends: + message;
     }

 }

 A few additional nice features to have would be:
 -support for asynchronous calls (where the developer would provide a
 callback for handling the result, similar to GWT RPC)
 -the developers should be able to access the RPC client somehow to be
 able to handle Cookies or other http headers.
 -the client side should be usable from Android.

 After a long search I have found that the framework that most closely
 matches these requirements is Hessian (http://hessian.caucho.com/). It
 uses a binary protocol so it should be very fast and it works on
 Android. AFAIK it does not support async calls. However, not all is
 well. The current Hessian implementation does not handle exceptions
 well. It throws a SecurityException like this:

 java.lang.SecurityException: java.lang.IllegalAccessException:
 Reflection is not allowed on private java.lang.Throwable
 java.lang.Throwable.cause

 I considered GWT RPC for a while but it does not have a proper Java
 client or I could not find one. So I wanted to ask is there any other
 library that could be used in this case? Could the App engine team
 write such a library and add it to the SDK. Any suggestions?

-- 
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] Simple Put, get operations in transaction

2010-06-06 Thread Trung
I have a simple test as below

public class TestDS extends TestCase{
private final LocalServiceTestHelper helper =
  new LocalServiceTestHelper(new
LocalDatastoreServiceTestConfig());

  @Before
  public void setUp() {
helper.setUp();
  }

  @After
  public void tearDown() throws Exception{
Thread.sleep(100);

helper.tearDown();
  }

  public void testWithoutTransaction() throws Exception{
DatastoreService ds =
DatastoreServiceFactory.getDatastoreService();
doTest(ds, null);
  }

  public void testWithTransaction() throws Exception{
DatastoreService ds =
DatastoreServiceFactory.getDatastoreService();
Transaction txn = ds.beginTransaction();
doTest(ds, txn);
txn.commit();
  }

  public void doTest(DatastoreService ds, Transaction txn) throws
Exception{
Key parentKey = KeyFactory.createKey(parent, default);

Entity entity = new Entity(Entity01, parentKey);
entity.setProperty(prop01, Property 01);
Key key = ds.put(txn, entity);

Entity entity2 = ds.get(txn, key);
System.out.println(entity2.getProperty(prop01));
  }
}

For the test testWithoutTransaction, it run successful.

However, the test testWithTransaction, exception
EntityNotFoundException is raised at line
Entity entity2 = ds.get(txn, key);

Why we can not get the entity we just put into datastore within a
transaction?
Please help.

Thanks in advance.

-- 
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] Appstats make request to API call memcache.Set() was too large

2010-04-09 Thread Trung
I tried to use Appstats.

However, Appstats uses and shows a lot of raw (low level) data.
Sometime memcache API throws exception as below:

com.google.appengine.api.memcache.LogAndContinueErrorHandler
handleServiceError: Service error in memcache
com.google.appengine.api.memcache.MemcacheServiceException: Memcache
put: Unknown exception setting 2 keys
at
com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall(MemcacheServiceImpl.java:
183)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
420)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
459)
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 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)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
238)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
135)
at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
243)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5485)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5483)
at
com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:
24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
398)
at com.google.net.rpc.impl.Server$2.run(Server.java:852)
at
com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
56)
at
com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:
536)
at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
at
com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
442)
at
com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
319)
at
com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
290)
at com.google.net.async.Connection.handleReadEvent(Connection.java:
474)
at
com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
831)
at
com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
207)
at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
103)
at
com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
251)
at com.google.apphosting.runtime.JavaRuntime
$RpcRunnable.run(JavaRuntime.java:404)
at java.lang.Thread.run(Unknown Source)
Caused by: com.google.apphosting.api.ApiProxy
$RequestTooLargeException: The request to API call memcache.Set() was
too large.
at com.google.apphosting.runtime.ApiProxyImpl
$AsyncApiFuture.rpcFinished(ApiProxyImpl.java:263)
at com.google.net.rpc.RpcStub$RpcCallbackDispatcher

[appengine-java] Re: ANN: Firefox add-on for tracking GAE estimated cost

2010-04-07 Thread Trung
Great!!!


On Apr 7, 5:00 pm, radomir radomi...@gmail.com wrote:
 Hi,

 I made a Firefox extension that collects estimated cost from App
 Engine response headers and shows the total in the Firefox status bar.
 If anyone's interested, the add-on can be downloaded 
 from:http://radomirml.com/2010/04/06/track-appengine-estimated-cost-with-f...

 Radomir

-- 
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: Discussion on will-it-play-in-app-engine

2010-04-01 Thread Trung
I tried myfaces 2.0.0 beta 3 successfully.

All you need is myfaces jars, EL implementation jars (I used EL jars
from Tomcat) and a context parameter
  context-param
param-
nameorg.apache.myfaces.config.annotation.LifecycleProvider/param-
name
param-
valueorg.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider/
param-value
  /context-param

I am not sure NoInjectionAnnotationLifecycleProvider is suitable for
you.

Hope this help.
http://www.gdevelop.com/w/blog/2010/04/01/myfaces-2-0-on-gae/


On Mar 31, 3:01 pm, Haroon Idrees haroo...@gmail.com wrote:
 Please Help
 I want to test JSF 2.0 over google Appengine ,I followed all
 instruction given 
 athttps://sites.google.com/a/wildstartech.com/adventures-in-java/Java-P...

 But still getting this error

 java.lang.NoClassDefFoundError: javax.naming.InitialContext is a
 restricted class. Please see the Google  App Engine developer's guide
 for

 This change is only using 1.3.2 latest  sdk on ubuntu

-- 
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: Class XXX has multiple relationship fields of type YYYY

2010-03-28 Thread Trung
Hi GAE team,

Any workarounds for this issue?

Thanks


On Feb 14, 8:55 am, Payam pmoghad...@gmail.com wrote:
 The problem is still not solved.
 Although you can persist an object with multiple relations of the
 same type. When you actually query the object, the retrieved object
 has duplicates for the multiple relations.
 As in, if I were to persist instances A, B inside C. When I query for
 C, both objects retrieved will be A. There will be no B.

 This is a serious bug!

 On Jan 26, 4:54 pm, oth other...@gmail.com wrote:

  Michael,

  In your jdoconfig.xml file add this entry:

  property
  name=datanucleus.appengine.allowMultipleRelationsOfSameType
  value=true/

  Thanks

  On Jan 26, 3:12 pm, Michael Shtelma mshte...@gmail.com wrote:

   Hi all,

   I am also experiencing this problem on GAE 1.3.0.
   Using multipleRelationsOfSameTypeAreErrors helps not in all cases,
   when I am trying to read such entities I get mentioned exception.
   Are the any solution for the 1.3.0 ?

   Thanks,
   Michael

   On Jan 21, 9:20 am, cowper iamco...@gmail.com wrote:

Hi,
  I have a similar issue with 1.3.0 however it arises when the types
are the same and not related to inheritance of any type.

The work around suggested doesn't seem to work. Is the workaround
valid for 1.3.0?

thx,

Conor

On Dec 4 2009, 9:52 pm, Max Ross (Google) maxr

+appeng...@google.com wrote:
 SDK 1.2.8 contains a new check that detects if one of your JDO or JPA 
 model
 objects has two relationship fields of the same type.  For example:

 class A {
   ListB bList;
   ListB anotherBList;

 }

 Unfortunately I was a little too aggressive with this check, so the
 following also run afoul of the check:

 abstract class B {}

 class C extends B {}
 class D extends B {}

 class A {
   ListC cList:
   ListD dList;

 }

 If you get an exception that says

 Class XXX has multiple relationship fields of type .  This is not 
 yet
 supported.

 and your class hierarchy resembles the one above, you can disable 
 this check
 by with the following config property:

 property 
 name=datanucleus.appengine.multipleRelationsOfSameTypeAreErrors
 value=true/

 We'll get this fixed shortly.

 Sorry for the trouble,
 Max

-- 
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] Is there any lib (UI front-end and servlet backend) for editing datastore?

2010-03-24 Thread Trung
Hi,

Is there any lib for editing datastore? Similar to Datastore Viewer
with some additional features.

Editing means:
+ New entity: create a empty entity
+ Delete existing entity
+ Add a property to entity
+ Remove a property from entity
+ Change a property's value

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] How to list all entity kinds programmatically?

2010-03-24 Thread Trung
Hi,

I'd like to know whether a Java program can know the list of entity
KIND currently in the datastore.

Thanks in advance.

-- 
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 best run GWTTestCase tests that involve persistence?

2010-03-14 Thread Trung
Hi,

1. I think the proper way is separating the test from
QuestionServiceImpl.

2. For testing QuestionServiceImpl, you should run two separate parts:
server side and client side.
a) In your case, there are no special in the server side.
b) In the client side, you can use GWTTestcase. Your test logic is on
the client side.
However, testing with GWTTestcase are slow. SyncProxy can be used on
the client side to invoke your remote service.
See http://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/
and 
http://www.gdevelop.com/w/blog/2010/03/13/invoke-gwt-rpc-services-deployed-on-google-app-engine/
for how to use SyncProxy.



On Mar 14, 8:34 pm, Christian Schuhegger
christian.schuheg...@gmail.com wrote:
 Hello,

 I am doing experiments with a simple service QuestionService and I
 have a GWTTestCase that calls the QuestionService. All works fine, but
 my problem is that in the QuestionServiceImpl constructor I have to
 use the LocalServiceTestHelper helper infrastructure in order to make
 the whole test case work.

 My problem is now that I have to introduce dependencies in my
 QuestionServiceImpl on the appengine-testing jar in order to make my
 GWTTestCase work! My initial tries were to use the
 LocalServiceTestHelper directly in the gwtSetUp and gwtTearDown
 methods of the GWTTestCase but that does of course not work, because
 those classes are not compatible with the GWT (they obviously cannot
 and should not be compiled to java script).

 Is there any good way around this that I have to introduce a
 dependency on the appengine-testing infrastructure in my service
 implementation? Can I somehow detect that I am running in a
 GWTTestCase, then I could at least create a if-then-else block that
 only instantiates the helper in test mode.

 Many thanks for any recommendations!

 @RemoteServiceRelativePath(question)
 public interface QuestionService extends RemoteService {
         public QuestionDefinition createQuestionDefinition(String question);
         public void deleteQuestionDefinition(QuestionDefinition qd);
         public QuestionDefinition findQuestionDefinitionById(String key);

 }

 public class QuestionServiceImpl extends RemoteServiceServlet
 implements QuestionService {

         private final LocalServiceTestHelper helper = new
 LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());

         public QuestionServiceImpl() {
                 super();
                 helper.setUp();
         }

         public QuestionDefinition createQuestionDefinition(String question) {
                 PersistenceManager pm = PMF.get().getPersistenceManager();
                 QuestionDefinition qd = new QuestionDefinition(question);
                 try {
                         pm.makePersistent(qd);
                 } finally {
                         pm.close();
                 }
                 return qd;
         }
   ...

 }

 public class GwtTestQuestionService extends GWTTestCase {

         @Override
         public String getModuleName() {
                 return questionservice;
         }

         public void testQuestionServiceCreate() {
                 QuestionServiceAsync questionService =
 GWT.create(QuestionService.class);

                 String question = Are you happy?;

                 questionService.createQuestionDefinition(question,
                                 new AsyncCallbackQuestionDefinition() {
                                         public void onFailure(Throwable 
 caught) {
                                                 Assert.fail();
                                                 finishTest();
                                         }

                                         public void 
 onSuccess(QuestionDefinition result) {
                                                 Assert.assertNotNull(result);
                                                 finishTest();
                                         }
                                 });
         delayTestFinish(5000);
         }

 }

-- 
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] New blog post: Invoke GWT RPC services deployed on Google App Engine

2010-03-13 Thread Trung
A new post 
http://www.gdevelop.com/w/blog/2010/03/13/invoke-gwt-rpc-services-deployed-on-google-app-engine/
shows how to invoke GWT RPC services deployed on Google App Engine
from Java client.

Shorten url http://goo.gl/fb/n99D

Any feedback can be left on my blog, thanks.

Trung

-- 
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: JDO - GWT - JUNIT testing examples

2010-01-31 Thread Trung
The SyncProxy can be used for this purpose.

See http://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/
for details

Hope this help,
Trung
http://www.gdevelop.com/


On Jan 26, 10:19 pm, aswath satrasala aswath.satras...@gmail.com
wrote:
 Hi,
 I am using GWT and JDO to write a simple create and list Employee
 application.  I got this working using TransferObjects .
 How to test the GWT asysnc calls with local datastore using Junit.

 -Aswath

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] What Java MVC framework do you use on AppEngine?

2009-12-22 Thread Trung Pham
Coming from Ruby on Rails background, I have tried to run Rails on  
Jruby on AppEngine. While it works, but it has ridiculous startup  
time. Well over 20 seconds to spin up an instance, and sometimes it  
even hits the 30 seconds limit.

Anyway, out of curiosity, what is the equivalent MVC framework in the  
Java world that works like Rails? Preferable native Java, not  
something like Grails on Groovy. Is it even possible to have a MVC  
framework on AppEngine that takes no more than 1 second to spin up?

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: Error 500 - Loading data to memory during startup

2009-10-23 Thread trung

Yeah,
AppEngine drops your request after 30 seconds.

My app takes 20 seconds to initialize in development, and half of the
times it will finish loading within 30 seconds. Other times it goes
pass 30 seconds and gets the same 500 error like yours.

Google needs to make an exception for the initial cold boot timeout.

On Oct 18, 1:57 pm, Joe Prasanna kumar joebi.m...@gmail.com wrote:
 Hi,
 I am working with my friend to build an app (hoogentia.appspot.com) which
 requires loading some learned model files to memory. I have a startup
 servlet that does this (loading model files to memory). Since it needs more
 mem, I run this app in dev mode with memory setting of -Xms1024m -Xmx2048m. I
 dont have any issues in development but when i deploy it to app engine and
 access my application, the startup servlet is invoked and it comes up with
 an Error 500. I am not getting any useful info from the logs. I am assuming
 the issue is with jvm settings for app engine in production. I looked at
 this thread 
 (http://groups.google.com/group/google-appengine-java/browse_thread/th...)
 and modified appcfg.sh to
 java -Xmx2000m -cp $SDK_LIB/appengine-tools-api.jar \
     com.google.appengine.tools.admin.AppCfg $* 

 After doing an update, I still get the 500 Error.
 In dev mode, it takes like 80 seconds for the model to get loaded in memory.

 Any thoughts / help / suggestions greatly appreciated,
 thanks
 Joe.
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---