public abstract class RenewalFailureEvent extends RemoteEvent
RenewalFailureEvent is a subclass of
RemoteEvent, adding two additional items of abstract
state: the client lease that could not be renewed before expiration
Throwable object that was thrown by the last
renewal attempt (if any).
The methods of this interface are declared to allow implementations
to defer the unmarshalling of the lease and
until the client explicitly asks for them.
|Constructor and Description|
|Modifier and Type||Method and Description|
Returns the lease that could not be renewed.
getID, getRegistrationObject, getSequenceNumber, getSource
public RenewalFailureEvent(LeaseRenewalSet source, long seqNum, MarshalledObject handback)
LeaseRenewalSetthat generated the event
seqNum- the sequence number of this event
handback- the client handback
public abstract Lease getLease() throws IOException, ClassNotFoundException
If the renewal service was able to renew the lease before the
event occurred, the expiration time of the
object returned by this method will reflect the result of the
last successful renewal call. This time may be distorted by clock
skew between hosts if it is currently set to use the
Lease.ABSOLUTE serial format. If the
Lease object is using the
Lease.DURATION serial format, and the implementation
only unmarshals the lease when
getLease is called,
the expiration time may be distorted if a long time has passed
between the time the event was generated by the renewal service
and when the client called
getLease. When a renewal
failure event is generated for a given lease, that lease is
removed from the set.
IOException- if there are difficulties unmarshalling the lease, usually this will be some sort of class mismatch
ClassNotFoundException- if there are difficulties unmarshalling the lease, usually this will indicate one of the classes associated with the lease's implementation could not be loaded
public abstract Throwable getThrowable() throws IOException, ClassNotFoundException
Throwable(if any) that was thrown by the last renewal attempt. If
nullis returned it can be assumed ether the last renewal attempt succeeded, or that the renewal service was unable to make a renewal attempt before the lease expired.
This method may cause the
Throwable to be
unmarshalled. If it does and unmarshalling fails, future calls
will attempt to re-unmarshal the
this method succeeds, subsequent calls must return the same
Throwable(if any) that was thrown by the last renewal attempt
IOException- if there are difficulties unmarshalling the
Throwable, usually this will be some sort of class mismatch
ClassNotFoundException- if there are difficulties unmarshalling the
Throwable, usually this will indicate one of the classes associated with the implementation of the
Throwablecould not be loaded
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.