2010-01-02 14 views
8

Gibt es eine Möglichkeit, programmgesteuert zur Laufzeit anzugeben, ob eine Google App Engine-Anwendung lokal oder gehostet ausgeführt wird? Ich bin auf der Suche nach einer Möglichkeit, einige benutzerdefinierte Stub-Code aufzurufen, wenn Sie in einer lokalen Entwicklungsumgebung ausgeführt werden und verschiedene Aufrufe ausführen, wenn Sie gehostet ausführen.AppEngine für Java-Umgebung programmgesteuert festlegen

Antwort

18

Sie können com.google.appengine.api.utils.SystemProperty in AppEngine 1.3 verwenden.

import com.google.appengine.api.utils.SystemProperty; 
import static com.google.appengine.api.utils.SystemProperty.environment; 
import static com.google.appengine.api.utils.SystemProperty.Environment.Value.Development; 
import static com.google.appengine.api.utils.SystemProperty.Environment.Value.Production; 

SystemProperty.Environment.Value env = environment.value(); 
if (env == Production) { 
     //prod only code 
     ... 
} else if(env == Development) { 
     //dev only code 
     ... 
} 
0

Für die neueren flex Variante AppEngine, fragen Sie ein env-var, die Google setzt:

String gaeAppId = System.getenv("GCLOUD_PROJECT")); 
// gaeAppId contains either the name of app/project, or null (not running on App Engine) 
Verwandte Themen