达到JSONStore限制的错误

时间:2013-05-13 06:36:23

标签: ibm-mobilefirst jsonstore

我通过Worklight运行时找到了Worklight JSONStore has no size limit。 如果您添加到集合并达到移动设备的大小限制,WL JSONStore API是否会返回错误/错误代码?

1 个答案:

答案 0 :(得分:2)

是的,你应该收到一个错误,但它会像PERSISTENT_STORE_FAILURE-1)这样的通用错误。我建议将其作为常规单元,功能等测试和QA过程的一部分进行测试。如果您发现意外情况,请回报。

最近我回答了类似的问题“JSON离线设备商店可以限制尺寸吗?”。我会在这里添加我的答案,因为我相信它可能会有所帮助。

虽然此功能未融入核心API,但实施起来应该相当简单。

JSONStore有一个enhance method可用于向JSONStoreInstance原型添加函数。里面有一个应该有帮助的例子。

科尔多瓦有一个File API

注意:“size:文件大小(以字节为单位。(长)”

JSONStore将其数据存储在此处:

  • iOS:[app]/Documents/wljsonstore/jsonstore.sqlite
  • Android:/data/data/com.[app-name]/databases/wljsonstor/jsonstore.sqlite

我在这些StackOverflow答案中谈了一下这个文件:

在向JSONStore集合添加更多数据之前,请使用Cordova的File API检查jsonstore.sqlite的文件大小。

基本上你会做这样的事情:

if(checkFileSize(collection.name+'.sqlite') < LIMIT){
  collection.add(...);
}

使用增强功能,您可以将该逻辑包装到自己的方法中(例如collection.addWithSizeCheck(....)),该方法会检查文件大小并调用collection.add(...)

请注意,默认用户名为jsonstore,因此jsonstore.sqlite。如果您将用户名传递给init,它将使用该用户名创建一个新的.sqlite文件。