Package net.jini.lease

Examples of net.jini.lease.LeaseRenewalService


  // Announce where we are in the test
  logger.log(Level.FINE, "LeaseDurationTest: 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();

  // start with 1 and increase duration requests by power of 10

  // test 1000 - 10 ^ 9
  for (int i = 3; i < NUMBER_OF_LEASES; i++) {
      long duration = (long) Math.pow(10, i);
      logger.log(Level.FINE, "Create renewal set with duration of " +
            duration);
      // short time in the past before creation
      long preLease = System.currentTimeMillis();
      LeaseRenewalSet set = lrs.createLeaseRenewalSet(duration);
      set = prepareSet(set);
      long now = System.currentTimeMillis();
      long expTime = now + duration;
      long leaseExpTime = prepareLease(set.getRenewalSetLease()).getExpiration();

      // It is impossible to calc. expTime exactly, there is slop
      logger.log(Level.FINE, "Calculated lease expiration ==> " +
            expTime);
      logger.log(Level.FINE, "Actual lease expiration ======> " +
            leaseExpTime);
      logger.log(Level.FINE, "slop =========================> " +
            (expTime - leaseExpTime));

      // lease must not be in the past
      if (leaseExpTime < preLease) {
    logger.log(Level.FINE, "lease duration = " + duration);
    logger.log(Level.FINE, "leaseExpTime = " + leaseExpTime);
    logger.log(Level.FINE, "less than now = " + now);
    String message =
        "LRS granted a lease for a renewal set" +
        " with an expiration in the past.";
    throw new TestException(message);
      }

      // lease expiration must be less or equal to calculated
      if (prepareLease(set.getRenewalSetLease()).getExpiration() > expTime) {
    String message =
        "LRS granted a lease for a renewal set" +
        " with an expiration time greater\n" +
        "than requested.";
    throw new TestException(message);
      }
  }     

  // test Lease.ANY
  logger.log(Level.FINE, "Create lease with duration of " +
        "Lease.ANY");
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(Lease.ANY);
  set = prepareSet(set);
  long now = System.currentTimeMillis();
  long anyExp = prepareLease(set.getRenewalSetLease()).getExpiration();
  if ( anyExp < now) {
      logger.log(Level.FINE, "Now        = " + now);
      logger.log(Level.FINE, "Expiration = " + anyExp);
      String message = "LRS granted a time in the past when";
      message += " given Lease.ANY as duration request.";
      throw new TestException(message);
  }

  // test Lease.FOREVER
  logger.log(Level.FINE, "Create lease with duration of " +
        "Lease.FOREVER");
  set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
  now = System.currentTimeMillis();
  long foreverExp = prepareLease(set.getRenewalSetLease()).getExpiration();
  if ( foreverExp < now) {
      logger.log(Level.FINE, "Now        = " + now);
View Full Code Here


  // Announce where we are in the test
  logger.log(Level.FINE, "NewListenerEventTest: In run() method.");

  // get the service for test
  LeaseRenewalService lrs = getLRS();

  // 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 listeners to receive renewal failure events
  set.setRenewalFailureListener(failingListener, null);
View Full Code Here

  logger.log(Level.FINE, "RenewalFailureEvent: 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 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 listener to receive events
  logger.log(Level.FINE, "Registering listener for renewal failure" +
View Full Code Here

  // Announce where we are in the test
  logger.log(Level.FINE, "LeaseUnmarshalNoneExceptionTest:" +
        " In run() method.");

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

  // 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 2 unreadable test leases to be managed
  logger.log(Level.FINE, "Creating an unreadable lease to be managed.");
View Full Code Here

  // Announce where we are in the test
  logger.log(Level.FINE, "LeaseNotInSetTest: In run() method.");

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

  // 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
  logger.log(Level.FINE, "Creating the lease to be managed.");
View Full Code Here

  // Announce where we are in the test
  logger.log(Level.FINE, "In run() method.");

  // get the instance of the LRS proxy
  LeaseRenewalService lrs = getLRS();

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

  // create a handback object
  MarshalledObject handback = new MarshalledObject(new Integer(99));

  // register listener to receive events
  EventRegistration evReg =
      set.setRenewalFailureListener(rrl, handback);
  evReg = prepareRegistration(evReg);

  // create a lease that will fail to renew
  logger.log(Level.FINE, "Creating the lease to be managed.");
  logger.log(Level.FINE, "Duration == " + renewGrant);
  TestLease testLease =
      leaseProvider.createNewLease(definiteOwner,
           rstUtil.durToExp(renewGrant));

  // start managing the lease for as long as we can
  logger.log(Level.FINE, "Adding managed lease to lease renewal set.");
  logger.log(Level.FINE, "Membership = Lease.FOREVER.");
  set.renewFor(testLease, Lease.FOREVER);
 
  // wait for the lease to expire
  rstUtil.waitForLeaseExpiration(testLease,
               "for client lease to expire.");

  /* Assert that the notification was received at approximately
     the lease expiration time */
  Long[] arrivalTimes = rrl.getArrivalTimes();

  // must at lease have received one event
  if (arrivalTimes.length == 0) {
      String message = "RenewalFailure event never received.";
      throw new TestException(message);
  }

  // must NOT have received more than one event
  if (arrivalTimes.length > 1) {
      String message = "Too many events received.";
      throw new TestException(message);
  }

  /* TESTING ASSERTION #1
     was the event received around the right time? */
  long leaseExpiration = testLease.getExpiration();
  long maxAllowed = leaseExpiration + latencySlop;

  long actualArrivalTime = arrivalTimes[0].longValue();

  // event must arrive within our assumed constraints
  if (actualArrivalTime < maxAllowed) {
      // we say event was received around the right time
      logger.log(Level.FINE, "Assertion #1 passes!");
  } else {
      /* There was a lag. This could be a network problem or an
         overloaded cpu but we will just have to assume that the
         specification was not met. */
      String message = "Assertion #1 failed ...\n" +
    "Event was not received within " + latencySlop +
    " milliseconds of client lease expiration.";
      throw new TestException(message);
  }

  /* TESTING ASSERTION #2
     the handback object is the one we expect. */
  RemoteEvent[] events = rrl.getEvents();
  MarshalledObject mObj = events[0].getRegistrationObject();
  if (handback.equals(mObj) == false) {
      String message = "Assertion #2 failed ...\n" +
    "Handback object does not match original.";
      throw new TestException(message);
  }
  logger.log(Level.FINE, "Assertion #2 passes!");
 
  /* TESTING ASSERTION #3
     The lease for the event registration is the same as the event's
     lease */
  if (rstUtil.isValidRenewFailEventReg(evReg, set) == false) {
      String message = "Assertion #3 failed ...\n" +
    "Event Registration is invalid." +
    rstUtil.getFailureReason();
      throw new TestException(message);
  }
  logger.log(Level.FINE, "Assertion #3 passes!");

  /* TESTING ASSERTION #4
     a null listener results in a NullPointException. */
  set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
  logger.log(Level.FINE, "Created Set with lease duration of " +
        "Lease.FOREVER.");
  try {
      evReg = set.setRenewalFailureListener(null, handback);
View Full Code Here

  /*
   * To perform all equals tests we require 4 different proxy
   * instances. Two from each service.
   */
  MarshalledObject marshObj01 = new MarshalledObject(getLRS(0));
  LeaseRenewalService lrs01 = (LeaseRenewalService) marshObj01.get();
  LeaseRenewalService lrs03 = (LeaseRenewalService) marshObj01.get();

  MarshalledObject marshObj02 = new MarshalledObject(getLRS(1));
  LeaseRenewalService lrs02 = (LeaseRenewalService) marshObj02.get();

  /* ensure that comparing two proxies from different LRS services
   * comes back false.
   */
  if (lrs01.equals(lrs02)) {
      String message = "Proxies for two different LR services ";
      message += "match.";
      throw new TestException(message);
  }

  // and test equals reflexive property
  if (lrs02.equals(lrs01)) {
      String message = "The equals method() is not reflexive!";
      throw new TestException(message);
  }

  /* ensure that comparing two proxies from the same LRS service
View Full Code Here

  // Announce where we are in the test
  logger.log(Level.FINE, "IllegalLeaseTest: In run() method.");

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

  // create 2 renewal sets
  long renewSetDur = Lease.FOREVER;
  LeaseRenewalSet set01 = lrs.createLeaseRenewalSet(renewSetDur);
  set01 = prepareSet(set01);
  logger.log(Level.FINE, "Created Set 01 with lease duration of " +
        "Lease.FOREVER.");
  LeaseRenewalSet set02 = lrs.createLeaseRenewalSet(renewSetDur);
  set02 = prepareSet(set02);
  logger.log(Level.FINE, "Created Set 02 with lease duration of " +
        "Lease.FOREVER.");

  /* assert that attempting to add the set's lease to itself
View Full Code Here

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

  // get a lease renewal set w/ a fixed expiration time
  logger.log(Level.FINE, "Creating the lease renewal set.");
  logger.log(Level.FINE, "Duration = Lease.FOREVER");
  LeaseRenewalService lrs = getLRS();
  LeaseRenewalSet set = lrs.createLeaseRenewalSet(Lease.FOREVER);
  set = prepareSet(set);
  lrm.renewFor(prepareLease(set.getRenewalSetLease()), Lease.FOREVER, null);
 
  // register listener to receive events
  logger.log(Level.FINE, "Registering listener for renewal failure" +
View Full Code Here

  // Announce where we are in the test
  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;
 
View Full Code Here

TOP

Related Classes of net.jini.lease.LeaseRenewalService

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.