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() {
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 ISOMsg receive() throws IOException, ISOException { if (!isConnected()) throw new ISOException ("unconnected ISOChannel"); try { ISOMsg m = (ISOMsg) ((ISOMsg) queue.dequeue()).clone(); LogEvent evt = new LogEvent (this, "loopback-receive", m); m = applyIncomingFilters (m, evt); cnt[RX]++; notifyObservers(); Logger.log (evt); return m; } catch (InterruptedException e) { throw new IOException (e.toString()); } catch (BlockingQueue.Closed e) { throw new IOException (e.toString()); } }
@SuppressWarnings("unchecked") @Test public void testDequeue4() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList queue = new LinkedList(); Object obj = new Object(); queue.add(obj); BlockingQueue blockingQueue2 = new BlockingQueue(); blockingQueue2.setQueue(queue); blockingQueue2.dequeue(); LinkedList queue2 = new LinkedList(); queue2.add("testString".toCharArray()); queue2.add(obj); blockingQueue.setQueue(queue2); blockingQueue.dequeue(100L); Object result = blockingQueue.dequeue(-1L); assertSame("blockingQueue.getQueue()", queue2, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().contains(obj)", blockingQueue.getQueue().contains(obj)); assertSame("result", obj, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@SuppressWarnings("unchecked") @Test public void testDequeue10() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList queue = new LinkedList(); Object obj = new Object(); queue.add(obj); BlockingQueue blockingQueue2 = new BlockingQueue(); blockingQueue2.setQueue(queue); blockingQueue2.dequeue(); LinkedList queue2 = new LinkedList(); queue2.add("testString".toCharArray()); queue2.add(obj); blockingQueue.setQueue(queue2); blockingQueue.dequeue(100L); blockingQueue.dequeue(-1L); Integer o = Integer.valueOf(12); blockingQueue.requeue(o); Integer result = (Integer) blockingQueue.dequeue(); assertSame("blockingQueue.getQueue()", queue2, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().contains(o)", blockingQueue.getQueue().contains(o)); assertSame("result", o, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@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()); }
try { while (pool.ready()) { Object job = pool.dequeue(); if (job instanceof Runnable) { setName (name + "-running");
@Test public void testDequeue3() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList<Object> queue = new LinkedList<Object>(); Integer integer = Integer.valueOf(100); queue.add(integer); queue.add("testString"); blockingQueue.setQueue(queue); Integer result = (Integer) blockingQueue.dequeue(0L); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().get(0) had integer removed", integer.equals(blockingQueue.getQueue().get(0))); assertSame("result", integer, 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); }
@SuppressWarnings("unchecked") @Test public void testDequeue7() throws Throwable { LinkedList queue = new LinkedList(); Boolean boolean2 = Boolean.FALSE; queue.add(false); queue.add(Boolean.FALSE); BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(queue); Boolean result = (Boolean) blockingQueue.dequeue(-1L); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); assertSame("result", false, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@SuppressWarnings("unchecked") @Test public void testDequeue() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList queue = new LinkedList<Object>(); Boolean boolean2 = Boolean.TRUE; queue.add(true); queue.add(""); blockingQueue.setQueue(queue); Boolean result = (Boolean) blockingQueue.dequeue(-1L); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().get(0) had boolean2 removed", boolean2.equals(blockingQueue.getQueue().get(0))); assertSame("result", true, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@SuppressWarnings("unchecked") @Test public void testDequeue8() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); LinkedList queue = new LinkedList(); Integer integer = Integer.valueOf(100); queue.add(integer); blockingQueue.setQueue(queue); Integer result = (Integer) blockingQueue.dequeue(0L); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().contains(integer)", blockingQueue.getQueue().contains(integer)); assertSame("result", integer, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@Test public void testDequeue6() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); Integer o = Integer.valueOf(0); blockingQueue.enqueue(o); Integer result = (Integer) blockingQueue.dequeue(100L); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); assertFalse("blockingQueue.getQueue().contains(o)", blockingQueue.getQueue().contains(o)); assertSame("result", o, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@SuppressWarnings("unchecked") @Test public void testDequeue2() throws Throwable { LinkedList queue = new LinkedList(); Boolean boolean2 = Boolean.FALSE; queue.add(false); BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(queue); Boolean result = (Boolean) blockingQueue.dequeue(); assertSame("blockingQueue.getQueue()", queue, blockingQueue.getQueue()); assertFalse("blockingQueue.getQueue().contains(boolean2)", blockingQueue.getQueue().contains(false)); assertSame("result", false, result); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@Test public void testDequeue5() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); Object result = blockingQueue.dequeue(2L); assertNull("result", result); assertEquals("blockingQueue.getQueue().size()", 0, blockingQueue.getQueue().size()); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); }
@Test public void testDequeueThrowsNullPointerException() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(null); try { blockingQueue.dequeue(0L); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertNull("blockingQueue.getQueue()", blockingQueue.getQueue()); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); } }
@Test public void testDequeueThrowsNullPointerException1() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(null); try { blockingQueue.dequeue(-1L); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertNull("blockingQueue.getQueue()", blockingQueue.getQueue()); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); } }
@Test public void testDequeueThrowsNullPointerException2() throws Throwable { BlockingQueue blockingQueue = new BlockingQueue(); blockingQueue.setQueue(null); try { blockingQueue.dequeue(); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertEquals("blockingQueue.consumerCount()", 0, blockingQueue.consumerCount()); assertNull("blockingQueue.getQueue()", blockingQueue.getQueue()); } }