使用App Engine在本地计算机上自定义数据存储位置

tom*_*ozb 9 java google-app-engine android

我正在Android Studio中开发App Engine应用程序并在我的本地计算机上测试它(使用本地数据存储区).它是基于Java的应用程序.每次重新运行服务器时,都会清除本地数据存储.我为Python开发人员找到了几个解决方案,但看起来Java没有答案.

Android Studio只允许更改:

  • 战争路径
  • VM Args
  • 服务器地址
  • 服务器端口

我尝试过使用VM args,但这些适用于Java VM而不是app服务器.有没有办法在服务器重启后保持本地数据存储?这将是完美的如果我可以直接从Android Studio运行此配置.

Arj*_*els 17

本地数据存储区被清除,因为它默认位于应用程序爆炸的war目录中(在每次构建时都会完全删除).

您可以实际上只是将一个VM arg添加到appengine运行配置中,以便在另一个位置定位数据存储区,而不必从终端手动运行开发服务器:

-Ddatastore.backing_store="/path/to/datastore/file/location/local_db.bin"
Run Code Online (Sandbox Code Playgroud)

(解决方案见:https://code.google.com/p/android/issues/detail?id = 68225)

  • 该问题因年龄原因而关闭.根据指示,我已在此处重新提交:https://code.google.com/p/android/issues/detail?id = 172421 (2认同)

mab*_*abg 8

像Arjan说的那样,你可以使用-Ddatastore.backing_store.

如果您使用的是Android Studio 1.5,请进行修改build.gradle.在appengine把paramater jvmFlags.例:

 appengine {
  downloadSdk = true
  appcfg {
    oauth2 = true
  }
  jvmFlags = ["-Ddatastore.backing_store=\"D:/temp/local_db.bin\""]
}
Run Code Online (Sandbox Code Playgroud)