Package net.jini.core.event

Examples of net.jini.core.event.EventRegistration


  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");
View Full Code Here


     * <P>Notes:<BR>For more information see the JavaSpaces specification
     * section 2.7.</P>
     */
    public void run() throws Exception {
        NotifyCounter[] ncs = new NotifyCounter[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);
        SimpleEntry sampleEntry3 = new SimpleEntry("TestEntry #1", 2);
        SimpleEntry template;
        Transaction txn;

        // first check that space is empty
        if (!checkSpace(space)) {
            throw new TestException("Space is not empty in the beginning.");
        }

        // create the non null transaction
        txn = getTransaction();

        // init 3 RemoteEvent counters for each of sample entries
        ncs[0] = new NotifyCounter(sampleEntry1, leaseMatrix[0]);
        ncs[1] = new NotifyCounter(sampleEntry2, leaseMatrix[1]);
        ncs[2] = new NotifyCounter(sampleEntry3, leaseMatrix[2]);

        // init 5 counters with wrong templates
        template = new SimpleEntry("TestEntry #3", 1);
        ncs[3] = new NotifyCounter(template, leaseMatrix[3]);

        // 2-nd wrong template
        template = new SimpleEntry("TestEntry #1", 3);
        ncs[4] = new NotifyCounter(template, leaseMatrix[4]);

        // 3-rd wrong template
        template = new SimpleEntry("TestEntry #3", 3);
        ncs[5] = new NotifyCounter(template, leaseMatrix[5]);

        // 4-th wrong template
        template = new SimpleEntry(null, 3);
        ncs[6] = new NotifyCounter(template, leaseMatrix[6]);

        // 5-th wrong template
        template = new SimpleEntry("TestEntry #3", null);
        ncs[7] = new NotifyCounter(template, leaseMatrix[7]);

        // init counter with null entry as a template
        ncs[8] = new NotifyCounter(null, leaseMatrix[8]);

        // init 3 counters with null values for different fields
        template = new SimpleEntry("TestEntry #1", null);
        ncs[9] = new NotifyCounter(template, leaseMatrix[9]);

        // 2-nd template
        template = new SimpleEntry(null, 2);
        ncs[10] = new NotifyCounter(template, leaseMatrix[10]);

        // 3-rd template
        template = new SimpleEntry(null, null);
        ncs[11] = new NotifyCounter(template, leaseMatrix[11]);

        // try to register them
        for (int i = 0; i < 12; i++) {
            try {
                er = space.notify(ncs[i].getTemplate(), txn, ncs[i],
                        ncs[i].getLeaseTime(), null);
                throw new TestException(" Notify operation for "
                        + ncs[i]
                        + " has not thrown IllegalArgumentException"
                        + " and returned " + er.toString());
            } catch (IllegalArgumentException iae) {
                logDebugText("IllegalArgumentException has been catched"
                        + " while trying to register " + ncs[i]
                        + " as expected.");
            }
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
         DURATION1)// Lease duration
  Lease tgl = evtReg.getLease();
  checkLease(tgl, DURATION1);

  TestListener goodListener = TestUtils.createListener(manager);
  int goodCount = 0;
  int badCount = 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),
