Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.jini.lease
Class RenewalFailureEvent

    java.lang.Object
      java.util.EventObject
          net.jini.core.event.RemoteEvent
              net.jini.lease.RenewalFailureEvent

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  BasicRenewalFailureEvent

public abstract class RenewalFailureEvent
extends RemoteEvent

Event generated by a lease renewal set when it can't renew a lease it is responsible for.

`RenewalFailureEvent` is a subclass of `RemoteEvent`, adding two additional items of abstract state: the client lease that could not be renewed before expiration and the `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 `Throwable` until the client explicitly asks for them.

See Also:
  `LeaseRenewalSet`, Serialized Form

Field Summary

Fields inherited from class net.jini.core.event.RemoteEvent
`eventID, handback, seqNum, source`

Constructor Summary
`RenewalFailureEvent(LeaseRenewalSet source, long seqNum, MarshalledObject handback)` Simple constructor.

Method Summary
`abstract Lease` | `getLease()` Returns the lease that could not be renewed.
`abstract Throwable` | `getThrowable()` Returns the `Throwable` (if any) that was thrown by the last renewal attempt.

Methods inherited from class net.jini.core.event.RemoteEvent
`getID, getRegistrationObject, getSequenceNumber`

Methods inherited from class java.util.EventObject
`getSource, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### RenewalFailureEvent

    public RenewalFailureEvent(LeaseRenewalSet source,
                               long seqNum,
                               MarshalledObject handback)

  Simple constructor. Note event id is fixed to `LeaseRenewalSet.RENEWAL_FAILURE_EVENT_ID`.

Parameters:
  `source` - the `LeaseRenewalSet` that generated the event
  `seqNum` - the sequence number of this event
  `handback` - the client handback

Method Detail

### getLease

    public abstract Lease getLease()
                            throws IOException,
                                   ClassNotFoundException

  Returns the lease that could not be renewed. This method may cause the lease to be unmarshalled. If it does and unmarshalling fails, future calls will attempt to re-unmarshal the lease. Once this method succeeds, subsequent calls must return the same object.

  If the renewal service was able to renew the lease before the event occurred, the expiration time of the `Lease` 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.

  Returns:
    the lease that could not be renewed
  Throws:
    `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

### getThrowable

    public abstract Throwable getThrowable()
                                    throws IOException,
                                           ClassNotFoundException

  Returns the `Throwable` (if any) that was thrown by the last renewal attempt. If `null` is 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 `Throwable`. Once this method succeeds, subsequent calls must return the same object.

  Returns:
    the `Throwable` (if any) that was thrown by the last renewal attempt
  Throws:
    `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 `Throwable` could not be loaded

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Sun Microsystems, Inc. All rights reserved