Включить хранилище данных с высокой репликацией - Maven GWT + GAE
Я пытаюсь заставить High Replication работать с моим приложением, но я получаю эту ошибку:
java.lang.IllegalArgumentException: transactions on multiple entity groups only allowed in High Replication applications
Вероятно, что мои плагины Maven не получают правильную конфигурацию (jvmFlag
):
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${gaeVersion}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwtVersion}</version>
<executions>
<execution>
<!-- gwt:compile happens just before package phase -->
<phase>prepare-package</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<modules>
<module>org.jboss.errai.ui.demo.App</module>
</modules>
<runTarget>index.html</runTarget>
<appEngineVersion>${gaeVersion}</appEngineVersion>
<!-- tell the gwt plugin that the webapp source resides in src/main/webapp -->
<webappDirectory>${webappDirectory}</webappDirectory>
<!-- tell the gwt plugin that dev mode should be run using the webapp that resides in target/${webappDirectory} -->
<hostedWebapp>${webappDirectory}</hostedWebapp>
<!-- Normally the gwt maven plugin executes dev mode using a builtin jetty server.
This config property instructs the gwt maven plugin to execute dev mode using the
jetty server supplied by the appengine sdk. -->
<server>com.google.appengine.tools.development.gwt.AppEngineLauncher</server>
<jvmFlags>
<jvmFlag>-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20</jvmFlag>
</jvmFlags>
</configuration>
</plugin>
Я запускаю свое приложение с этой командой mvn gwt:run
он работает нормально, он может правильно обращаться к хранилищу данных только при Transaction
Я получаю эту ошибку. Я уже добавил jvmFlag, но все же кажется, что он не запускает хранилище данных с высокой репликацией.
Я использую GAE SDK версии 1.7.5 BTW.
Кто-нибудь знает, как это исправить?
1 ответ
Решение
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<server>com.google.appengine.tools.development.gwt.AppEngineLauncher</server>
<appEngineVersion>1.8.0</appEngineVersion>
<runTarget>test.html</runTarget>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<extraJvmArgs>-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20</extraJvmArgs>
</configuration>
</plugin>
Эта часть моего ПОМ работает на меня! я использовал <extraJvmArgs>
вместо <jvmFlag>