Examples of JavaSpace


Examples of net.jini.space.JavaSpace

  }

  public void testNullSpace() throws Exception {
    NullSpaceFactoryBean spaceFactory = new NullSpaceFactoryBean();
    spaceFactory.afterPropertiesSet();
    JavaSpace nullSpace = (JavaSpace) spaceFactory.getObject();
    assertNotNull(nullSpace);
  }
View Full Code Here

Examples of net.jini.space.JavaSpace

   */
  public void tstJiniServiceLocator() throws Exception {
    JiniServiceFactoryBean serviceFactory = new JiniServiceFactoryBean();
    serviceFactory.setServiceClass(JavaSpace.class);
    serviceFactory.afterPropertiesSet();
    JavaSpace jiniSpace = (JavaSpace) serviceFactory.getObject();

    assertNotNull(space);
    assertNotNull(jiniSpace);
    // check class
    assertSame(space.getClass(), jiniSpace.getClass());

    // check instance (redundant but this may be changed in the future if another protocol is used)
    //assertEquals(space, jiniSpace);
  }
View Full Code Here

Examples of net.jini.space.JavaSpace

    JiniServiceFactoryBean serviceFactory = new JiniServiceFactoryBean();
    serviceFactory.setServiceClass(JavaSpace.class);
    serviceFactory.setServiceName(spaceName);
    serviceFactory.afterPropertiesSet();
   
    JavaSpace space = (JavaSpace) serviceFactory.getObject();
    return space;
  }
View Full Code Here

