2013-04-17 36 views
1

我試圖讓高複製的工作與我的應用程序,但我得到這個錯誤:啓用高複製數據存儲 - Maven的GWT + GAE

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順便說一句。

任何人都知道如何解決這個問題?

回答

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> 

我的POM的這部分爲我工作!我用<extraJvmArgs>代替<jvmFlag>