4

最新の Java SDK 1.7.4 と次のコマンドを使用して開発サーバーを起動しています。

%java.home%\bin\java -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20 -cp "%~dp0\..\lib\appengine-tools-api.jar" ^
    com.google.appengine.tools.KickStart ^
       com.google.appengine.tools.development.DevAppServerMain %*

( https://developers.google.com/appengine/docs/java/tools/devserver#Using_the_Datastoreのように「datastore.default_high_rep_job_policy_unapplied_job_pct=20」)

それでも、ログは Datastore への最初のリクエストで次のように述べています。

INFO: Local Datastore initialized:
        Type: Master/Slave

次に、例外が発生します。

31.01.2013 19:16:02 org.datanucleus.transaction.Transaction rollback
SEVERE: Operation rollback failed on resource: org.datanucleus.store.appengine.DatastoreXAResource@404eb2, error code UNKNOWN and transaction: [DataNucleus Transaction, ID=Xid=    , enlisted resources=[org.datanucleus.store.appengine.DatastoreXAResource@404eb2]]
31.01.2013 19:16:02 com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /themepark/post
java.lang.IllegalArgumentException: transactions on multiple entity groups only allowed in High Replication applications

\META-INF\jdoconfig.xmlグループ間 (XG) トランザクションを有効にするために、次の行があります。

<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
<property name="datanucleus.appengine.datastoreEnableXGTransactions" value="true"/>

dev_appserver.cmd高レプリケーション データストアをエミュレートするにはどうすればよいですか?

4

1 に答える 1

2

アップデート:

提供されている dev_appserver.cmd を使用して引数を渡し、次のようにコードを実行します。

dev_appserver --jvm_flag=-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20 <path_to_war_dir>

--jvm_flag=-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20必要に応じて、ファイルの最後に含めることができdev_appserver.cmdます (の直前%*)

年:

コマンドラインに次を追加します。

-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20

これは、ここで取り上げる最初のものの 1 つです (および使用できる他の方法も同様です): https://developers.google.com/appengine/docs/java/tools/devserver#Using_the_Datastore

于 2013-02-01T16:47:46.907 に答える