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

释放双眼,带上耳机,听听看~!

关于java使用rabbitMq的基本用法

创建连接


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2    public static ConnectionFactory factory;
3    public static Connection getConnection(String username,String password,String host,int port,String virtualhost) {
4        if (factory==null){
5            factory=getFactory(username,password,host,port,virtualhost);
6        }
7        try {
8            return factory.newConnection();
9        } catch (Exception e) {
10            throw new RuntimeException("创建rabbit client 连接失败"+e);
11        }
12    }
13
14    private synchronized static ConnectionFactory getFactory(String username, String password, String host, int port, String virtualhost) {
15        if (factory!=null)
16            return factory;
17        ConnectionFactory factory=new ConnectionFactory();
18        factory.setUsername(username);
19        factory.setPassword(password);
20        factory.setVirtualHost(virtualhost);
21        factory.setHost(host);
22        factory.setPort(port);
23
24        return factory;
25    }
26

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

创建channel:


1
2
1Channel channel=connection.createChannel()
2

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

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

给TA打赏
共{{data.count}}人
人已打赏
安全网络

CDN安全市场到2022年价值76.3亿美元

2018-2-1 18:02:50

安全运维

zabbix监控nginx

2021-8-18 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索