永发信息网

java 监听mq消息 底层是用线程实现的吗

答案:1  悬赏:10  手机版
解决时间 2021-11-11 13:56
java 监听mq消息 底层是用线程实现的吗
最佳答案
不是通过线程实现的,它是通过一种注册--通知机制实现的。在java的设计模式中,有一种模式叫:观察者模式,和这个类似。举个例子,本例子是一个简单的监听当数据发生变化时要做的操作。
1,我们先定义一个接口,可以让多个监听者实现
public interface IDataListen {

public void update(Object event,Object msg);
}2,实现一监听者
public class DataListen implements IDataListen{

@Override
public void update(Object event, Object arg) {
// TODO Auto-generated method stub
System.out.println("数据发生了变化");
}

}3,被监听者
public class DataManager{

private List listenList = new ArrayList<>();

public void notifyListen(Object event,Object msg){
for(IDataListen dataListen : listenList){
dataListen.update(null, null);
}
}

public void addListen(IDataListen dataListen){
listenList.add(dataListen);
}

public void updateData(Object msg){
this.notifyListen(null, msg);
}

public static void main(String[] args) {
DataManager dataManager = new DataManager();
IDataListen dataListen1 = new DataListen();
IDataListen dataListen2 = new DataListen();

dataManager.addListen(dataListen1);
dataManager.addListen(dataListen2);
dataManager.updateData("aaa");
}
}main方法里面是监听的应用。这样就可以监听DataManager中的updateData行为了,当有数据发生变化时,就可以即时被监听者收到。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道江淮帅铃T6如何,买过的说一下感受。
男子衣柜地址有知道的么?有点事想过去!
东田青年城怎么样?好不好?值不值得买?
下午一点50分出生
鼠目寸光的鼠字怎么写
着迷鲜花坊地址在什么地方,我要处理点事!
在静压桩基施工中,出现断桩、短桩、无法压桩
哪个短信平台比较好 短信平台收费
箱梁浇注零下几度不能施工
天然粉水晶带了六、七年了都没消过磁,听说差
注册一个粮油米面的商标名
拓锐国际有什么成功的案例吗?
高招帮填报志愿怎么样,好用不好
谁有昙花的图片给我一张。
惠州作文大赛2016
推荐资讯
关于宁波的诗句
k726列车途径站点
重汽王牌和东风蓝牌自卸车,那款的超载性能和
艺铭天成文化艺术学校(纪庄子北道)地址在什么
猜谜语五根竹子三长二短
(2a-b)(a+b)计算
瑞通驾校(乌鲁木齐天山区)地址在什么地方,我
成都杜太路口到昭觉寺有多远?
服务创新的途径
求16,17岁男生的帅气照片,要生活照。
请问为什么在S == NULL哪里出错了
CF手游陈赫怎么样 陈赫大玩家角色获取途径
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?