4.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()
方法。