首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检索乐山观察到的资源上的更新内容?

如何检索乐山观察到的资源上的更新内容?
EN

Stack Overflow用户
提问于 2015-10-22 22:57:44
回答 1查看 1.1K关注 0票数 0

目前,我正在进行概念证明,使用乐山定期接收来自设备的日志消息。我们发现,观察请求是采用这种方法的最佳方法。因此,暂时,由于我们还没有自定义对象(Wakama客户机尚未准备好),在服务器端,当客户机注册时,我在LeshanClientExample中的设备上观察到资源15。下面是LeshanServer.java中的观察代码:

代码语言:javascript
复制
 this.clientRegistry.addListener(new ClientRegistryListener() {
    ....
    @Override
     public void registered(final Client client) {
        // TODO observe the client when it is registered.
        observeResource(client);
      }
      ....

private void observeResource(final Client client){
    ObserveRequest request = new ObserveRequest("/3/0/15");
    LwM2mResponse cResponse = this.send(client, request);
}

接下来,每当资源和数据库中的记录发生更改时,我都希望捕获更改。我在里面看到了

代码语言:javascript
复制
 org.eclipse.leshan.client.californium.impl.ObjectResource 

我得到更新过的内容(在handleGET()中)。这是检索更新的正确位置吗?我试图找出在代码库中哪里是检索更新内容的正确位置?您的帮助将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 21:39:37

正如另一篇博客文章所建议的那样。有两种方法可以被告知观察。

代码语言:javascript
复制
// listen all observation via the ObservationRegistry
server.getObservationRegistry().addListener(new ObservationRegistryListener() {
 @Override
 public void newValue(Observation observation, LwM2mNode value) {}

@Override
public void cancelled(Observation observation) {}

@Override
public void newObservation(Observation observation) {}

});


// listen a particular observe request (recently added in master)
ObserveRequest request = new ObserveRequest("/3/0/13");
ObserveResponse response = server.send(client, request, TIMEOUT);
response.getObservation().addListener(new ObservationListener() {
@Override
public void newValue(Observation observation, LwM2mNode value) {}

@Override
public void cancelled(Observation observation) {}

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33292137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档