Examples of net.jini.space.JavaSpace

        specifyServices(new Class[] {
            JavaSpace.class});
  Configuration c = getConfig().getConfiguration();
        final Listener listener1 = new Listener(c, true);
        final Listener listener2 = new Listener(c, false);
        final JavaSpace space = (JavaSpace) services[0];
        final Entry aEntry = new UninterestingEntry();

        // Register ill-behaved handler  and write matching entry
        EventRegistration reg = space.notify(aEntry, null, listener1,
                                             Lease.ANY, null);
  reg = (EventRegistration)
              getConfig().prepare("test.outriggerEventRegistrationPreparer",
                                  reg);
        logger.log(Level.INFO, "Registered first event handler");
        Lease lease1 = reg.getLease();
        lease1 = (Lease)
                 getConfig().prepare("test.outriggerLeasePreparer", lease1);
        /*
         * The sequence number the first event should have, this would
         * be dicey in a real application but the QA tests assume a
         * very controled enviroment
         */
        final long ev1 = reg.getSequenceNumber() + 1;
        addOutriggerLease(lease1, true);
        addOutriggerLease(space.write(aEntry, null, Lease.ANY), false);
        logger.log(Level.INFO, "Wrote first Entry");

        /*
         * Wait for event and check to see if it is the right one and
         * that the lease was canceled
         */
        long listener1Rcvd;
        synchronized (listener1) {

            // Did it already happen?
            listener1Rcvd = listener1.lastEvent();

            if (listener1Rcvd < ev1) {

                // No, wait
                listener1.wait(wait);
                listener1Rcvd = listener1.lastEvent();

                if (listener1Rcvd < 0) {
                    throw new TestException(
                            "First listener never received event");
                } else if (ev1 < listener1Rcvd) {
                    throw new TestException(
                            "First listener received too many events");
                }
                logger.log(Level.INFO, "Received correct event");
            }
        }

        // Give the cancel a chance to happen
        Thread.sleep(10000);

        try {
            lease1.cancel();
            throw new TestException(
                    "Lease on first registion not cancled by"
                    + " Runtime exception");
        } catch (UnknownLeaseException e) {

            // Result we are looking for
        }
        logger.log(Level.INFO, "Lease on first registration is gone");

        // Register second handler and write second entry2
        EventRegistration reg2 = space.notify(aEntry, null, listener2,
                Lease.ANY, null);
  reg2 = (EventRegistration)
               getConfig().prepare("test.outriggerEventRegistrationPreparer",
                                   reg2);
        logger.log(Level.INFO, "Registered 2nd handler");
        Lease lease2 = reg2.getLease();
        lease2 = (Lease)
                 getConfig().prepare("test.outriggerLeasePreparer", lease2);
        addOutriggerLease(lease2, false);

        /*
         * The sequence number the first event should have, this would
         * be dicey in a real application but the QA tests assume a
         * very controled enviroment
         */
        final long ev2 = reg2.getSequenceNumber() + 1;
        addOutriggerLease(space.write(aEntry, null, Lease.ANY), false);
        logger.log(Level.INFO, "Wrote 2nd Entry");

        // Wait for event and check to see if it is the right one
        synchronized (listener2) {

View Full Code Here

Examples of net.jini.space.JavaSpace

     * @exception TestException
     *          If an exception has been thrown during JavaSpace creation or
     *          created JavaSpace is null.
     */
    public JavaSpace getSpace() throws TestException {
        JavaSpace js = null;

        try {
            if (System.getSecurityManager() == null) {
                System.setSecurityManager(new RMISecurityManager());
            }
View Full Code Here

Examples of net.jini.space.JavaSpace

        Name sn = new Name(spaceName);
        ServiceTemplate tmpl = new ServiceTemplate(null/* serviceID */, classes, new Entry[] {sn});

        LookupLocator locator = new LookupLocator(url); // <protocol>://<hostname>
        ServiceRegistrar sr = locator.getRegistrar();
        JavaSpace space = (JavaSpace) sr.lookup(tmpl);

        return space;
    }
View Full Code Here

Examples of net.jini.space.JavaSpace

        Name sn = new Name(spaceName);
        ServiceTemplate tmpl = new ServiceTemplate(null/* serviceID */, classes, new Entry[] {sn});

        LookupLocator locator = new LookupLocator(url); // <protocol>://<hostname>
        ServiceRegistrar sr = locator.getRegistrar();
        JavaSpace space = (JavaSpace) sr.lookup(tmpl);

        return space;
    }
View Full Code Here

Examples of net.jini.space.JavaSpace

  specifyServices(new Class[]{PullEventMailbox.class, JavaSpace.class});
  logger.log(Level.INFO, "Getting PullEventMailbox reference");
  PullEventMailbox mb = (PullEventMailbox)services[0];
  logger.log(Level.INFO, "Getting JavaSpace reference");
  JavaSpace space = (JavaSpace)services[1];

  // Register and check lease
  logger.log(Level.INFO, "Creating MailboxPullRegistration");
  MailboxPullRegistration mr =  getPullRegistration(mb, DURATION);
  checkLease(getPullMailboxLease(mr), DURATION);
  addLease(getPullMailboxLease(mr), false);
 
  // Create "listener" to collect events for this test
  TestPullListener tpl = TestUtils.createPullListener(manager);

  logger.log(Level.INFO, "Getting pull mailbox listener");
  RemoteEventListener mbRel = getPullMailboxListener(mr);

  //Setup space to generate events
  logger.log(Level.INFO, "Setting up space notifications");
  EventRegistration er = space.notify(null, null, mbRel, DURATION, null);
  checkLease(er.getLease(), DURATION);
  addLease(er.getLease(), false);


  logger.log(Level.INFO, "Generating some events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Duh"), null, DURATION), false);
  }

  //Note: JavaSpaces is allowed to compact event notifications.
  // That is, if more than one event is scheduled to be delivered
  // for the same notification target, then the one with the latest
  // sequence number can be sent (alone). Therefore, for
  // NUM_EVENTS > 1, you'll need to add some sort of delay factor
  // in order to prevent multiple notifications from beng queue'd
  // up together on the space side of the house.
  int eventCount = NUM_EVENTS;
  logger.log(Level.INFO, "Getting events");
  getCollectedRemoteEvents(tpl, mr, eventCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(tpl, eventCount);

  logger.log(Level.INFO, "Generating some more events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Yah"), null, DURATION), false);
  }

  eventCount += NUM_EVENTS;
  logger.log(Level.INFO, "Waiting for event delivery");
  getCollectedRemoteEvents(tpl, mr, eventCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(tpl, eventCount);

  shutdown(0); // Mailbox is at index 0;

  logger.log(Level.INFO, "Generating some more events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Yah"), null, DURATION), false);
  }

  eventCount += NUM_EVENTS;
  logger.log(Level.INFO, "Waiting for event delivery");
  getCollectedRemoteEvents(tpl, mr, eventCount, MAX_WAIT);
View Full Code Here

