specifyServices(new Class[]{LeaseRenewalService.class});
final LeaseRenewalService lrs = (LeaseRenewalService)services[0];
LeaseRenewalSet set =
lrs.createLeaseRenewalSet(eventWaitFor);
set = prepareSet(set);
final Lease setLease = prepareNormLease(set.getRenewalSetLease());
addLease(setLease, false);
// Create and register listeners
warningListener = new WarningListener(failureFails?null:throwThis);
failureListener = new BaseListener(failureFails?throwThis:null);
MarshalledObject handback = new MarshalledObject(new Long(3));
logger.log(Level.FINER, "setting expiration warning listener");
EventRegistration reg =
set.setExpirationWarningListener(warningListener,
eventWaitFor - whenWarning, handback);
logger.log(Level.FINER, "preparing returned registration");
reg = prepareNormEventRegistration(reg);
logger.log(Level.FINER, "completing initialization of listener");
warningListener.setRegInfo(reg, handback);
handback = null;
reg = set.setRenewalFailureListener(failureListener, handback);
reg = prepareNormEventRegistration(reg);
failureListener.setRegInfo(reg, handback);
// Create and add lease that will cause failure
long now = System.currentTimeMillis();
Lease l = LocalLease.getFailingLocalLease(now + whenFailure, 0, leaseID, 1, 0);
set.renewFor(l, Lease.FOREVER);
// Sleep
logger.log(Level.INFO, "Sleeping for " + eventWaitFor + " ms");
Thread.sleep(eventWaitFor);