예제 #1
0
 @Test
 public void testPeak() throws InterruptedException {
   final IQueue q = client.getQueue(randomString());
   q.offer(1);
   assertEquals(1, q.peek());
   assertEquals(1, q.peek());
   assertEquals(1, q.size());
 }
예제 #2
0
 @Test
 public void testOffer() throws Exception {
   TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(2);
   final HazelcastInstance[] instances = factory.newInstances();
   HazelcastInstance h1 = instances[0];
   HazelcastInstance h2 = instances[1];
   final IQueue q1 = h1.getQueue("default");
   final IQueue q2 = h2.getQueue("default");
   for (int i = 0; i < 100; i++) {
     assertTrue(q1.offer("item" + i, 100, TimeUnit.SECONDS));
     assertTrue(q2.offer("item" + i, 100, TimeUnit.SECONDS));
   }
   assertEquals("item0", q1.peek());
   assertEquals("item0", q2.peek());
   for (int i = 0; i < 100; i++) {
     assertEquals("item" + i, q1.poll());
     assertEquals("item" + i, q2.poll());
   }
 }
  @Test
  public void testOffer() throws IOException, InterruptedException {
    final IQueue q = getQueue();

    final SimpleClient client = getClient();
    client.send(new OfferRequest(queueName, ss.toData("item1")));
    Object result = client.receive();
    assertTrue((Boolean) result);
    Object item = q.peek();
    assertEquals(item, "item1");

    q.offer("item2");
    q.offer("item3");
    q.offer("item4");
    q.offer("item5");
    q.offer("item6");

    final CountDownLatch latch = new CountDownLatch(1);
    new Thread() {
      public void run() {
        try {
          latch.await(30, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        q.poll();
      }
    }.start();

    client.send(new OfferRequest(queueName, 500, ss.toData("item7")));
    result = client.receive();
    assertFalse((Boolean) result);

    client.send(new OfferRequest(queueName, 10 * 1000, ss.toData("item7")));
    Thread.sleep(1000);
    latch.countDown();
    result = client.receive();
    assertTrue((Boolean) result);
  }
예제 #4
0
 @Test
 public void testEmptyPeak() throws InterruptedException {
   final IQueue q = client.getQueue(randomString());
   assertNull(q.peek());
 }