Java連接Rabbitmq及connection error問題解決


Java連接Rabbitmq及connection error問題解決

😀 1.構建一個maven工程

image-20210629143822188

😁 2.導入rabbitmq的maven依賴

進入網址下載,按自己的要求選擇https://mvnrepository.com/artifact/com.rabbitmq/amqp-client

image-20210629144903756

進行人機驗證后搜索rabbitmq

image-20210629145436183

找一個下載量多的復制代碼到 pom.xml 文件下

image-20210629145717498

😡 如有報錯not found

image-20210629150211138

image-20210629150340369

😡 下面的依賴如果不弄連接時會報錯:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder

解決辦法:https://www.cnblogs.com/chuchukuoai/p/14946028.html


😘 3.Java連接Rabbitmq

package com.rabbitmq.simple; # 前面沒弄依賴這里會報錯
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;

import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) {
        ConnectionFactory connectionFactory = new ConnectionFactory();
        connectionFactory.setHost(""); # 用自己的地址就好了
        connectionFactory.setPort(5672);
        connectionFactory.setUsername("admin");
        connectionFactory.setPassword("admin");
        connectionFactory.setVirtualHost("/"); # setvirtualhost可自行修改,但是要去RabbitMQ服務端修改權限,不然會報錯
        Connection connection = null;
        Channel channel = null;
        try {
            connection = connectionFactory.newConnection("生產者");
            channel = connection.createChannel();
            String queueName = "queuel";
            channel.queueDeclare(queueName, false, false, false, null);
            String message = "hello";
            channel.basicPublish("", queueName, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (channel != null && channel.isOpen()) {
                try {
                    channel.close();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }

                if (connection != null && connection.isOpen()) {
                    try {
                        connection.close();
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                }
            }

        }
    }
}


😆 4.點擊運行去RabbitMQ服務端查看結果即可

image-20210629151302748


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM