public class StreamingSetStateEvent extends Object
channel.receive()
, as requested by
channel.getState()
previously.
Allows applications using a channel in a pull mode to receive a state from
another channel instance providing state. Channels have to be configured with
STREAMING_STATE_TRANSFER
protocol rather than the default
STATE_TRANSFER
protocol in order to receive this event.
The following code demonstrate how to pull events from a channel, processing
StreamingSetStateEvent
and retrieving hypothetical state in the
form of LinkedList from event's InputStream
reference.
Object obj=channel.receive(0); if(obj instanceof StreamingSetStateEvent) { StreamingSetStateEvent evt=(StreamingSetStateEvent)obj; ObjectInputStream ois = null; try { ois = new ObjectInputStream(evt.getArg()); state = (LinkedList)ois.readObject(); } catch (Exception e) {} finally { try { ois.close(); } catch (IOException e) { System.err.println(e); } } }
JChannel.getState(Address, long)
,
org.jgroups.StreamingMessageListener#setState(InputStream)
Constructor and Description |
---|
StreamingSetStateEvent(InputStream is,
String state_id) |
Modifier and Type | Method and Description |
---|---|
InputStream |
getArg()
Returns InputStream used for reading of a state.
|
String |
getStateId()
Returns id of the partial state if partial state was requested.
|
public StreamingSetStateEvent(InputStream is, String state_id)
public InputStream getArg()
public String getStateId()
JChannel.getState(Address, long)
,
JChannel.getState(Address, String, long)
Copyright © 2013 JBoss, a division of Red Hat. All Rights Reserved.