我正在通过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)中是否有可用的功能我还没找到,或者我是否需要以队列为例进行此操作?
感谢您的帮助!