public class StreamingGetStateEvent extends Object
channel.receive()
, as a result
of another channel instance requesting a state from this channel. Other channel
has to invoke channel.getState()
indicating intent of state
retrieval.
Allows applications using a channel in a pull mode to receive
StreamingGetStateEvent
event and thus provide state to requsting
channel instance. 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 demonstrates how to pull events from a channel, processing
StreamingGetStateEvent
and sending hypothetical state through
OutputStream
reference.
Object obj=channel.receive(0); if(obj instanceof StreamingGetStateEvent) { StreamingGetStateEvent evt=(StreamingGetStateEvent)obj; OutputStream oos = null; try { oos = new ObjectOutputStream(evt.getArg()); oos.writeObject(state); oos.flush(); } catch (Exception e) {} finally { try { oos.close(); } catch (IOException e) { System.err.println(e); } } }
JChannel.getState(Address, long)
,
org.jgroups.StreamingMessageListener#getState(OutputStream)
Constructor and Description |
---|
StreamingGetStateEvent(OutputStream os,
String state_id) |
Modifier and Type | Method and Description |
---|---|
OutputStream |
getArg()
Returns OutputStream used for writing of a state.
|
String |
getStateId()
Returns id of the partial state if partial state was requested.
|
public StreamingGetStateEvent(OutputStream os, String state_id)
public OutputStream getArg()
public String getStateId()
JChannel.getState(Address, long)
,
JChannel.getState(Address, String, long)
Copyright © 2013 JBoss, a division of Red Hat. All Rights Reserved.