Rabbit Mq

  • Rabbit mq indirilir. MacOS için brew ile indirdim ben.
  • Rabbit mq inerken Erlang da indirilmesi gerekir. Brew ile indirdiğimiz için gerekli Erlang dosyaları da indirilmiş oldu

Bulunduğu dizin /usr/local/Cellar/rabbitmq

brew services start rabbitmq

Rabbitmq u başlatmak için

Rabbitmq command line app rabbitmqctl olan uygulama

Rabbitmq nun çalışıp çalışmadığını

./rabbitmqcty status

Bu arayüz sayesinde detaylı bilgilere erişilebilmekte ancak, rabbitmq biz bir web arayüzü de sağlıyor. Ancak bu arayüz default olarak kapalı durumuda. Bunu açmak için

./rabbitmq-plugins enable rabbitmq_management

Bu işlem web plugin i indirecek

ardından tekrar status e bakalım

./rabbitmqctl status

.
.
.
.
.
Interface: [::], port: 15672, protocol: http, purpose: HTTP API
.
.
.

Aşağılara doğru HTTP port u görülecektir. Default olarak 15672.

Username: guest
Password: guest

Basit bir uygulama yazalım#

public static void main(String[] args) {
        ConnectionFactory connectionFactory = new ConnectionFactory();

        try (Connection connection = connectionFactory.newConnection()){
            Channel channel = connection.createChannel();
            channel.queueDeclare("hello-world", false, false, false, null);

            String message = "Test message";

            channel.basicPublish("", "hello-world", false, null, message.getBytes());

            System.out.println("Message has been sent");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (TimeoutException e) {
            e.printStackTrace();
        }
    }

Mesaj gönderildi. Şimdi mesaja bakalım

Konsoldan bakmak için

./rabbitmqctl list_queues