Package com.surftools.BeanstalkClient

Examples of com.surftools.BeanstalkClient.Client


      popWatchedTubes(client, tubeNames);
    }
  }

  public void testUseTube() {
    Client client = new ClientImpl(TEST_HOST, TEST_PORT);
    client.useTube("foobar");

    // hashes are not valid in tube names
    try {
      client.useTube("foobar#");
      fail("no BAD_FORMAT thrown");
    } catch (BeanstalkException be) {
      assertEquals("BAD_FORMAT", be.getMessage());
    } catch (Exception e) {
      fail(e.getMessage());
    }

    // underscores are valid in tube names >= beanstalk 1.4.4.
    if (serverSupportsUnderscoreInTubeName(client)) {
      try {
        client.useTube("foobar_");
      } catch (Exception e) {
        fail(e.getMessage());
      }
    }

    // per pashields http://github.com/pashields/JavaBeanstalkClient.git
    // Names cannot start with hyphen
    try {
      client.useTube("-foobar");
      fail("no BAD_FORMAT thrown");
    } catch (BeanstalkException be) {
      assertEquals("BAD_FORMAT", be.getMessage());
    } catch (Exception e) {
      fail(e.getMessage());
View Full Code Here


    }
  }

  public void testPut() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);
    long jobId = client.put(65536, 0, 120, "testPut".getBytes());
    assertTrue(jobId > 0);
    client.delete(jobId);

    // invalid priority
    try {
      jobId = client.put(-1, 0, 120, "testPutNegativePriority".getBytes());
      client.delete(jobId);
      fail("no BAD_FORMAT thrown");
    } catch (BeanstalkException be) {
      assertEquals("BAD_FORMAT", be.getMessage());
    } catch (Exception e) {
      fail(e.getMessage());
    }

    // invalid priority
    try {
      jobId = client.put(Long.MAX_VALUE, 0, 120, "testPutHugePriority".getBytes());
      client.delete(jobId);
      fail("no UNKNOWN_COMMAND thrown");
    } catch (BeanstalkException be) {
      assertEquals("invalid priority", be.getMessage());
    } catch (Exception e) {
      fail(e.getMessage());
    }

    // null data
    try {
      jobId = client.put(65536, 0, 120, null);
      client.delete(jobId);
      fail("no exception");
    } catch (BeanstalkException be) {
      assertEquals("null data", be.getMessage());
    } catch (Exception e) {
      fail(e.getMessage());
View Full Code Here

  // job-related
  // ****************************************************************

  public void testReserve() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);

    Object[] tubeNames = pushWatchedTubes(client);

    String srcString = "testReserve";

    // producer
    client.useTube((String) tubeNames[1]);
    long jobId = client.put(65536, 0, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    // consumer
    Job job = client.reserve(null);
    assertNotNull(job);
    long newJobId = job.getJobId();
    assertEquals(jobId, newJobId);

    String dstString = new String(job.getData());
    assertEquals(srcString, dstString);

    client.delete(job.getJobId());

    popWatchedTubes(client, tubeNames);
  }
View Full Code Here

    popWatchedTubes(client, tubeNames);
  }

  public void testReserveWithTimeout() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);

    Object[] tubeNames = pushWatchedTubes(client);

    String srcString = "testReserveWithTimeout";

    int timeoutSeconds = 2;

    // producer
    client.useTube((String) tubeNames[1]);
    long putMillis = System.currentTimeMillis();
    long jobId = client.put(65536, timeoutSeconds, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    // consumer
    Job job = client.reserve(timeoutSeconds);
    long getMillis = System.currentTimeMillis();

    assertNotNull(job);
    long newJobId = job.getJobId();
    assertEquals(jobId, newJobId);

    String dstString = new String(job.getData());
    assertEquals(srcString, dstString);

    long deltaSeconds = (getMillis - putMillis) / 1000;
    assertTrue(deltaSeconds >= timeoutSeconds);

    client.delete(job.getJobId());

    // now try to achieve a TIMED_OUT
    jobId = client.put(65536, 2 * timeoutSeconds, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    job = client.reserve(timeoutSeconds);
    assertNull(job);

    popWatchedTubes(client, tubeNames);
  }
View Full Code Here

    popWatchedTubes(client, tubeNames);
  }

  public void testDelete() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);

    Object[] tubeNames = pushWatchedTubes(client);

    String srcString = "testDelete";

    client.useTube((String) tubeNames[1]);
    long jobId = client.put(65536, 0, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    Job job = client.reserve(null);
    assertNotNull(job);
    boolean ok = client.delete(job.getJobId());
    assertTrue(ok);

    // delete a second time
    ok = client.delete(job.getJobId());
    assertFalse(ok);

    popWatchedTubes(client, tubeNames);
  }
View Full Code Here

    popWatchedTubes(client, tubeNames);
  }

  public void testRelease() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);

    Object[] tubeNames = pushWatchedTubes(client);

    String srcString = "testReserveWithTimeout";

    int timeoutSeconds = 2;

    // producer
    client.useTube((String) tubeNames[1]);
    long jobId = client.put(65536, timeoutSeconds, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    // not found
    boolean ok = client.release(jobId, 65536, 0);
    assertFalse(ok);

    Job job = client.reserve(null);
    assertNotNull(job);
    assertEquals(jobId, job.getJobId());

    // quick release
    ok = client.release(jobId, 65536, 0);
    assertTrue(ok);

    job = client.reserve(null);
    assertNotNull(job);
    assertEquals(jobId, job.getJobId());

    ok = client.delete(jobId);
    assertTrue(ok);

    ok = client.release(jobId, 65536, 0);
    assertFalse(ok);

    popWatchedTubes(client, tubeNames);
  }
View Full Code Here

    popWatchedTubes(client, tubeNames);
  }

  public void testBuryKick() {

    Client client = new ClientImpl(TEST_HOST, TEST_PORT);

    Object[] tubeNames = pushWatchedTubes(client);

    String srcString = "testBuryKick";

    // nothing to bury
    boolean ok = false;
    ok = client.bury(0, 65536);
    assertFalse(ok);

    // producer
    client.useTube((String) tubeNames[1]);
    long jobId = client.put(65536, 0, 120, srcString.getBytes());
    assertTrue(jobId > 0);

    // we haven't reserved, so we can't bury
    ok = client.bury(jobId, 65536);
    assertFalse(ok);

    // we can bury
    Job job = client.reserve(0);
    assertNotNull(job);
    ok = client.bury(jobId, 65536);
    assertTrue(ok);

    // nothing to reserve
    job = client.reserve(0);
    assertNull(job);

    // kick nothing
    int count = client.kick(0);
    assertEquals(0, count);
    job = client.reserve(0);
    assertNull(job);

    // kick something
    count = client.kick(1);
    assertEquals(1, count);
    job = client.reserve(0);
    assertNotNull(job);
    assertEquals(jobId, job.getJobId());
    assertEquals(srcString, new String(job.getData()));

    client.delete(jobId);

    popWatchedTubes(client, tubeNames);
  }
View Full Code Here

TOP

Related Classes of com.surftools.BeanstalkClient.Client

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.