Java使用RabbitMQ(一)--基本用法

关于java使用rabbitMq的基本用法

创建连接


    public static ConnectionFactory factory;
    public static Connection getConnection(String username,String password,String host,int port,String virtualhost) {
        if (factory==null){
            factory=getFactory(username,password,host,port,virtualhost);
        }
        try {
            return factory.newConnection();
        } catch (Exception e) {
            throw new RuntimeException("创建rabbit client 连接失败"+e);
        }
    }

    private synchronized static ConnectionFactory getFactory(String username, String password, String host, int port, String virtualhost) {
        if (factory!=null)
            return factory;
        ConnectionFactory factory=new ConnectionFactory();
        factory.setUsername(username);
        factory.setPassword(password);
        factory.setVirtualHost(virtualhost);
        factory.setHost(host);
        factory.setPort(port);

        return factory;
    }

因为 这个connection是 长连接,所以不建议每个操作都创建一个connection,因为那样会产生很多额外的网络开销。

创建channel:

  Channel channel=connection.createChannel()

通道也是长连接的,但是程序抛出异常时,可能导致通道被关闭,所以它的生命周期要比 connection短点,对每个操作打开和关闭一个通道是可以的(但通常不是必要的)。

尝试消费一个不存在的队列消息,会抛出异常导致channel关闭,channel一旦关闭就不能再使用了,需要创建新的channel。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值