@Override @SuppressWarnings("unchecked") public void finish() { queue.add(Null._null); }
@Override @SuppressWarnings("unchecked") public boolean add(T result) { boolean added = queue.offer(result); logger.trace("add; added: {}", added); return added; }
@Override @SuppressWarnings("unchecked") public boolean hasNext() { try { current = (T) queue.take(); if (current instanceof Null) { current = null; } } catch (InterruptedException e) { current = null; } log.trace("hasNext; current: {}", current); return current != null; }
@Override public void run() { try { long iteration = 0; while (!testContext.isStopped()) { long item = fromQueue.take(); toQueue.put(item + 1); if (iteration % 200 == 0) { log.info(Thread.currentThread().getName() + " At iteration: " + iteration+" fromQueue size="+fromQueue.size()+", toQueue size="+toQueue.size()); } iteration++; } toQueue.put(0L); totalCounter.addAndGet(iteration); } catch (InterruptedException e) { throw new RuntimeException(e); } } }
private void poll(Exchange exchange) { exchange.getOut().setBody(this.queue.poll()); }
public static void main(String[] args) throws Exception { HazelcastInstance hz1 = Hazelcast.newHazelcastInstance(); HazelcastInstance hz2 = Hazelcast.newHazelcastInstance(); IQueue<String> q1 = hz1.getQueue("q"); IQueue<String> q2 = hz2.getQueue("q"); q1.add("foo"); System.out.println("q1.size: " + q1.size() + " q2.size:" + q2.size()); q1.destroy(); System.out.println("q1.size: " + q1.size() + " q2.size:" + q2.size()); } }
private void put(Exchange exchange) throws InterruptedException { Object body = exchange.getIn().getBody(); this.queue.put(body); }
private static void executeQueue() { System.out.println("### Queue Execution Started... ###"); int key = RANDOM.nextInt(100); IQueue<Integer> queue = (IQueue<Integer>) context.getBean("queue", IQueue.class); queue.add(key); System.out.println("A random integer is added to queue."); System.out.println("Added element: " + queue.poll() + "\n"); }
@Override public int size() { return queue.size(); }
@Teardown public void teardown() { for (IQueue queue : queues) { queue.destroy(); } } }
@Override public void run() { IQueue<Object> queue = hazelcastInstance.getQueue(cacheName); if (config.getQueueConsumerMode() == HazelcastQueueConsumerMode.LISTEN) { queue.addItemListener(camelItemListener, true); } if (config.getQueueConsumerMode() == HazelcastQueueConsumerMode.POLL) { while (isRunAllowed()) { try { final Object body = queue.poll(config.getPollingTimeout(), TimeUnit.MILLISECONDS); Exchange exchange = getEndpoint().createExchange(); exchange.getOut().setBody(body); try { processor.process(exchange); } catch (Exception e) { getExceptionHandler().handleException("Error during processing", exchange, e); } } catch (InterruptedException e) { if (LOG.isDebugEnabled()) { LOG.debug("Hazelcast Queue Consumer Interrupted: {}", e, e); continue; } } } } } }
/** * Constructs the listener which will listen on the given queue. * * @param queue the queue to listen to */ public HzQueueListener(IQueue<Object> queue) { this.queue = queue; registrationId = this.queue.addItemListener(this, false); }
@Test public void testEventDrivenForOnlyREMOVEDEntryEvent() { HazelcastIntegrationTestUser user = new HazelcastIntegrationTestUser(2, "TestName2", "TestSurname2"); edDistributedQueue2.add(user); edDistributedQueue2.remove(user); Message<?> msg = edQueueChannel2.receive(HazelcastInboundChannelAdapterTestUtils.TIMEOUT); Assert.assertNotNull(msg); Assert.assertNotNull(msg.getPayload()); Assert.assertNotNull(msg.getHeaders().get(HazelcastHeaders.MEMBER)); Assert.assertEquals(EntryEventType.REMOVED.toString(), msg.getHeaders().get(HazelcastHeaders.EVENT_TYPE).toString()); Assert .assertEquals(2, (((HazelcastIntegrationTestUser) msg.getPayload()).getId())); Assert.assertEquals("TestName2", (((HazelcastIntegrationTestUser) msg.getPayload()).getName())); Assert.assertEquals("TestSurname2", (((HazelcastIntegrationTestUser) msg.getPayload()).getSurname())); }
@Override public void close() { msgTopic.removeMessageListener(registrationId); queue.clear(); } }
private void take(Exchange exchange) throws InterruptedException { exchange.getOut().setBody(this.queue.take()); }