Example usage for com.rabbitmq.client Channel basicPublish

List of usage examples for com.rabbitmq.client Channel basicPublish

Introduction

In this page you can find the example usage for com.rabbitmq.client Channel basicPublish.

Prototype

void basicPublish(String exchange, String routingKey, BasicProperties props, byte[] body) throws IOException;

Source Link

Document

Publish a message.

Usage

From source file:SendMessage.java

public static void main(String[] argv) throws Exception {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    String message = "Message 004!";

    channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();//from   w w w  .  j  av a 2 s . c  om
    connection.close();
}

From source file:TestUfms.java

public static void main(String[] args) throws Exception {
    // AMQP/*from w ww . jav a 2s. c  o m*/

    //      UfmsProto.RegCompany.Builder builderRegCompany = UfmsProto.RegCompany.newBuilder();
    //      builderRegCompany.setAddress("11-chaulong");
    //      builderRegCompany.setCompany("CPR_0101885631");
    //      builderRegCompany.setName("cadpro");
    //      builderRegCompany.setTel("0437152984");      
    //      UfmsProto.RegCompany rc = builderRegCompany.build();
    //      UfmsProto.BaseMessage rcMsg = UfmsProto.BaseMessage.newBuilder().setMsgType(UfmsProto.BaseMessage.MsgType.RegCompany).setExtension(UfmsProto.RegCompany.msg, rc).build();      
    //      byte[] rcData = rcMsg.toByteArray();
    //      System.out.println(rcMsg.toString());
    //      
    //      
    //      UfmsProto.RegDriver.Builder builderRegDriver = UfmsProto.RegDriver.newBuilder();
    //      builderRegDriver.setDatetimeExpire(1981979234);
    //      builderRegDriver.setDatetimeIssue(1095379200);
    //      builderRegDriver.setDriver("CPR_010099045659");
    //      builderRegDriver.setLicense("B2");
    //      builderRegDriver.setName("Dao Duy Hung");
    //      builderRegDriver.setRegPlace("Ha Noi");
    //      UfmsProto.RegDriver rd = builderRegDriver.build();
    //      UfmsProto.BaseMessage rdMsg = UfmsProto.BaseMessage.newBuilder().setMsgType(UfmsProto.BaseMessage.MsgType.RegDriver).setExtension(UfmsProto.RegDriver.msg, rd).build();      
    //      byte[] rdData = rdMsg.toByteArray();
    //      System.out.println(rdMsg.toString());
    //      
    //      UfmsProto.RegVehicle.Builder builderRegVehicle = UfmsProto.RegVehicle.newBuilder();
    //      builderRegVehicle.setCompany("CPR_0101885631");
    //      builderRegVehicle.setDatetime(1481979234);
    //      builderRegVehicle.setDeviceId("CPR_01");
    //      builderRegVehicle.setDeviceModel("CPR_Model_1");
    //      builderRegVehicle.setDeviceModelNo(1);
    //      builderRegVehicle.setDriver("CPR_010099045659");
    //      builderRegVehicle.setSim("0966871864");
    //      builderRegVehicle.setVehicle("29A1511");
    //      builderRegVehicle.setVehicleType(VehicleType.HopDong);
    //      builderRegVehicle.setVin("01");
    //      UfmsProto.RegVehicle rv = builderRegVehicle.build();
    //      UfmsProto.BaseMessage rvMsg = UfmsProto.BaseMessage.newBuilder().setMsgType(UfmsProto.BaseMessage.MsgType.RegVehicle).setExtension(UfmsProto.RegVehicle.msg, rv).build();      
    //      byte[] rvData = rvMsg.toByteArray();
    //      System.out.println(rvMsg.toString());

    ConnectionFactory factory = new ConnectionFactory();

    factory.setHost("27.118.27.118");
    factory.setUsername("ctchaulong");
    factory.setPassword("EHjt81_FI");
    factory.setPort(5673);

    factory.setConnectionTimeout(600);

    Connection connection = factory.newConnection();
    System.out.println("creat connection done!");
    Channel channel = connection.createChannel();
    System.out.println("creat channel done!");

    int i = 0;
    // build WayPoint message 
    boolean a = true;
    while (a) {
        i++;

        UfmsProto.WayPoint.Builder builder = UfmsProto.WayPoint.newBuilder();
        int now = (int) (System.currentTimeMillis() / 1000);
        builder.setDatetime(now);
        builder.setDoor(true);
        builder.setDriver("010099045659");
        builder.setHeading(90);
        builder.setIgnition(true);
        builder.setSpeed(0); //<200
        //builder.setVehicle("29A1511");
        builder.setVehicle("29A1516");
        //builder.setVehicle("29K-8942");
        builder.setX(105.8445795); //> 0
        builder.setY(21.0306089); //>0
        //         builder.setX(021.0306089); //>0
        //         builder.setY(105.8445795); //> 0         
        builder.setZ(20); //>0            21.0306089,105.8445795,16z

        UfmsProto.WayPoint wp = builder.build();
        UfmsProto.BaseMessage msg = UfmsProto.BaseMessage.newBuilder()
                .setMsgType(UfmsProto.BaseMessage.MsgType.WayPoint).setExtension(UfmsProto.WayPoint.msg, wp)
                .build();
        byte[] data = msg.toByteArray();
        System.out.println(msg.toString());

        // send to server
        //channel.basicPublish("ufms.all", "", null, data);
        //      channel.basicPublish("tracking.ctpmdktest", "track1", null, rcData);
        //      channel.basicPublish("tracking.ctpmdktest", "track1", null, rdData);
        //      channel.basicPublish("tracking.ctpmdktest", "track1", null, rvData);   

        channel.basicPublish("tracking.ctchaulong", "track1", null, data);
        try {
            System.out.println("Send [" + i + "] time(s)! sleep in 1s...");
            Thread.sleep(1000); //1000 milliseconds is one second.
        } catch (InterruptedException ex) {
            Thread.currentThread().interrupt();
        }

    }
    // clean up
    channel.close();
    connection.close();
    //      System.out.println("send done! ");
}

