我正在通过 Android 上的 odata4j 实现 RESTlet 服务。
运行应用程序时,有一个恒定的数据流,需要将其发送到 odata 服务器。
以下方法获取新数据:
private void freshData(Data data) {
try {
dataTransmitter.sendData(data, this.ptId);
} catch (Exception ex) {
//
}
以下方法将数据发送到服务器:
ODataJerseyConsumer c = ODataJerseyConsumer.create(serviceUrl);
public void sendData(Data data, int ptId) throws Exception {
OEntity newData = c.createEntity(entitySet)
.properties(OProperties.int32("ptID", ptID),
OProperties.double_("data", data.getDouble())))
.execute;
到目前为止没有问题。但是,如果移动连接被切断或滞后怎么办?
1)有没有办法从execute()
(例如积极发送,或没有移动连接)获取状态。
2)如果发送失败,或者仍在进行中,当旧数据用完时,我需要以某种方式存储新数据以发送它。odata4j (0.8-SNAPSHOT) 中是否有可用的功能我还没有找到,或者我是否需要使用队列来执行此操作?
感谢您的帮助!