RemoteEventListener mbRel = getPullMailboxListener(mr);
// Create an event generator and pass it the
// mailbox's remote event listener.
TestGenerator myGen = TestUtils.createGenerator(manager);
EventRegistration evtReg =
myGen.register(EVENT_ID, // Event ID to use
null, // handback
mbRel, // Notification target
DURATION1); // Lease duration
Lease tgl = evtReg.getLease();
checkLease(tgl, DURATION1);
// Create another event generator and pass it the
// mailbox's remote event listener.
TestGenerator myGen2 = TestUtils.createGenerator(manager);
EventRegistration evtReg2 =
myGen2.register(EVENT_ID2, // Event ID to use
null, // handback
mbRel, // Notification target
DURATION1); // Lease duration
Lease tgl2 = evtReg2.getLease();
checkLease(tgl2, DURATION1);
// Create "listener" to collect events for this test
TestPullListener tpl = TestUtils.createPullListener(manager);
int myTplCount = 0;
// Generate some events from first generator
RemoteEvent[] events = new RemoteEvent[NUM_EVENTS];
for (i = 0; i < NUM_EVENTS; i++) {
events[i] = myGen.generateEvent(evtReg.getID(), 3);
}
myTplCount += NUM_EVENTS;
RemoteEvent[] bogus = {
new RemoteEvent(myGen, 9999, 9999, null),
new RemoteEvent(myGen2, 1234, 1, null),
};
// Collect events and verify
logger.log(Level.INFO, "Getting events");
getCollectedRemoteEvents(tpl, mr, myTplCount, MAX_WAIT);
logger.log(Level.INFO, "Verifying event delivery");
assertCount(tpl, myTplCount);
logger.log(Level.INFO, "Verifying events");
assertEvents(tpl, events);
// Generate some more events
for (i = 0; i < NUM_EVENTS; i++) {
events[i] = myGen.generateEvent(evtReg.getID(), 3);
}
myTplCount += NUM_EVENTS;
logger.log(Level.INFO, "Getting more events");
getCollectedRemoteEvents(tpl, mr, myTplCount, MAX_WAIT);
logger.log(Level.INFO, "Verifying event delivery");
assertCount(tpl, myTplCount);
logger.log(Level.INFO, "Verifying events");
assertEvents(tpl, events);
// Generate some more events from second generator
for (i = 0; i < NUM_EVENTS; i++) {
events[i] = myGen2.generateEvent(evtReg2.getID(), 3);
}
myTplCount += NUM_EVENTS;
logger.log(Level.INFO, "Getting more events");
getCollectedRemoteEvents(tpl, mr, myTplCount, MAX_WAIT);
logger.log(Level.INFO, "Verifying event delivery");
assertCount(tpl, myTplCount);
logger.log(Level.INFO, "Verifying events");
assertEvents(tpl, events);
// Generate some more events from each generator
logger.log(Level.INFO, "Generating more events");
for (i = 0; i < NUM_EVENTS; i++) {
events[i] = myGen.generateEvent(evtReg.getID(), 3);
}
RemoteEvent[] events2 = new RemoteEvent[NUM_EVENTS];
for (i = 0; i < NUM_EVENTS; i++) {
events2[i] = myGen2.generateEvent(evtReg2.getID(), 3);
}
myTplCount += NUM_EVENTS*2;
// Collect events and verify
logger.log(Level.INFO, "Getting more events");