View Full Code Here

  // Create an event generator and pass it the
  // mailbox's remote event listener.
  TestGenerator myGen = TestUtils.createGenerator(manager);
  logger.log(Level.INFO, "Got TestGenerator ref {0}", myGen);
  EventRegistration evtReg =
      myGen.register(EVENT_ID,       // Event ID to use
         null,      // handback
         mbRel,          // Notification target
         DURATION1)// Lease duration
  logger.log(Level.INFO, "Got EventRegistration ref {0}", evtReg);
  Lease tgl = evtReg.getLease();
  checkLease(tgl, DURATION1);
  logger.log(Level.INFO, "EventRegistration lease good until "
        + new Date(tgl.getExpiration()));

  // Create two listener objects
  TestListener myListener = TestUtils.createDisableListener(manager, mr);
  logger.log(Level.INFO, "Got TestListener ref {0}", myListener);
  int eventCount = 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),
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
         DURATION1)// Lease duration
  Lease tgl = evtReg.getLease();
  checkLease(tgl, DURATION1);

  TestListener goodListener = TestUtils.createListener(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
  //
  shutdown(0);

  // Enable the first of our listener objects
  // Enable good listener
  logger.log(Level.INFO, "Enabling good listener");
  mr.enableDelivery(goodListener);

  goodCount = 5;
  logger.log(Level.INFO, "Wating for event delivery of " + goodCount);
        waitForEvents(goodListener, goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Asserting event count");
  assertCount(goodListener, goodCount);
  logger.log(Level.INFO, "Verifying events");
  assertEvents(goodListener, events);

  logger.log(Level.INFO, "Generating another event");
  RemoteEvent re = myGen.generateEvent(evtReg.getID(), 3);
  goodCount++;
  logger.log(Level.INFO, "Wating for event delivery" + goodCount);
        waitForEvents(goodListener, goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Asserting event count");
  assertCount(goodListener, goodCount);
View Full Code Here

  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);

  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
  //
  shutdown(0);

  goodCount = NUM_EVENTS;
  logger.log(Level.INFO, "Getting events");
  getCollectedRemoteEvents(tpl, mr, goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(tpl, goodCount);
  logger.log(Level.INFO, "Verifying events");
  assertEvents(tpl, events);

  logger.log(Level.INFO, "Generating another event");
  RemoteEvent re = myGen.generateEvent(evtReg.getID(), 3);
  goodCount++;
  getCollectedRemoteEvents(tpl, mr, goodCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(tpl, goodCount);
  logger.log(Level.INFO, "Verifying events");
View Full Code Here

        Listener listener = new Listener();
        consumer.register(listener);
        Producer p = new Producer();
        p.createDEH();
        ServiceItem serviceItem = createServiceItem(p);
        EventRegistration eventRegistration = consumer.register(serviceItem);
        Assert.assertNotNull(eventRegistration);
        p.fire();
        listener.countDown.await(5, TimeUnit.SECONDS);
        Assert.assertTrue("Expected listener count to be > 0, found: " + listener.counter.get(),
                          listener.counter.get() > 0);
View Full Code Here

        consumer.register(listener);
        Producer p = new Producer();
        p.setLeaseTime(3*1000);
        p.createDEH();
        ServiceItem serviceItem = createServiceItem(p);
        EventRegistration eventRegistration = consumer.register(serviceItem);
        Assert.assertNotNull(eventRegistration);
        System.err.println("Waiting 5 seconds for lease to timeout...");
        Thread.sleep(5*1000);
        p.fire();
        Assert.assertTrue("Should have not been notified, but got: "+listener.counter.get(), listener.counter.get()==0);
View Full Code Here

        Listener listener = new Listener();
        consumer.register(listener);
        Producer p = new Producer();
        p.createDEH();
        ServiceItem serviceItem = createServiceItem(p);
        EventRegistration eventRegistration = consumer.register(serviceItem);
        Assert.assertNotNull(eventRegistration);
        p.fire();
        p.fire();
        Assert.assertTrue("Should have gotten 2, got "+watch.getCalculables().values().size(),
                          watch.getCalculables().values().size()==2);
View Full Code Here

        public EventRegistration register(EventDescriptor descriptor,
                                          RemoteEventListener listener,
                                          MarshalledObject handback,
                                          long duration) throws LeaseDeniedException, UnknownEventException {
            eventHandler.register(remote, listener, handback, leaseTime);
            return new EventRegistration(descriptor.eventID,
                                         remote,
                                         landlordLessor.newLease(new ServiceResource(new Object()), leaseTime),
                                         sequenceCounter.incrementAndGet());
        }
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.