public LoopbackChannel () { super(); cnt = new int[SIZEOF_CNT]; queue = new BlockingQueue(); }
public void run() { Thread.currentThread().setName ("OperatorLogListener"); int delay = cfg.getInt ("jpos.operator.delay"); try { ISOUtil.sleep (2500); // initial delay for (;;) { try { LogEvent ev[] = new LogEvent[1]; if (queue.pending() > 0) { ev = new LogEvent [queue.pending()]; for (int i=0; i < ev.length; i++) ev[i] = (LogEvent) queue.dequeue(); } else ev[0] = (LogEvent) queue.dequeue(); sendMail (ev); if (delay > 0) Thread.sleep (delay); } catch (InterruptedException e) { } } } catch (BlockingQueue.Closed e) { } } private void sendMail (LogEvent[] ev) {
public synchronized void execute(Runnable action) throws Closed { if (!pool.ready()) throw new Closed(); if (++jobs % this.maxPoolSize == 0 || pool.consumerCount() <= 0) supervise(); if (running < maxPoolSize && pool.consumerDeficit() >= 0) { new PooledThread().start(); running++; } available--; pool.enqueue (action); } public void dump (PrintStream p, String indent) {
@Test public void testDequeue9() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.enqueue(""); blockingQueue.enqueue("tr;e"); blockingQueue.requeue(""); blockingQueue.dequeue(0L); blockingQueue.dequeue(0L); blockingQueue.enqueue(""); blockingQueue.dequeue(0L); String result = (String) blockingQueue.dequeue(); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); assertFalse("blockingQueue.getQueue().contains(\"\")", blockingQueue.getQueue().contains("")); assertEquals("result", "", result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@Test public void testPending1() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.dequeue(-2L); int result = blockingQueue.pending(); assertEquals("result", 0, result); }
@Test public void testEnqueueThrowsClosed() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.close(); try { blockingQueue.enqueue(Integer.valueOf(-32)); fail("Expected Closed to be thrown"); } catch (BlockingQueue.Closed ex) { assertEquals("ex.getMessage()", "queue-closed", ex.getMessage()); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); } }
@Test public void testReady1() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.close(); boolean result = blockingQueue.ready(); assertFalse("result", result); }
@SuppressWarnings("unchecked") @Test public void testPending() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList queue = new LinkedList(); queue.add(Integer.valueOf(100)); blockingQueue.setQueue(queue); int result = blockingQueue.pending(); assertEquals("result", 1, result); }
@Test public void testConstructor() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); assertTrue("blockingQueue.ready()", blockingQueue.ready()); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); }
@Test public void testEnqueueThrowsNullPointerException() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(null); try { blockingQueue.enqueue(""); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertNull("blockingQueue.getQueue()", blockingQueue.getQueue()); } }
@Test public void testEnqueue() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.enqueue("testString"); assertEquals("blockingQueue.getQueue().size()", 1, blockingQueue.getQueue().size()); assertEquals("blockingQueue.getQueue().get(0)", "testString", blockingQueue.getQueue().get(0)); }
@Test public void testRequeueThrowsClosed() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.close(); try { blockingQueue.requeue(""); fail("Expected Closed to be thrown"); } catch (BlockingQueue.Closed ex) { assertEquals("ex.getMessage()", "queue-closed", ex.getMessage()); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); } }
@Test public void testRequeueThrowsNullPointerException() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(null); try { blockingQueue.requeue(Integer.valueOf(0)); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertNull("blockingQueue.getQueue()", blockingQueue.getQueue()); } }
@SuppressWarnings("unchecked") @Test public void testSetQueue() throws Throwable { LinkedList queue = new LinkedList(); BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(queue); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); } }
@Test public void testRequeue() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.requeue("testString"); assertEquals("blockingQueue.getQueue().size()", 1, blockingQueue.getQueue().size()); assertEquals("blockingQueue.getQueue().get(0)", "testString", blockingQueue.getQueue().get(0)); }
@Test public void testReady() throws Throwable { boolean result = new BlockingQueue().ready(); assertTrue("result", result); }
@Test public void testConsumerCount() throws Throwable { int result = new BlockingQueue().consumerCount(); assertEquals("result", 0, result); }
public synchronized LogEvent log (LogEvent ev) { if (checkOperatorTag(ev)) queue.enqueue (ev); return ev; } private void assertProperty (String propName) throws ConfigurationException
public synchronized Object dequeue (long timeout) throws InterruptedException, Closed { if (timeout == 0) return dequeue (); consumers++; long maxTime = System.currentTimeMillis() + timeout; try { while (queue.size() == 0 && System.currentTimeMillis() < maxTime) { wait (timeout); if (closed) throw new Closed(); } } finally { consumers--; } return queue.size() > 0 ? queue.removeFirst() : null; } public synchronized void close() {