Package net.jini.core.event

Examples of net.jini.core.event.EventRegistration


  RemoteEventListener mbRel = getMailboxListener(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
         DURATION)// Lease duration
  Lease tgl = evtReg.getLease();
  checkLease(tgl, DURATION);

  // 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
          DURATION)// Lease duration
  Lease tgl2 = evtReg2.getLease();
  checkLease(tgl2, DURATION);

  // Create two listener objects
  TestListener goodRel = TestUtils.createListener(manager);
  TestListener badRel = TestUtils.createUEListener(manager);
  int goodRelCount = 0, badRelCount = 0;

  // Generate some events from both generators
  logger.log(Level.INFO, "Generating some events");
  RemoteEvent event = myGen.generateEvent(evtReg.getID(), 2);
  RemoteEvent event2 = myGen2.generateEvent(evtReg2.getID(), 2);
  goodRelCount += 2;

  RemoteEvent[] bogus = {
      new RemoteEvent(myGen, 9999, 9999, null),
      new RemoteEvent(myGen2, 1234, 1, null),
  };

  // Enable the first of our listener objects
  assertCount(goodRel, 0);
  logger.log(Level.INFO, "Enabling delivery to our REL" + goodRel);
  mr.enableDelivery(goodRel);

      // Wait for events to arrive and verify
  logger.log(Level.INFO, "Wating for event delivery");
  waitForEvents(goodRel, goodRelCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(goodRel, goodRelCount);
  assertEvent(goodRel, event);
  assertEvent(goodRel, event2);
  if (goodRel.verifyEvents(bogus)) {
      throw new TestException("Successfully verified bogus events");
  }

  logger.log(Level.INFO, "Disabling event delivery");
  mr.disableDelivery();

  // Generate some more events
  logger.log(Level.INFO, "Generating some more events");
  event = myGen.generateEvent(evtReg.getID(), 3);
  event2 = myGen2.generateEvent(evtReg2.getID(), 3);
  badRelCount += 2;

      // enable second listener object
  logger.log(Level.INFO, "Enabling delivery to our (bad) REL2" + badRel);
  mr.enableDelivery(badRel);

      // Wait for events to arrive and verify
  logger.log(Level.INFO, "Wating for event delivery");
  waitForEvents(badRel, badRelCount, MAX_WAIT);
  assertCount(badRel, badRelCount);
  assertEvent(badRel, event);
  assertEvent(badRel, event2);

  // Generate some more events
  // This is timing dependent. It's possible to have recieved
  // the event (above) and before the mailbox has time to
  // process the exception, the same event type is sent again.
  // In this case, the latter event will be accepted because
  // the mailbox hasn't processed the intial exception.
  // In either case, though, the event should never be received
  // by our listener objects since our implementation will fully
  // process a delivery for a registration before processing
  // another event for that process.
  logger.log(Level.INFO, "Generating some unknown events");
  try {
      event = myGen.generateEvent(evtReg.getID(), 3);
      throw new TestException("Succesfully sent an unknown event");
  } catch (UnknownEventException ue) {
  }
  try {
      event2 = myGen2.generateEvent(evtReg2.getID(), 3);
      throw new TestException("Succesfully sent an unknown event");
  } catch (UnknownEventException ue) {
  }

  // Note: count should not change since they should be
  // on the unknown event list.
  logger.log(Level.INFO, "Wating for event delivery");
  waitForEvents(badRel, badRelCount, MAX_WAIT);
  assertCount(badRel, badRelCount);

  // Generate some more events
  logger.log(Level.INFO, "Generating some more events");
  try {
      event = myGen.generateEvent(evtReg.getID(), 3);
      throw new TestException("Succesfully sent an unknown event");
  } catch (UnknownEventException ue) {
  }
  try {
      event2 = myGen2.generateEvent(evtReg2.getID(), 3);
      throw new TestException("Succesfully sent an unknown event");
  } catch (UnknownEventException ue) {
  }

  // Note: count should not change since they should be
View Full Code Here


  RemoteEventListener mbRel = getMailboxListener(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
         DURATION)// Lease duration
  Lease tgl = evtReg.getLease();
  checkLease(tgl, DURATION);

  // Create our target listener
  TestListener listener = TestUtils.createListener(manager);
  int evtCnt = 0;

  logger.log(Level.INFO, "Generating an event from " + myGen);
  myGen.generateEvent(evtReg.getID(), 3);

  logger.log(Level.INFO, "Enabling delivery to our REL " + listener);
  mr.enableDelivery(listener);

  logger.log(Level.INFO, "Wating for event delivery");
        evtCnt++;
        waitForEvents(listener, evtCnt, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(listener, evtCnt);

  shutdown(0);

  logger.log(Level.INFO, "Generating an event from " + myGen);
  myGen.generateEvent(evtReg.getID(), 3);

  logger.log(Level.INFO, "Wating for event delivery");
        evtCnt++;
        waitForEvents(listener, evtCnt, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
View Full Code Here

     * @see TestSpaceLease;
     */
    void registerForNotify(Entry tmpl)
            throws TransactionException, RemoteException, java.io.IOException {
  try {
      EventRegistration er =
    space.notify(tmpl,
           null,
           new TestSpaceListener(config.getConfiguration(),
                                 tmpl),
           Lease.ANY,
           new MarshalledObject(tmpl));
      QAConfig c = QAConfig.getConfig();
      if (c.getConfiguration() instanceof com.sun.jini.qa.harness.QAConfiguration) {
    er = (EventRegistration) c.prepare("test.outriggerEventRegistrationPreparer", er);
      }
      Lease l = er.getLease();
      if (c.getConfiguration() instanceof com.sun.jini.qa.harness.QAConfiguration) {
    l = (Lease) c.prepare("test.outriggerLeasePreparer", l);
      }
            base.addLease(l, false);
  } catch (TestException e) {
View Full Code Here

  // mailbox's remote event listener.
  TestGenerator myGen = TestUtils.createGenerator(manager);
  logger.log(Level.FINEST,
      "Test generator class tree"
      + getClassLoaderTree(myGen.getClass().getClassLoader()));
  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);
  logger.log(Level.FINEST,
      "Test generator class tree"
      + getClassLoaderTree(myGen2.getClass().getClassLoader()));
  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);
       
        // Get events and verify
  logger.log(Level.INFO, "Getting events from empty mailbox.");
        RemoteEventIterator rei = mr.getRemoteEvents();
        RemoteEvent rei_event;
        Date before = new Date();
  logger.log(Level.INFO, "Calling next() on empty set @ {0}", before);       
        rei_event = rei.next(MAX_WAIT_GET_EVENT);
        Date after = new Date();
  logger.log(Level.INFO, "Returned from next() @ {0}", after);  
        //Verify that timeout was honored
        long delta = after.getTime() - before.getTime();
        if (delta < MAX_WAIT_GET_EVENT) {
             throw new TestException("Returned from next() before expected: "
                     + delta);
        }
        if (rei_event != null) {
            throw new TestException(
                "Received unexpected event from empty mailbox: " + rei_event);
        }

        // Start event generator thread with a delay of MAX_WAIT_SEND_EVENT
        Thread t =
            new Thread(
                new MyEventGeneratorRunnable(myGen, evtReg.getID(), 3, 1,
                                             logger, MAX_WAIT_SEND_EVENT ));
        t.start();
        before = new Date();
  logger.log(Level.INFO, "Calling next() on empty set @ {0}", before);       
        rei_event = rei.next(MAX_WAIT_GET_EVENT);
        after = new Date();
        //Verify that we returned before the timeout
        delta = after.getTime() - before.getTime();       
  logger.log(Level.INFO, "Returned from next() @ {0}, delta = {1}",
            new Object[] {after, new Long(delta)});  
        if (delta >= MAX_WAIT_GET_EVENT) {
             throw new TestException("Returned from next() after expected: "
                     + delta);
        } else if (delta <= MAX_WAIT_SEND_EVENT) {
             throw new TestException("Returned from next() before expected: "
                     + delta);           
        }
        if (rei_event == null) {
            throw new TestException(
                "Did not receive expected event from mailbox.");
        }
           
        //Generate a soon-to-be unknown event.
        myGen.generateEvent(evtReg.getID(), 3);
       
        /*
         * Add genereated event to unknown list and verify that they aren't
         * subsequently received.
         */
        ArrayList unknowns = new ArrayList(1);
        unknowns.add(rei_event);
        mr.addUnknownEvents(unknowns);
       
        before = new Date();
  logger.log(Level.INFO, "Calling next() on empty set @ {0}", before);       
        rei_event = rei.next(MAX_WAIT_GET_EVENT);
        after = new Date();
        //Verify that we returned after the timeout
        delta = after.getTime() - before.getTime();       
  logger.log(Level.INFO, "Returned from next() @ {0}, delta = {1}",
            new Object[] {after, new Long(delta)});  
        if (delta < MAX_WAIT_GET_EVENT) {
             throw new TestException("Returned from next() before expected: "
                     + delta);
        }
        if (rei_event != null) {
            throw new TestException(
                "Received unexpected event from mailbox: " + rei_event);
        }
           
        // Start event generator thread with a delay of MAX_WAIT_SEND_EVENT
        // from a "good" event source.
        t = new Thread(
            new MyEventGeneratorRunnable(myGen2, evtReg2.getID(), 3, 1,
                                         logger, MAX_WAIT_SEND_EVENT ));     
        t.start();
        // Call with "infinite" timeout.
        before = new Date();
  logger.log(Level.INFO, "Calling next() on empty set @ {0}", before);       
View Full Code Here

  // mailbox's remote event listener.
  TestGenerator myGen = TestUtils.createGenerator(manager);
  logger.log(Level.FINEST,
      "Test generator class tree"
      + getClassLoaderTree(myGen.getClass().getClassLoader()));
  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);

  TestPullListener goodListener = TestUtils.createPullListener(manager);
  int goodCount = 0;

  // Generate some events
  logger.log(Level.INFO, "Generating " + NUM_EVENTS + " events");
  RemoteEvent[] events = new RemoteEvent[NUM_EVENTS];
  for (i = 0; i < NUM_EVENTS; i++) {
      events[i] = myGen.generateEvent(evtReg.getID(), 3);
  }

  RemoteEvent[] bogus = {
      new RemoteEvent(myGen, 9999, 9999, null),
      new RemoteEvent(myGen, 5678, 1234, null),
  };

  //
  // Kill event mailbox service
  //
  logger.log(Level.INFO, "Killing mailbox service ...");
  shutdown(0);

  goodCount = NUM_EVENTS;
  logger.log(Level.INFO, "Getting events after service recovery. Expect " + goodCount);
        getCollectedRemoteEvents(goodListener, mr,goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Asserting event count");
  assertCount(goodListener, goodCount);
  logger.log(Level.INFO, "Verifying events");
  assertEvents(goodListener, events);
 
  //
  // Kill event mailbox service
  //
  shutdown(0);

        // Won't be using recovered listener, but still want to exercise
  // recovery logic with a "pull" registration.
  logger.log(Level.INFO, "Generating another event");
  RemoteEvent re = myGen.generateEvent(evtReg.getID(), 3);
  goodCount++;
  logger.log(Level.INFO, "Getting events. Expecting " + goodCount);
        getCollectedRemoteEvents(goodListener, mr, goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Asserting event count");
  assertCount(goodListener, goodCount);
View Full Code Here

  TestRegistration reg = new TestRegistration(regUuid, handback,
                toInform);

  Lease lease = leaseFactory.newLease(regUuid, leaseLength);
  regs.put(regUuid, reg);
  return new EventRegistration(evID, serverStub,
          lease, reg.getSequenceNumber());
    }
View Full Code Here

  addLease(prepareNormLease(set.getRenewalSetLease()), false);

  // Register for failure events
  final OurListener listener = new OurListener();
  final MarshalledObject handback = new MarshalledObject(new Long(347));
  EventRegistration reg =
      set.setRenewalFailureListener(listener, handback);
  reg = prepareNormEventRegistration(reg);

  if (!set.equals(reg.getSource()))
      throw new TestException("Source object in event registration is not set");

  if (reg.getID() != LeaseRenewalSet.RENEWAL_FAILURE_EVENT_ID)
      throw new TestException("Event ID in registration is not correct");

  if (!reg.getLease().equals(prepareNormLease(set.getRenewalSetLease())))
      throw new TestException("Lease in registration is not correct");

  listener.setRegInfo(reg, handback);

  if (tryShutdown) {
View Full Code Here

     */
    public void run() throws Exception {
        specifyServices(new Class[] {JavaSpace.class});
        prep(0);
        final Entry entry = new UninterestingEntry();
        EventRegistration reg;

  reg = ((JavaSpace) services[0]).notify(
      entry,
      null,
      new LeasedSpaceListener(getConfig().getConfiguration()),
      durationRequest, null);
  reg = (EventRegistration)
      getConfig().prepare("test.outriggerEventRegistrationPreparer",
        reg);
        resourceRequested();
        Lease lease = reg.getLease();
  lease = (Lease) getConfig().prepare("test.outriggerLeasePreparer",
              lease);
        addLease(lease, false);
        logRequest("notification", lease);

View Full Code Here

        Lease lease = null;

        try {
            listener = new LeasedSpaceListener(getConfig().getConfiguration());
            space = (JavaSpace) services[0];
            EventRegistration reg = space.notify(aEntry, null, listener,
                    durationRequest, null);
      reg = (EventRegistration)
      getConfig().prepare("test.outriggerEventRegistrationPreparer",
              reg);
            resourceRequested();
            lease = reg.getLease();
      lease = (Lease)
        getConfig().prepare("test.outriggerLeasePreparer",
                lease);
        } catch (Exception e) {
            throw new TestException("registering for event", e);
View Full Code Here

     * <P>Notes:<BR>For more information see the JavaSpaces specification
     * sections 2.6, 2.7.</P>
     */
    public void run() throws Exception {
        SnapshotNotifyCounter[] ncs = new SnapshotNotifyCounter[12];
        EventRegistration er;
        long[] leaseMatrix = new long[] {
            -199, -5000, -13999, Long.MIN_VALUE, -2, Long.MIN_VALUE, -345,
            -8999, -15000, -16000000, Long.MIN_VALUE, -3 };
        SimpleEntry sampleEntry1 = new SimpleEntry("TestEntry #1", 1);
        SimpleEntry sampleEntry2 = new SimpleEntry("TestEntry #2", 2);
View Full Code Here

TOP

Related Classes of net.jini.core.event.EventRegistration

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.