public static class Subscriber.Name<V> extends Object implements Subscriber.Option<V,V>, ExternalizableLite, PortableObject
Providing a group name allows multiple subscriber instances to share the responsibility for processing the contents of the group's durable subcription. Each item added to the durable subscription will only be received by one member of the group, whereas each distinct subscriber group for the topic will see every added item.
Naming a subscriber also allows it to outlive its subscriber instances.
For example a group can be created, all instances can terminate and
then later be recreated and pickup exactly where they left off in the
topic. As the groups life is independent of its subscriber instances
the group must be explicitly
destroyed
in order to have the topic stop retaining values for it.
If the Subscriber.Name
option is not specified then the subscriber will be
part of an anonymous group populated by no other members and will thus
be ensured to see the full contents of the topic and automatically
destroyed upon being closed
, or when the Coherence member
terminates.
Modifier | Constructor and Description |
---|---|
|
Name()
Default constructor for serialization.
|
protected |
Name(String sName)
Construct a new group name.
|
Modifier and Type | Method and Description |
---|---|
String |
getName()
Return the group name.
|
static <V> Subscriber.Name<V> |
of(String sName)
Obtain a
Subscriber.Option that specifies a group name
for a Subscriber . |
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from
the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using
the specified PofReader object.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into
the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using
the specified PofWriter object.
|
public Name()
protected Name(String sName)
sName
- the group namepublic static <V> Subscriber.Name<V> of(String sName)
Subscriber.Option
that specifies a group name
for a Subscriber
.sName
- the group name to use for the {Link Subscriber}.Subscriber.Option
that specifies a group name
for a Subscriber
public String getName()
public void readExternal(DataInput in) throws IOException
ExternalizableLite
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore
the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial
state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
ExternalizableLite
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
PortableObject
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's stateIOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
PortableObject
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's stateIOException
- if an I/O error occurs