267.6. 例子
267.6.1. 发布事件
生成时的默认操作。以下片段将 PojoBean 生成的事件发布到频道 iot。
from("timer:mytimer") // generate some data as POJO. .bean(PojoBean.class) .to("pubnub:iot?publishKey=mypublishKey");
267.6.2. 触发事件 aka BLOCKS Event Handlers
有关可调用的所有无服务器功能,请参阅 https://www.pubnub.com/blocks-catalog/。地理位置查找示例
from("timer:geotimer") .process(exchange -> exchange.getIn().setBody(new Foo("bar", "TEXT"))) .to("pubnub:eon-maps-geolocation-input?operation=fire&publishKey=mypubkey&subscribeKey=mysubkey"); from("pubnub:eon-map-geolocation-output?subscribeKey=mysubkey) // geolocation output will be logged here .log("${body}");
267.6.3. 订阅事件
以下片段侦听 iot 通道上的事件。如果添加使用Presens 选项,您也会收到频道 Join,Leave asf 事件。
from("pubnub:iot?subscribeKey=mySubscribeKey") .log("${body}") .to("mock:result");
267.6.4. 执行操作
now : 包含有关频道当前状态的信息,包括当前订阅该频道的唯一用户 ID 列表以及频道的总 occupancy 计数
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=herenow") .to("mock:result");
wherenow : 包含有关 uuid 订阅的当前频道列表的信息
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=wherenow&uuid=spyonme") .to("mock:result");
setstate :用于设置特定于订阅者 uuid 的键/值对。
from("direct:control") .bean(StateGenerator.class) .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=setstate&uuid=myuuid");
gethistory :记录频道的历史消息。
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=gethistory");
test 目录中有几个示例显示了一些 PubNub 功能。它们需要一个 PubNub 帐户,您可以在其中获取发布和订阅密钥。
PubNubSensorExample 示例已包含 PubNub 提供的订阅密钥,因此可以在没有帐户的情况下运行。该示例演示了,PubNub 组件订阅了传感器数据的无限流。