Package net.jini.lease

Examples of net.jini.lease.LeaseRenewalSet


  // Create 2 renewal sets for the supplied duration
  LeaseRenewalService lrs = getLRS();

  logger.log(Level.FINE, "Creating the lease renewal set #1 with " +
        "duration of " + renewSetDur + " milliseconds.");
  LeaseRenewalSet set01 = lrs.createLeaseRenewalSet(renewSetDur);
  set01 = prepareSet(set01);

  logger.log(Level.FINE, "Creating the lease renewal set #2 with " +
        "duration of " + renewSetDur + " milliseconds.");
  LeaseRenewalSet set02 = lrs.createLeaseRenewalSet(renewSetDur);
  set02 = prepareSet(set02);

  // register a failing listener for expiration warning events
  long minWarning = renewSetDur * 2 / 10;
  logger.log(Level.FINE, "Registering failing listener #1 with set #1" +
        " for\n" + "expiration warning events : " +
        "minWarning = " + minWarning);
  set01.setExpirationWarningListener(failingListener01, minWarning,
             null);

  // register a normal listener for expiration warning events
  logger.log(Level.FINE, "Registering normal listener #1 with set #2" +
        " for\n" + "expiration warning events : " +
        "minWarning = " + minWarning);
  set02.setExpirationWarningListener(normalListener01, minWarning,
             null);

  // register a failing listener for renewal failure events
  logger.log(Level.FINE, "Registering failing listener #2 with set #2" +
        " for renewal failure events");
  set02.setRenewalFailureListener(failingListener02, null);

  // register a normal listener for renewal failure events
  logger.log(Level.FINE, "Registering normal listener #2 with set #1" +
        " for renewal failure events");
  set01.setRenewalFailureListener(normalListener02, null);

  // create a 2 leases that will fail on renewal
  long renewGrant = renewSetDur * 5 / 10;
  logger.log(Level.FINE, "Creating failing lease #1 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease01 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
 
  logger.log(Level.FINE, "Creating failing lease # 2 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease02 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
 
  // add lease01 to set01 and lease02 to set02
  logger.log(Level.FINE, "Adding lease #1 to set #1");
  set01.renewFor(lease01, Long.MAX_VALUE);
  logger.log(Level.FINE, "Adding lease #2 to set #2");
  set02.renewFor(lease02, Long.MAX_VALUE);
 
  /* wait for the expiration warning events to arrive.
     By the time they do, all RenewalFailureEvents should also
     have arrived. */
  rstUtil.waitForRemoteEvents(normalListener01, 1, renewSetDur);
  rstUtil.waitForRemoteEvents(failingListener01, 1, renewSetDur);
 
  // Assert that we had one call each on the failing listeners
  RemoteEvent[] events01 = failingListener01.getEvents();
  RemoteEvent[] events02 = failingListener02.getEvents();

  if (events01.length != 1) {
      String message = "Failing Listener #1 received " +
    events01.length + " events but is required to\n" +
    "receive exactly 1.";
      throw new TestException(message);
  }

  if (events02.length != 1) {
      String message = "Failing Listener #2 received " +
    events02.length + " events but is required to\n" +
    "receive exactly 1.";
      throw new TestException(message);
  }

  // Assert that we had one call each on the normal listeners
  events01 = normalListener01.getEvents();
  events02 = normalListener02.getEvents();

  if (events01.length != 1) {
      String message = "Normal Listener #1 received " +
    events01.length + " events but is required to\n" +
    "receive exactly 1.";
      throw new TestException(message);
  }

  if (events02.length != 1) {
      String message = "Normal Listener #2 received " +
    events02.length + " events but is required to\n" +
    "receive exactly 1.";
      throw new TestException(message);
  }

  // Assert we can renew both set's leases without error
  renewSetDur = renewSetDur * 6 / 10; // use a shorter time

  try {
      logger.log(Level.FINE, "Renewing set #1's lease with duration " +
            "of " + renewSetDur + " milliseconds.");
      prepareLease(set01.getRenewalSetLease()).renew(renewSetDur);
  } catch (UnknownLeaseException ex) {
      String message = "Attempt to renew lease for renewal set\n" +
    "#1 has failed due to " + ex;
      throw new TestException(message, ex);
  }     

  try {
      logger.log(Level.FINE, "Renewing set #2's lease with duration " +
            "of " + renewSetDur + " milliseconds.");
      prepareLease(set02.getRenewalSetLease()).renew(renewSetDur);
  } catch (UnknownLeaseException ex) {
      String message = "Attempt to renew lease for renewal set\n" +
    "#2 has failed due to " + ex;
      throw new TestException(message, ex);
  }     

  /* Assert that calls to remove do not result in a
     NoSuchObjectException. Given the renewal of the leases
     above this assertion is probably somewhat redundant. */

  try {
      Lease managedLease = set01.remove(lease01);
  } catch (NoSuchObjectException ex) {
      String message = "Attempt to call remove on set\n" +
    "#1 has failed due to a NoSuchObjectException";
      throw new TestException(message, ex);
  }     

  try {
      Lease managedLease = set02.remove(lease02);
  } catch (NoSuchObjectException ex) {
      String message = "Attempt to call remove on set\n" +
    "#2 has failed due to a NoSuchObjectException";
      throw new TestException(message, ex);
  }     

  // Restore both sets to original configurations
  renewGrant = renewSetDur * 3 / 10;
  logger.log(Level.FINE, "Creating failing lease #3 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease03 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
  logger.log(Level.FINE, "Adding lease #3 to set #1");
  set01.renewFor(lease03, Long.MAX_VALUE);
 
  logger.log(Level.FINE, "Creating failing lease #4 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease04 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
  logger.log(Level.FINE, "Adding lease #4 to set #2");
  set02.renewFor(lease04, Long.MAX_VALUE);
 
  /*
   * Wait until the expiration warning event rolls in.
   * By that time the renewal failure event should also have arrived.
   */
 
View Full Code Here


  logger.log(Level.FINE, "AddRemoveTest: In run() method.");

  // get a lease renewal set w/ duration for as long as we can
  logger.log(Level.FINE, "Creating the lease renewal set.");
  LeaseRenewalService lrs = getLRS();
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
 
  // get a lease for 2 hours (that ought to suffice).
  logger.log(Level.FINE, "Creating the lease to be managed.");
  long duration = 120 * 60 * 1000;
  TestLease testLease =
      leaseProvider.createNewLease(rstUtil.durToExp(duration));

  // start managing the lease for as long as we can
  logger.log(Level.FINE, "Adding managed lease to lease renewal set.");
  set.renewFor(testLease, Lease.FOREVER);
 
  // remove the lease and make certain it is the same one we added
  logger.log(Level.FINE, "Removing the managed lease from the set.");
  Lease managedLease = set.remove(testLease);
  if (managedLease.equals(testLease) == false) {
      String message = "Remove failed to return the lease whose\n";
      message += "removal was requested.";
      throw new TestException(message);
  }

  // assuming a successful remove it better be gone now ...
  logger.log(Level.FINE, "Checking that removal was successful.");
  Lease duplicateLease = set.remove(testLease);
  if (duplicateLease != null) {
      String message = "Removal of the same lease was\n";
      message += "successfully performed twice.";
      throw new TestException(message);
  }
View Full Code Here

  // grab the ever popular LRS
  LeaseRenewalService lrs = getLRS();

  // create a renewal set
  long renewSetDur = Lease.FOREVER;
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(renewSetDur);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), renewSetDur, null);
  logger.log(Level.FINE, "Created renewal set with lease duration of " +
        "Lease.FOREVER.");

  // create a test lease to be managed
  logger.log(Level.FINE, "Creating the lease to be managed.");
  logger.log(Level.FINE, "Duration == " + renewGrant);
  TestLease testLease =
      leaseProvider.createNewLease(leaseOwner,
           rstUtil.durToExp(renewGrant));
  testLease.setSerialFormat(Lease.ABSOLUTE);
  long originalExpTime = testLease.getExpiration();

  // start managing the lease
  logger.log(Level.FINE, "Adding lease with membership of " +
        "Long.MAX_VALUE");
  set.renewFor(testLease, Long.MAX_VALUE);

  // sleep until the test lease expires
  long sleepTime = renewGrant * 2;
  logger.log(Level.FINE, "Sleeping for " + sleepTime + " milliseconds");
  Thread.sleep(sleepTime);

  // assert that the current expiration time is Long.MAX_VALUE
  Lease managedLease = set.remove(testLease);
  long currentExpTime = managedLease.getExpiration();
  if (currentExpTime != Long.MAX_VALUE) {
      String message = "The current expiration time of the lease" +
    " is " + currentExpTime + " but should be Long.MAX_VALUE" +
    " (" + Long.MAX_VALUE + ").";
View Full Code Here

  // create a renewal set
  logger.log(Level.FINE, "Creating renewal set with lease duration of " +
        "Lease.FOREVER.");
  long renewSetDur = Lease.FOREVER;
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(renewSetDur);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), renewSetDur, null);

  // create 3 test leases to be managed
  logger.log(Level.FINE, "Creating a normal lease #1 to be managed.");
  logger.log(Level.FINE, "Duration == Lease.FOREVER");
  TestLease testLease01 =
      leaseProvider.createNewLease(leaseOwner, Lease.FOREVER);

  logger.log(Level.FINE, "Creating a normal lease #2 to be managed.");
  logger.log(Level.FINE, "Duration == Lease.FOREVER");
  TestLease testLease02 =
      leaseProvider.createNewLease(leaseOwner, Lease.FOREVER);

  logger.log(Level.FINE, "Creating a normal lease #3 to be managed.");
  logger.log(Level.FINE, "Duration == Lease.FOREVER");
  TestLease testLease03 =
      leaseProvider.createNewLease(leaseOwner, Lease.FOREVER);

  // start managing the normal leases forever
  logger.log(Level.FINE, "Adding normal lease #1 with membership of " +
        "Lease.FOREVER");
  set.renewFor(testLease01, Lease.FOREVER);

  logger.log(Level.FINE, "Adding normal lease #2 with membership of " +
        "Lease.FOREVER");
  set.renewFor(testLease02, Lease.FOREVER);

  logger.log(Level.FINE, "Adding normal lease #3 with membership of " +
        "Lease.FOREVER");
  set.renewFor(testLease03, Lease.FOREVER);

  // create 2 unreadable test leases to be managed
  logger.log(Level.FINE, "Creating an unreadable lease #1 to be" +
        " managed.");
  logger.log(Level.FINE, "Duration == Lease.FOREVER");
  TestLease specialLease01 =
      unreadableLeaseProvider.createNewLease(leaseOwner,
               Lease.FOREVER);

  logger.log(Level.FINE, "Creating an unreadable lease #2 to be" +
        " managed.");
  logger.log(Level.FINE, "Duration == Lease.FOREVER");
  TestLease specialLease02 =
      unreadableLeaseProvider.createNewLease(leaseOwner,
               Lease.FOREVER);
  // start managing the unreadable leases forever
  logger.log(Level.FINE, "Adding unreadable lease #1 with membership" +
        " of Lease.FOREVER");
  set.renewFor(specialLease01, Lease.FOREVER);

  logger.log(Level.FINE, "Adding unreadable lease #2 with membership" +
        " of Lease.FOREVER");
  set.renewFor(specialLease02, Lease.FOREVER);

  /* Assert that a LeaseUnmarshalException is thrown when getLeases()
     is called */
  try {
      UnreadableTestLease.setFailMode(true);
      Lease[] leaseArray = set.getLeases();
      UnreadableTestLease.setFailMode(false);

      /* here we have succeeded to getLeases so something went
         frightfully wrong */
      String message =
View Full Code Here

  logger.log(Level.FINE, "ExpireRemoveTest: In run() method.");

  // get a lease renewal set w/ duration for as long as we can
  logger.log(Level.FINE, "Creating the lease renewal set.");
  LeaseRenewalService lrs = getLRS();
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
 
  // get a lease for 2 hours (that ought to suffice).
  logger.log(Level.FINE, "Creating the lease to be managed.");
  logger.log(Level.FINE, "Duration == " + renewGrant);
  TestLease testLease =
      leaseProvider.createNewLease(owner,
           rstUtil.durToExp(renewGrant));

  // start managing the lease for only half of its grant time
  logger.log(Level.FINE, "Adding managed lease to lease renewal set.");
  long membership = renewGrant / 2;
  logger.log(Level.FINE, "Membership duration == " + membership);
  set.renewFor(testLease, membership);
 
  // sleep for 3/4 of the renewGrant time
  long sleeptime = renewGrant * 3 / 4;
  logger.log(Level.FINE, "Waiting " + sleeptime + " milliseconds for " +
        "membership duration to expire.");
  Thread.sleep(sleeptime);

  // attempt to remove the lease. Removal should fail.
  logger.log(Level.FINE, "Removing the managed lease from the set.");
  Lease managedLease = set.remove(testLease);
  logger.log(Level.FINE, "Lease ==> " + managedLease);
  if (managedLease != null) {
      String message = "Lease was not removed after membership\n";
      message += "duration expired.";
      throw new TestException(message);
View Full Code Here

  // create a lease renewal set that hangs around a long time
  logger.log(Level.FINE, "Creating Set with lease duration of " +
        "Lease.FOREVER.");
  long renewSetDur = Lease.FOREVER;
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(renewSetDur);
  set = prepareSet(set);

  // register the listener to receive renewal failure events
  logger.log(Level.FINE, "Registering listener to receive " +
        "RenewalFailureEvents.");
  set.setRenewalFailureListener(normalListener, null);

  // create a lease that will fail during renewal attempts
  logger.log(Level.FINE, "Creating lease with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
 
  // add the lease to the renewal set w/ membership of renewGrant
  logger.log(Level.FINE, "Adding lease to renewal set.");
  long membership = renewGrant;
  logger.log(Level.FINE, "membership = " + membership + " milliseconds.");
  set.renewFor(lease, membership);

  // wait for the failure to roll in ...
  rstUtil.waitForRemoteEvents(normalListener, 1, renewGrant * 2);

  // capture the event
View Full Code Here

  // get a lease renewal set w/ duration for as long as we can
  logger.log(Level.FINE, "Creating the lease renewal set with duration" +
        " of Lease.FOREVER");
  LeaseRenewalService lrs = getLRS();
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), Lease.FOREVER, null);

  // register a listener to receive renewal failure events
  logger.log(Level.FINE, "Registering listener to receive " +
        "RenewalFailureEvents.");
  EventRegistration reg = set.setRenewalFailureListener(rrl, null);
  reg = prepareRegistration(reg);

  // validate the registration (just for grins)
  if (rstUtil.isValidRenewFailEventReg(reg, set) == false) {
      String message = "Registration is invalid because:\n" +
    rstUtil.getFailureReason();
      throw new TestException(message);
  }

  // create the three leases to be managed
  logger.log(Level.FINE, "Creating lease #1 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease01 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
  set.renewFor(lease01, Long.MAX_VALUE);

  logger.log(Level.FINE, "Creating lease #2 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease02 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
  set.renewFor(lease02, Long.MAX_VALUE);

  logger.log(Level.FINE, "Creating lease #3 with duration of " +
        renewGrant + " milliseconds.");
  TestLease lease03 =
      leaseProvider.createNewLease(failingOwner,
           rstUtil.durToExp(renewGrant));
  set.renewFor(lease03, Long.MAX_VALUE);

  // sleep until the leases have expired.
  rstUtil.waitForRemoteEvents(rrl, 3, renewGrant * 2);

  // ensure that we have exactly 3 events
View Full Code Here

  // clear the listener so we can reuse it
  rrl.clear();

  // create a new set
  LeaseRenewalSet set  = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), Lease.FOREVER, null);
  logger.log(Level.FINE, "Created renewal set with lease" +
        "duration of Lease.FOREVER.");

  // register listener to receive events
  logger.log(Level.FINE, "Registering listener for renewal failure " +
        "events.");
  set.setRenewalFailureListener(rrl, null);
 
  /* create 10 test leases which will throw definite exceptions
     and add each to the renewal set. */
  for (int i = 0; i < NUMBER_OF_TEST_LEASES; ++i) {
      logger.log(Level.FINE, "Creating lease with duration of " +
            renewGrant + " milliseconds.");
      testLease[i] =
    leaseProvider.createNewLease(owner,
               rstUtil.durToExp(renewGrant));
      set.renewFor(testLease[i], Lease.FOREVER);
  }

  // wait until the test leases have expired
  rstUtil.waitForRemoteEvents(rrl, NUMBER_OF_TEST_LEASES,
            renewGrant * 2);
 
View Full Code Here

  LeaseRenewalService lrs = getLRS();

  // create a renewal set for the requested duration
  logger.log(Level.FINE, "Creating renewal set w/ duration = " +
        renewSetDur + " milliseconds.");
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(renewSetDur);
  set = prepareSet(set);

  // register listener #1 to receive events
  logger.log(Level.FINE, "Registering listener #1 for warning events.");
  logger.log(Level.FINE, "minWarning = " + minWarning + ".");
  set.setExpirationWarningListener(rrl01, minWarning, null);

  /* We want to wait for three renewals (or more)
     before switching listeners. Some implementations that refuse
     to give out leases for the request grant duration may send
     more events in that time. This is okay, it does not effect
     the validity of the test. */
  long timeOut = renewSetDur * 3;
  rstUtil.waitForRemoteEvents(rrl01, 3, timeOut);
 
  // start listening immediately with listener #2
  logger.log(Level.FINE, "Registering listener #2 for warning events.");
  logger.log(Level.FINE, "minWarning = " + minWarning + ".");
  set.setExpirationWarningListener(rrl02, minWarning, null);

  // now lets wait for 3 more events to arrive
  rstUtil.waitForRemoteEvents(rrl02, 3, timeOut);

  // report on how many events were received by each (3 = minimum)
View Full Code Here

  // create a renewal set
  logger.log(Level.FINE, "Creating renewal set with lease duration of " +
        "Lease.FOREVER.");
  long renewSetDur = Lease.FOREVER;
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(renewSetDur);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), renewSetDur, null);

  // create a test lease to be managed and add to renewal set
  Lease testLease[] = new Lease[3];
  for (int i = 0; i < 3; ++i) {
      logger.log(Level.FINE, "Creating the lease to be managed.");
      logger.log(Level.FINE, "Duration == " + renewGrant);
      testLease[i] = leaseProvider.createNewLease
    (leaseOwner, rstUtil.durToExp(renewGrant));

      long membershipDur = renewGrant * (i+1);
      // start managing the lease
      logger.log(Level.FINE, "Adding lease with membership of " +
            membershipDur + " milliseconds.");
      set.renewFor(testLease[i], membershipDur);
  }

  // take a snap shot of the leases (should have them all)
  Lease[] leaseArray01 = set.getLeases();

  // sleep until the membership expiration ends for lease #1
  rstUtil.sleepAndTell(renewGrant,
           "for membership duration on lease #1 " +
           "to expire.");

  // take another snap shot (all but #1 should be present)
  Lease[] leaseArray02 = set.getLeases();

  // sleep again so that that lease #2 membership expires
  rstUtil.sleepAndTell(renewGrant,
           "for membership duration on lease #2 " +
           "to expire.");

  // take another snap shot (only #3 should be left)
  Lease[] leaseArray03 = set.getLeases();

  // sleep again so that that lease #3 membership expires
  rstUtil.sleepAndTell(renewGrant,
           "for membership duration on lease #3 " +
           "to expire.");

  // take another snap shot (the array should be empty)
  Lease[] leaseArray04 = set.getLeases();

  // assert that array #1 has all three leases
  int numberOfLeases = leaseArray01.length;
  if (numberOfLeases != 3) {
      String message = "Lease array #1 should contain 3 leases" +
View Full Code Here

TOP

Related Classes of net.jini.lease.LeaseRenewalSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.