Кеш данных для odata4j
Я реализую сервис RESTlet через odata4j на Android.
При запуске приложения существует постоянный поток данных, который необходимо отправить на сервер оддаты.
Следующий метод получает новые данные:
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) функция, которую я не нашел, или мне нужно сделать это, например, с очередью?
Спасибо вам за помощь!