From source file:ThreadWorkers.java

private static String doWork(String task) throws InterruptedException, IOException {
    //for (char ch: task.toCharArray()) {
    //  if (ch == '.') Thread.sleep(1000);
    //}//from  w ww  . j  ava 2  s .c om
    String result = "empty result";
    long threadId = Thread.currentThread().getId();
    System.out.println("in thread>>>>" + threadId);

    if (task.equalsIgnoreCase(""))
        return result;
    if (task == null)
        return result;
    //if(task.charAt(0)=='f' || task.charAt(0)=='1') return result;

    if (task.charAt(0) == 'f')
        result = "factorial of " + task.substring(1) + ">>" + factor(task.substring(1)).toString();
    else if (task.charAt(0) == 'p') {

        if (isPrime(task.substring(1).toString()))
            result = task.substring(1).toString() + " is prime";
        else
            result = task.substring(1).toString() + " is not prime";
    } else {
        result = "exponent " + task.substring(1) + ">>" + exp(task.substring(1)).toString();
    }
    // sending result
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    channel.queueDeclare(TASK_QUEUE_REPLY_NAME, true, false, false, null);
    //String[] msg= {"10","second",".........."};
    //String[] msg= {"1","second","."};
    //String message ="rvr";// getMessage(msg);

    channel.basicPublish("", TASK_QUEUE_REPLY_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, result.getBytes());
    System.out.println(" [x] Sent reply to client:: '" + result + "'");

    channel.close();
    connection.close();

    return result;
}

From source file:RabbitMQConnector.java

License:Open Source License

@Override
boolean sendMsg(String msg) {
    try {//w  ww .j a  v  a  2 s.c om
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        AMQP.Queue.DeclareOk myQueue = channel.queueDeclare(queueName, true, false, false, null);
        String message = msg;
        channel.basicPublish("", queueName, null, message.getBytes());
        channel.close();
        connection.close();
    } catch (Exception ex) {
        return false;
    }
    return true;
}

From source file:SenderUtil.java

public void sendMessage(String msg) throws IOException {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);
    //String[] msg= {"10","second",".........."};
    //String[] msg= {"1","second","."};
    String message = msg;//getMessage(msg);

    channel.basicPublish("", TASK_QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();/*ww w.ja v a 2  s  .  c om*/
    connection.close();

}

From source file:RabbitMQsender.java

private void publish(Channel channel, String routingKey, String message) throws Exception {
    channel.basicPublish("esperExchange", routingKey, null, message.getBytes());
}

From source file:at.ac.tuwien.dsg.cloud.utilities.messaging.lightweight.rabbitMq.channel.SendingChannel.java

License:Apache License

