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

## weblogic.cluster.singleton
Interface RemoteLeasingBasis

All Superinterfaces:
  LeasingBasis, Remote

All Known Implementing Classes:
  RemoteLeasingBasisImpl

    public interface RemoteLeasingBasis

extends Remote, LeasingBasis

A RemoteLeasingBasis provides a remote implementation of `LeasingBasis`. The interface does not extend `LeasingBasis` both to make the interface conformant RMI and to ensure that it is not used as `LeasingBasis` for `LeaseManager`. This is because the `LeasingBasis` must always be local in order to guarantee various invariants.

Method Summary
`boolean` | `acquire(String leaseName, String owner, int leaseTimeout)` Attempts to claim immediate ownership of a lease for this server.
`String[]` | `findExpiredLeases(int gracePeriod)` Returns a list of the servers that have consistently missed sending heartbeats in a timely manner, and failed to do so for longer than their grace period.
`String` | `findOwner(String leaseName)` Returns the identity of the server that currently owns the lease.
`String` | `findPreviousOwner(String leaseName)`
`void` | `release(String leaseName, String owner)` If the lease is owned by this server, attempts to give up ownership.
`int` | `renewAllLeases(int healthCheckPeriod, String owner)` Attempts to send a heartbeat to prove the health of the server.

Method Detail

### acquire

    boolean acquire(String leaseName,
                    String owner,
                    int leaseTimeout)
                    throws IOException

  Description copied from interface: `LeasingBasis`
  Attempts to claim immediate ownership of a lease for this server. Returns true if the lease was successfully claimed or if it is already owned by the server. Returns false if the lease is owned by another server. Throws a LeasingException if there were infrastructure problems trying to get ownership. The leaseTimeout specifies how long the lease will last.

  Specified by:
    `acquire` in interface `LeasingBasis`
    `leaseTimeout` - in milliseconds
  Returns:
    true if the lease was aquired
  Throws:
    `IOException`
  See Also:
    `LeasingBasis.acquire(java.lang.String, java.lang.String, int)`

### release

    void release(String leaseName,
                 String owner)
                 throws IOException

  Description copied from interface: `LeasingBasis`
  If the lease is owned by this server, attempts to give up ownership. Otherwise does nothing. Throws a LeasingException if infrastructure problems make it impossible to access the lease.

  Specified by:
    `release` in interface `LeasingBasis`
  Throws:
    `IOException`
  See Also:
    `LeasingBasis.release(java.lang.String, java.lang.String)`

### findOwner

    String findOwner(String leaseName)
                     throws IOException

  Description copied from interface: `LeasingBasis`
  Returns the identity of the server that currently owns the lease. Returns null if the lease is not owned. The lease is not considered to be owned if it has been claimed by a server that has missed heartbeats. This is a best-effort result in that the answer may change after the value is returned. Throws a LeasingException if infrastructure problems make it impossible to determine who owns the lease.

  Specified by:
    `findOwner` in interface `LeasingBasis`
  Returns:
    name of the owner
  Throws:
    `IOException`
  See Also:
    `LeasingBasis.findOwner(java.lang.String)`

### findPreviousOwner

    String findPreviousOwner(String leaseName)
                             throws IOException

  Specified by:
    `findPreviousOwner` in interface `LeasingBasis`
  Throws:
    `IOException`
  See Also:
    `LeasingBasis.findPreviousOwner(java.lang.String)`

### renewAllLeases

    int renewAllLeases(int healthCheckPeriod,
                       String owner)
                       throws IOException,
                              MissedHeartbeatException

  Description copied from interface: `LeasingBasis`
  Attempts to send a heartbeat to prove the health of the server. Determines whether or not the heartbeat was sent in a timely manner. This determination should ideally be precise. If it is not, then it has to err on the safe side, i.e., it is better to falsely indicate that a Heartbeat was missed than to fail to indicate that a Heartbeat was missed. The heartbeat is sent for the next period even if the last one was missed. This minimizes the chances of damage while the system is signaling for corrective action. This is semantically equivalent to renewing all of the outstanding leases.

  Specified by:
    `renewAllLeases` in interface `LeasingBasis`
  Parameters:
    `healthCheckPeriod` - in milliseconds
  Returns:
    number of owned leases
  Throws:
    `IOException`
    `MissedHeartbeatException`
  See Also:
    `LeasingBasis.renewAllLeases(int, java.lang.String)`

### findExpiredLeases

    String[] findExpiredLeases(int gracePeriod)
                               throws IOException

  Description copied from interface: `LeasingBasis`
  Returns a list of the servers that have consistently missed sending heartbeats in a timely manner, and failed to do so for longer than their grace period. INVARIANT: If a server stops heartbeating PERMANENTLY, then it will EVENTUALLY be returned in this list, although there is no guarantee as to how long that will take.

  Specified by:
    `findExpiredLeases` in interface `LeasingBasis`
  Parameters:
    `gracePeriod` - in milliseconds
  Throws:
    `IOException`
  See Also:
    `LeasingBasis.findExpiredLeases(int)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs92 Copyright 2006 BEA Systems Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD