如何在没有流配置的情况下在远程节点上获取GridStreamer

时间:2014-03-20 12:51:49

标签: gridgain

在GridGain 6中,我可以在远程节点上获取GridStreamer实例并将其用于addEvents吗?

我的想法是我需要一个节点,它可以为流处理生成数据,但不参与处理本身。

使用StreamConfiguration部分启动的所有节点都自动参与事件处理。如果在没有StreamConfiguration部分的情况下启动节点 - 那么它的Grid实例不会看到其他的流式传输。

GridClient似乎不支持流媒体

1 个答案:

答案 0 :(得分:1)

您无法在未配置此特定流式传输器的节点上获取流式传输实例。但是,您可以通过提供不会在不应参与事件处理的节点上路由事件的GridStreamerEventRouter轻松实现您的要求。

例如,您可以使用带谓词的随机事件路由器,该谓词将按用户属性过滤节点(您可以使用GridConfiguration.setUserAttributes(...)为节点设置用户属性):

GridStreamerConfiguration streamCfg = new GridStreamerConfiguration();
//...
streamCfg.setRouter(new GridStreamerRandomEventRouter(new GridPredicate<GridNode>() {
    @Override public boolean apply(GridNode node) {
        return !"CLIENT".equals(node.attribute("STREAMER_ROLE"));
    }
}));