Examples of net.jini.space.JavaSpace

  specifyServices(new Class[]{EventMailbox.class, JavaSpace.class});
  logger.log(Level.INFO, "Getting EventMailbox reference");
  EventMailbox mb = (EventMailbox)services[0];
  logger.log(Level.INFO, "Getting JavaSpace reference");
  JavaSpace space = (JavaSpace)services[1];

  // Register and check lease
  logger.log(Level.INFO, "Creating MailboxRegistration");
  MailboxRegistration mr =  getRegistration(mb, DURATION);
  checkLease(getMailboxLease(mr), DURATION);
  addLease(getMailboxLease(mr), false);


  logger.log(Level.INFO, "Getting mailbox listener");
  RemoteEventListener mbRel = getMailboxListener(mr);

  logger.log(Level.INFO, "Getting our own listener");
  TestListener listener = TestUtils.createListener(manager);

  //Setup space to generate events
  logger.log(Level.INFO, "Setting up space notifications");
  EventRegistration er = space.notify(null, null, mbRel, DURATION, null);
  checkLease(er.getLease(), DURATION);
  addLease(er.getLease(), false);


  logger.log(Level.INFO, "Generating some events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Duh"), null, DURATION), false);
  }

  //Note: JavaSpaces is allowed to compact event notifications.
  // That is, if more than one event is scheduled to be delivered
  // for the same notification target, then the one with the latest
  // sequence number can be sent (alone). Therefore, for
  // NUM_EVENTS > 1, you'll need to add some sort of delay factor
  // in order to prevent multiple notifications from beng queue'd
  // up together on the space side of the house.
  logger.log(Level.INFO, "Checking event count befor enabling");
  int eventCount = 0;
  assertCount(listener, eventCount);

  logger.log(Level.INFO, "Enabling delivery");
  mr.enableDelivery(listener);
  eventCount += NUM_EVENTS;
  logger.log(Level.INFO, "Waiting for event delivery");
  waitForEvents(listener, eventCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(listener, eventCount);

  logger.log(Level.INFO, "Generating some more events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Yah"), null, DURATION), false);
  }

  eventCount += NUM_EVENTS;
  logger.log(Level.INFO, "Waiting for event delivery");
  waitForEvents(listener, eventCount, MAX_WAIT);
  logger.log(Level.INFO, "Verifying event delivery");
  assertCount(listener, eventCount);

  shutdown(0); // Mailbox is at index 0;

  logger.log(Level.INFO, "Generating some more events");
  for (i = 0; i < NUM_EVENTS; i++) {
      addLease(space.write(new Name("Yah"), null, DURATION), false);
  }

  eventCount += NUM_EVENTS;
  logger.log(Level.INFO, "Waiting for event delivery");
  waitForEvents(listener, eventCount, MAX_WAIT);
View Full Code Here

Examples of net.jini.space.JavaSpace

        specifyServices(new Class[] {
            JavaSpace.class});
  Configuration c = getConfig().getConfiguration();
        final Listener listener1 = new Listener(c, true);
        final Listener listener2 = new Listener(c, false);
        final JavaSpace space = (JavaSpace) services[0];
        final Entry aEntry = new UninterestingEntry();

        // Register ill-behaved handler  and write matching entry
        EventRegistration reg = space.notify(aEntry, null, listener1,
                                             Lease.ANY, null);
  reg = (EventRegistration)
              getConfig().prepare("test.outriggerEventRegistrationPreparer",
                                  reg);
        logger.log(Level.INFO, "Registered first event handler");
        Lease lease1 = reg.getLease();
        lease1 = (Lease)
                 getConfig().prepare("test.outriggerLeasePreparer", lease1);
        /*
         * The sequence number the first event should have, this would
         * be dicey in a real application but the QA tests assume a
         * very controled enviroment
         */
        final long ev1 = reg.getSequenceNumber() + 1;
        addOutriggerLease(lease1, true);
        addOutriggerLease(space.write(aEntry, null, Lease.ANY), false);
        logger.log(Level.INFO, "Wrote first Entry");

        /*
         * Wait for event and check to see if it is the right one and
         * that the lease was canceled
         */
        long listener1Rcvd;
        synchronized (listener1) {

            // Did it already happen?
            listener1Rcvd = listener1.lastEvent();

            if (listener1Rcvd < ev1) {

                // No, wait
                listener1.wait(wait);
                listener1Rcvd = listener1.lastEvent();

                if (listener1Rcvd < 0) {
                    throw new TestException(
                            "First listener never received event");
                } else if (ev1 < listener1Rcvd) {
                    throw new TestException(
                            "First listener received too many events");
                }
                logger.log(Level.INFO, "Received correct event");
            }
        }

        // Give the cancel a chance to happen
        Thread.sleep(10000);

        try {
            lease1.cancel();
            throw new TestException(
                    "Lease on first registion not cancled by"
                    + " Runtime exception");
        } catch (UnknownLeaseException e) {

            // Result we are looking for
        }
        logger.log(Level.INFO, "Lease on first registration is gone");

        // Register second handler and write second entry2
        EventRegistration reg2 = space.notify(aEntry, null, listener2,
                Lease.ANY, null);
  reg2 = (EventRegistration)
               getConfig().prepare("test.outriggerEventRegistrationPreparer",
                                   reg2);
        logger.log(Level.INFO, "Registered 2nd handler");
        Lease lease2 = reg2.getLease();
        lease2 = (Lease)
                 getConfig().prepare("test.outriggerLeasePreparer", lease2);
        addOutriggerLease(lease2, false);

        /*
         * The sequence number the first event should have, this would
         * be dicey in a real application but the QA tests assume a
         * very controled enviroment
         */
        final long ev2 = reg2.getSequenceNumber() + 1;
        addOutriggerLease(space.write(aEntry, null, Lease.ANY), false);
        logger.log(Level.INFO, "Wrote 2nd Entry");

        // Wait for event and check to see if it is the right one
        synchronized (listener2) {

View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.