public void sendMessage(String type, RabbitMqMessage msg) throws ChannelException {
    try {/*w  w w.  j a  va2s. c o m*/
        byte[] body = this.serializer.serialze(msg);
        Channel channel = this.getChannel();
        channel.basicPublish(ARabbitChannel.EXCHANGE_NAME, type, null, body);
        channel.close();
    } catch (IOException ex) {
        logger.error(String.format("Error while sending message with type %s!", type), ex);
    }
}

From source file:bank.OurRabbitBank.java

private static void sendToNormalizer(Message msg, AMQP.BasicProperties props) {
    try {//  w ww.j av a 2 s .  c om
        Gson g = new Gson();
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("datdb.cphbusiness.dk");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        //channel.exchangeDeclare(ExchangeName.OUR_JSON_BANK_RESPONSE, "direct");

        int ssn = Integer.valueOf(msg.getSsn());
        double interestRate = calcRate();
        String bank = "OurRabbitBank";
        String correlationId = props.getCorrelationId();

        LoanResponse response = new LoanResponse(ssn, interestRate, bank, correlationId);

        String res = g.toJson(response);

        channel.basicPublish(ExchangeName.OUR_JSON_BANK_RESPONSE, "", props, res.getBytes());

        System.out.println(" [x] Sent '" + res + "'");

        channel.close();
        connection.close();
    } catch (Exception e) {
        System.out.println("Error in OutRabbitBank: " + e.getMessage());
    }
}

From source file:brooklyn.entity.messaging.rabbit.RabbitEc2LiveTest.java

License:Apache License

@Override
protected void doTest(Location loc) throws Exception {
    RabbitBroker rabbit = app.createAndManageChild(EntitySpec.create(RabbitBroker.class));
    rabbit.start(ImmutableList.of(loc));
    EntityTestUtils.assertAttributeEqualsEventually(rabbit, RabbitBroker.SERVICE_UP, true);

    byte[] content = "MessageBody".getBytes(Charsets.UTF_8);
    String queue = "queueName";
    Channel producer = null;
    Channel consumer = null;/* w  w w .  jav a2 s .c o  m*/
    try {
        producer = getAmqpChannel(rabbit);
        consumer = getAmqpChannel(rabbit);

        producer.queueDeclare(queue, true, false, false, Maps.<String, Object>newHashMap());
        producer.queueBind(queue, AmqpExchange.DIRECT, queue);
        producer.basicPublish(AmqpExchange.DIRECT, queue, null, content);

        QueueingConsumer queueConsumer = new QueueingConsumer(consumer);
        consumer.basicConsume(queue, true, queueConsumer);

        QueueingConsumer.Delivery delivery = queueConsumer.nextDelivery();
        assertEquals(delivery.getBody(), content);
    } finally {
        if (producer != null)
            producer.close();
        if (consumer != null)
            consumer.close();
    }
}

From source file:brooklyn.entity.messaging.rabbit.RabbitIntegrationTest.java

License:Apache License

/**
 * Test that an AMQP client can connect to and use the broker.
 *//*w ww .j a  v a2  s. c  o m*/
@Test(groups = { "Integration", "WIP" })
public void testClientConnection() throws Exception {
    rabbit = app.createAndManageChild(EntitySpec.create(RabbitBroker.class));
    rabbit.start(ImmutableList.of(testLocation));
    EntityTestUtils.assertAttributeEqualsEventually(rabbit, Startable.SERVICE_UP, true);

    byte[] content = "MessageBody".getBytes(Charsets.UTF_8);
    String queue = "queueName";
    Channel producer = null;
    Channel consumer = null;
    try {
        producer = getAmqpChannel(rabbit);
        consumer = getAmqpChannel(rabbit);

        producer.queueDeclare(queue, true, false, false, ImmutableMap.<String, Object>of());
        producer.queueBind(queue, AmqpExchange.DIRECT, queue);
        producer.basicPublish(AmqpExchange.DIRECT, queue, null, content);

        QueueingConsumer queueConsumer = new QueueingConsumer(consumer);
        consumer.basicConsume(queue, true, queueConsumer);

        QueueingConsumer.Delivery delivery = queueConsumer.nextDelivery(60 * 1000l); // one minute timeout
        assertEquals(delivery.getBody(), content);
    } finally {
        closeSafely(producer, 10 * 1000);
        closeSafely(consumer, 10 * 1000);
    }
}