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>

