Package com.netflix.suro.message

Examples of com.netflix.suro.message.Message


    @Test
    public void test() {
        SyncSuroClient client = injector.getInstance(SyncSuroClient.class);
        client.send(TestConnectionPool.createMessageSet(100));
        client.send(new Message("routingKey", "testMessage".getBytes()));

        assertEquals(client.getSentMessageCount(), 101);

        TestConnectionPool.checkMessageSetCount(servers, 2, false);
        TestConnectionPool.checkMessageCount(servers, 101);
View Full Code Here


        AsyncSuroClient client = injector.getInstance(AsyncSuroClient.class);

        long start = System.currentTimeMillis();
        for (int i = 0; i < 100; ++i) {
            client.send(new Message("routingKey", "testMessage".getBytes()));
        }

        while (client.getSentMessageCount() < 100) {
            Thread.sleep(100);
        }
View Full Code Here

        setupFile(props);

        AsyncSuroClient client = injector.getInstance(AsyncSuroClient.class);

        for (int i = 0; i < 3000; ++i) {
            client.send(new Message("routingKey", "testMessage".getBytes()));
        }
        client.shutdown();

        assertEquals(client.queuedMessageSetCount, 2);
View Full Code Here

        final ArrayList<SuroKeyedMessage> msgCopies =
                new ArrayList<SuroKeyedMessage>( msgList.size() );
        for( Message m : msgList ){
            SuroKeyedMessage sKeyedMsg = (SuroKeyedMessage) m;
            msgCopies.add( new SuroKeyedMessage( sKeyedMsg.getKey(),
                                                 new Message( m.getRoutingKey(), m.getPayload() )));
        }

        // The new KafkaProducer does not have interface for sending multiple messages,
        // so we loop and create lots of Runnables -- this seems inefficient, but the alternative
        // has its own problems.  If we create one "big Runnable" that loops over messages we'll
View Full Code Here

                            pausedTime.addAndGet(-pause);
                        }
                        byte[] message = stream.next().message();
                        router.process(
                                KafkaConsumer.this,
                                new DefaultMessageContainer(new Message(topic, message), jsonMapper));
                    } catch (ConsumerTimeoutException timeoutException) {
                        // do nothing
                    } catch (Exception e) {
                        log.error("Exception on consuming kafka with topic: " + topic, e);
                    }
View Full Code Here

        assertEquals(queue.size(), 0);
        assertEquals(queue.isEmpty(), true);
        assertEquals(queue.drain(100, new LinkedList<Message>()), 0);

        for (int i = 0; i < 100; ++i) {
            queue.offer(new Message("routingkey" + i, ("value" + i).getBytes()));
        }

        assertEquals(queue.size(), 100);
        assertEquals(queue.isEmpty(), false);
View Full Code Here

        assertEquals(queue.size(), 0);
        assertEquals(queue.isEmpty(), true);
        assertEquals(queue.drain(100, new LinkedList<Message>()), 0);

        for (int i = 0; i < 100; ++i) {
            queue.offer(new Message("routingkey" + i, ("value" + i).getBytes()));
        }

        assertEquals(queue.size(), 100);
        assertEquals(queue.isEmpty(), false);
View Full Code Here

        try {
            Map<String, Object> blob = jsonMapper.readValue(data, S3Consumer.typeReference);
            List<Map<String, Object>> records = (List<Map<String, Object>>) blob.get("Records");
            for (Map<String, Object> record : records) {
                messages.add(new DefaultMessageContainer(
                        new Message(routingKey, jsonMapper.writeValueAsBytes(record)),
                        jsonMapper));
            }
        } catch (Exception e) {
            log.error("Exception on parsing: " + e.getMessage(), e);
            DynamicCounter.increment(
View Full Code Here

    @Override
    public List<MessageContainer> parse(String data) {
        if (routingKey != null) {
            return new ImmutableList.Builder<MessageContainer>()
                    .add(new DefaultMessageContainer(
                            new Message(routingKey, data.getBytes()),
                            jsonMapper))
                    .build();
        } else {
            try {
                Map<String, Object> record = jsonMapper.readValue(data, S3Consumer.typeReference);
                String routingKeyOnRecord = record.get(routingKeyField).toString();
                if (Strings.isNullOrEmpty(routingKeyOnRecord)) {
                    routingKeyOnRecord = routingKey;
                }
                if (!Strings.isNullOrEmpty(routingKeyOnRecord)) {
                    return new ImmutableList.Builder<MessageContainer>()
                            .add(new DefaultMessageContainer(
                                    new Message(routingKeyOnRecord, data.getBytes()),
                                    jsonMapper))
                            .build();
                } else {
                    return new ArrayList<MessageContainer>();
                }
View Full Code Here

                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    for (int j = 0; j < 10000; ++j) {
                        String str = generateRandomString();
                        Message msg = new Message("testRoutingKey", str.getBytes());
                        queue.offer(msg);
                    }

                    latch.countDown();
                }
            });
        }
        executors.execute(new Runnable() {

            @Override
            public void run() {
                for (int i = 0; i < threadCount * 10000; ++i) {
                    Message msg = queue.poll();
                    assertEquals(msg.getRoutingKey(), "testRoutingKey");
                    assertEquals(new String(msg.getPayload()).length(), 4096);
                }
                latch.countDown();
            }
        });
        startLatch.countDown();
View Full Code Here

TOP

Related Classes of com.netflix.suro.message.Message

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.