java - Google App Engine 数据存储区中的命名空间

标签 java google-app-engine

由于我的应用程序的性质,我需要为数据存储区“命名空间”。

这是我在文档中看到的代码:

// Set the namepace temporarily to "abc"
String oldNamespace = NamespaceManager.get();
NamespaceManager.set("abc");
try {
  ... perform operation using current namespace ...
} finally {
  NamespaceManager.set(oldNamespace);
}

但是,我不确定必须先将命名空间设置为 XML 的位置,然后才能使用它,或者可以在代码中动态创建命名空间?

我还看到 MemcacheService有一个setNamespace方法(尽管已弃用); DatastoreService怎么样?有没有办法为我们从 DatastoreServiceFactory 获得的给定服务实例命名空间?工厂,所以我们不必用我们的代码来回设置 namespace ?

最佳答案

您不必声明命名空间即可使用它们。如果您想创建 Multi-Tenancy 应用程序,那么命名空间是完美的选择。基本上,您只需在请求开始时一次设置命名空间即可。该命名空间设置会自动应用于该请求期间的所有 API 调用。仅当访问所有租户共享的数据时才需要按照文档中所示的方式来回切换。

关于java - Google App Engine 数据存储区中的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16166969/

相关文章:

java - 定义 Cloud SQL 的 root 密码是否会干扰 AppEngine 上运行的应用程序的连接?

python - ndb 中的游标如何工作?

python - 在 Google App Engine 上创建大量数据存储对象的最节省内存的方法是什么?

java - 匹配完整异常名称的正则表达式

JavaFX - 添加一个 ScrollPane 弹出窗口,当用户点击它时关闭

google-app-engine - 无法删除版本 - gcloud app versions stop [id]

java - 您构建应用程序时使用的 Google App Engine SDK 版本是否会影响生产应用程序引擎?

java - 在Java中,在循环中多次实例化一个对象是不好的做法吗?

java - 具有多个变量的 Thymeleaf URL

java - 我如何知道可以存储在数组中的元素的最大范围?