0

我订阅了 Cosmos 中的一个实体(ontimeinterval 订阅),在此之前我使用以下命令运行了累加器服务器:

# cd /usr/share/contextBroker/tests
# ./accumulator-server.py 1028 /accumulate on

这是我发送的查询:

curl orion.lab.fi-ware.org:1026/NGSI9/subscribeContextAvailability -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' \--header "X-Auth-Token: $AUTH_TOKEN" -d @notificate.json

问题是我在服务器中没有收到任何通知(间隔是 10 秒和 1 个月)。

我究竟做错了什么?谢谢

4

1 回答 1

0

如果没有更多细节,这里有点难以提供帮助。让我们用一个问题来澄清一些事情:

您在 Orion Context Broker 中有一个活动的 ONTIMEINTERVAL 订阅,向您启动累加器的主机和端口 1028 发送通知。订阅间隔为 10 秒,持续时间为 1 个月。使用 curl localhost:1028/dump,累加器正确启动,但您看不到任何通知。这个对吗?

现在,您应该做的第一件事是确保代理正在运行,向其发送“curl localhost:1026/version”(如果代理在其默认端口 1026 中启动)。您应该得到 XML 格式的回复,其中包含有关正在运行的代理的一些一般信息。消息内容本身现在并不那么有趣,只是代理正在响应这一事实。

接下来是确保订阅存在。不幸的是,经纪人本身无法报告活动订阅列表。

您必须输入 mongo(假设 mongod 正在运行!:-))以确保您的订阅存在:

% mongo
mongo> use orion
mongo> db.csubs.find()
mongo> quit()

在您应该找到的订阅中,使用“reference”“[your host]:1028/accumulate”。

特别注意“过期”字段(以 unix 秒为单位),也许您的订阅已过期?此外,“节流”可能很有趣 - 确保“节流”具有较低的值 - 1-10。

好了,暂时能想到的就这么多。祝你好运,让我/我们知道你发现了什么。

于 2014-08-29T19:49:02.930 回答