java.util.concurrent.TransferQueue Java Examples
The following examples show how to use
java.util.concurrent.TransferQueue.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: datacollector Author: streamsets File: TestStreamSetsMessageConsumer.java License: Apache License 2.0 | 6 votes |
@Test public void testConsumerSingleMessage() throws Exception { TransferQueue<RabbitMessage> messages = new LinkedTransferQueue<>(); Channel channel = mock(Channel.class); final Consumer consumer = new StreamSetsMessageConsumer(channel, messages); final Envelope envelope = new Envelope(1L, false, EXCHANGE_NAME, QUEUE_NAME); executor.submit(new Runnable() { @Override public void run() { try { consumer.handleDelivery("consumerTag", envelope, null, TEST_MESSAGE_1.getBytes()); } catch (IOException ignored) { // no op } } }); RabbitMessage message = messages.take(); assertEquals(TEST_MESSAGE_1, new String(message.getBody(), StandardCharsets.UTF_8)); }
Example #2
Source Project: multiway-pool Author: ben-manes File: EliminationProfile.java License: Apache License 2.0 | 6 votes |
Runnable newLinkedTransferQueueRunner() { final TransferQueue<Integer> queue = new LinkedTransferQueue<>(); return new Runnable() { @Override public void run() { final ThreadLocalRandom random = ThreadLocalRandom.current(); for (;;) { if (random.nextBoolean()) { queue.offer(ELEMENT); } else { queue.poll(); } calls.increment(); } } }; }
Example #3
Source Project: Java-Coding-Problems Author: PacktPublishing File: Main.java License: MIT License | 5 votes |
public static void main(String[] args) throws InterruptedException { System.setProperty("java.util.logging.SimpleFormatter.format", "[%1$tT] [%4$-7s] %5$s %n"); Thread thread = new Thread(() -> { TransferQueue<String> queue = new LinkedTransferQueue<>(); while (!Thread.currentThread().isInterrupted()) { try { logger.info(() -> "For 3 seconds the thread " + Thread.currentThread().getName() + " will try to poll an element from queue ..."); queue.poll(3000, TimeUnit.MILLISECONDS); } catch (InterruptedException ex) { logger.severe(() -> "InterruptedException! The thread " + Thread.currentThread().getName() + " was intrrupted!"); Thread.currentThread().interrupt(); // comment this line to see the effect } } logger.info(() -> "The execution was stopped!"); }); thread.start(); Thread.sleep(1500); thread.interrupt(); }
Example #4
Source Project: Wisp Author: Coreoz File: ScalingThreadPoolExecutor.java License: Apache License 2.0 | 4 votes |
public DynamicBlockingQueue(final TransferQueue<E> delegate) { this.delegate = delegate; }
Example #5
Source Project: datacollector Author: streamsets File: RabbitSource.java License: Apache License 2.0 | 4 votes |
TransferQueue<RabbitMessage> getMessageQueue() { return messages; }
Example #6
Source Project: datacollector Author: streamsets File: RabbitSourceTest.java License: Apache License 2.0 | 4 votes |
@Test public void testHeaderProcessing() throws Exception { ((RabbitSourceConfigBean)conf).basicConfig.maxWaitTime = 1000; // Set this low so that we don't slow down the test. stage = PowerMockito.spy(newStage()); // setup some fake data and force it onto the source's queue RabbitSource source = (RabbitSource)stage; TransferQueue<RabbitMessage> messages = source.getMessageQueue(); Envelope envelope = new Envelope(DELIVERY_TAG, REDELIVERED, EXCHANGE_NAME, QUEUE_NAME); AMQP.BasicProperties.Builder propertiesBuilder = new AMQP.BasicProperties.Builder(); propertiesBuilder.contentType(CONTENT_TYPE); Map<String, Object> customHeaders = new HashMap<>(); customHeaders.put(CUSTOM_HEADER_KEY, CUSTOM_HEADER_VAL); propertiesBuilder.headers(customHeaders); propertiesBuilder.clusterId(CLUSTER_ID); AMQP.BasicProperties properties = propertiesBuilder.build(); RabbitMessage msg = new RabbitMessage(CONSUMER_TAG, envelope, properties, TEST_MESSAGE_1.getBytes()); source.getMessageQueue().put(msg); doReturn(new ArrayList<Stage.ConfigIssue>()).when((RabbitSource)stage).init(); PowerMockito.doReturn(false).when(stage, "isConnected"); this.runner = newStageRunner("output"); // setup items which are not correctly configured in init Channel channel = mock(Channel.class); StreamSetsMessageConsumer consumer = new StreamSetsMessageConsumer(channel, messages); source.setStreamSetsMessageConsumer(consumer); DataParserFactory parserFactory = new DataParserFactoryBuilder(runner.getContext(), DataParserFormat.JSON) .setCharset(StandardCharsets.UTF_8) .setMode(JsonMode.MULTIPLE_OBJECTS) .setMaxDataLen(-1) .build(); source.setDataParserFactory(parserFactory); runner.runInit(); StageRunner.Output output = ((SourceRunner)runner).runProduce(null, 1000); List<Record> records = output.getRecords().get("output"); assertEquals(1, records.size()); Record record = records.get(0); assertEquals(String.valueOf(DELIVERY_TAG), record.getHeader().getAttribute("deliveryTag")); assertEquals(String.valueOf(REDELIVERED), record.getHeader().getAttribute("redelivered")); assertEquals(EXCHANGE_NAME, record.getHeader().getAttribute("exchange")); assertEquals(CONTENT_TYPE, record.getHeader().getAttribute("contentType")); assertNull(record.getHeader().getAttribute("appId")); assertEquals(CUSTOM_HEADER_VAL, record.getHeader().getAttribute(CUSTOM_HEADER_KEY)); runner.runDestroy(); }
Example #7
Source Project: tutorials Author: eugenp File: Consumer.java License: MIT License | 4 votes |
Consumer(TransferQueue<String> transferQueue, String name, int numberOfMessagesToConsume) { this.transferQueue = transferQueue; this.name = name; this.numberOfMessagesToConsume = numberOfMessagesToConsume; }
Example #8
Source Project: tutorials Author: eugenp File: Producer.java License: MIT License | 4 votes |
Producer(TransferQueue<String> transferQueue, String name, Integer numberOfMessagesToProduce) { this.transferQueue = transferQueue; this.name = name; this.numberOfMessagesToProduce = numberOfMessagesToProduce; }
Example #9
Source Project: logging-log4j2 Author: apache File: AsyncAppender.java License: Apache License 2.0 | 4 votes |
private boolean transfer(final LogEvent memento) { return queue instanceof TransferQueue ? ((TransferQueue<LogEvent>) queue).tryTransfer(memento) : queue.offer(memento); }
Example #10
Source Project: datacollector Author: streamsets File: StreamSetsMessageConsumer.java License: Apache License 2.0 | 2 votes |
/** * Constructs a new instance and records its association to the passed-in channel. * * @param channel the channel to which this consumer is attached */ public StreamSetsMessageConsumer(Channel channel, TransferQueue<RabbitMessage> records) { super(channel); this.records = records; }