3.4. streaming API
Data Grid 提供了一个流 API,它实现了返回 InputStream
和 OutputStream
实例的方法,以便您可以在 Hot Rod 客户端和 Data Grid 服务器之间流传输大型对象。
考虑以下大型对象示例:
StreamingRemoteCache<String> streamingCache = remoteCache.streaming(); OutputStream os = streamingCache.put("a_large_object"); os.write(...); os.close();
StreamingRemoteCache<String> streamingCache = remoteCache.streaming();
OutputStream os = streamingCache.put("a_large_object");
os.write(...);
os.close();
您可以通过流读取对象,如下所示:
注意
Streaming API 不会 marshall 值,这意味着您无法同时使用 Streaming 和 Non-Streaming API 访问相同的条目。但是,您可以实施一个自定义 marshaller 来处理这个问题单。
RemoteStreamingCache.get (K key)
方法返回的 InputStream
实现了 VersionedMetadata
接口,以便您可以检索版本和过期信息,如下所示:
注意
条件写入方法(putIfAbsent
)在值完全发送到服务器后执行实际条件检查。换句话说,当在 ()
OutputStream
上调用 close ()
方法时。