Google Application Engine Google App Engine GAE
Compatible Spring EntityManager Injector#
Google Application Engine/PersistenceAnnotationBeanPostProcessor.java<bean class="com.intersult.jsf2.PersistenceAnnotationBeanPostProcessor"/>
Test für lokalen Datastore#
public class ObjectifyTest { private static LocalServiceTestHelper helper; @BeforeClass public static void setupClass() { LocalDatastoreServiceTestConfig config = new LocalDatastoreServiceTestConfig(); helper = new LocalServiceTestHelper(config); ObjectifyService.register(User.class); } @Before public void setUp() { helper.setUp(); } @After public void tearDown() { helper.tearDown(); } @Test public void test() { Objectify objectify = ObjectifyService.begin(); User user = objectify.find(User.class, 1); }
Eclipse GAE Plugin mit Maven#
- GAE Plugin in Eclipse installieren
- GAE Runtime Installieren
- GAE Runtime in Preferences -> Google -> App Engine eintragen
- Im importierten Maven Projekt GAE Support anschalten
- WAR-Dir ist src/main/webapp
- Class Output Folder ist target/classes
- App Engine ist die installierte GAE, nicht die Maven Library
- In Preferences -> Build Path -> Order and Export die Maven Dependencies ganz nach unten. (Sonst versucht das GAE Plugin die Maven GAE-Runtime JAR als Runtime Home zu benutzen.)
Um die Libs zur Verfügung zu stellen, wird das maven-war-plugin auf exploded umgestellt:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webResources> <resource> <directory>src/main/webapp</directory> <filtering>true</filtering> <includes> <include>**/appengine-web.xml</include> </includes> </resource> </webResources> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>exploded</goal> </goals> </execution> </executions> </plugin>