商丘哪里教做网站的,做公众号的素材网站,在线crm有哪些优势,wordpress 作者列表前面已经使用数据库管理了交换机、绑定、队列#xff0c;然后又使用了数据文件管理了消息。
那么#xff0c;这里就创建一个类#xff0c;讲之前的两个部分整合起来#xff0c;对上层提供统一的一套接口#xff0c;表示硬盘上存储的所有的类的信息。 /*
* 用这个类来管理…前面已经使用数据库管理了交换机、绑定、队列然后又使用了数据文件管理了消息。
那么这里就创建一个类讲之前的两个部分整合起来对上层提供统一的一套接口表示硬盘上存储的所有的类的信息。 /*
* 用这个类来管理所有硬盘上的数据
* 1.数据库交换机、绑定、队列
* 2.数据文件消息
* */
public class DiskDataCenter {
// 用这个示例来管理数据库中的数据private DataBaseManger dataBaseManger new DataBaseManger();
// 用这个表示数据文件中的数据private MessageFileManger messageFileManger new MessageFileManger();public void init(){
// 针对上述的两个示例进行初始化dataBaseManger.init();messageFileManger.init();}/*封装数据库操作*/
// 封装交换机操作public void insertExchange(Exchange exchange){dataBaseManger.insertExchange(exchange);}public void deleteExchange(String exchangeName){dataBaseManger.deleteExchange(exchangeName);}public ListExchange selectAllExchanges(){return dataBaseManger.selectAllExchanges();}// 封装队列操作public void insertQueue(MSGQueue queue) throws IOException {dataBaseManger.insertQueue(queue);
// 创建队列的同时,不仅需要把队列对象写道数据库中,还需要创建出对应的目录和文件messageFileManger.createQueueFiles(queue.getName());}public void deleteQueue(String queueName) throws IOException {dataBaseManger.deleteQueue(queueName);
// 删除队列的同时,不仅需要把队列对象从数据库中删除,还需要删除出对应的目录和文件messageFileManger.destroyQueueFiles(queueName);}public ListMSGQueue selectAllQueues(){return dataBaseManger.selectAllQueues();}// 封装绑定操作public void insertBinding(Binding binding){dataBaseManger.insertBinding(binding);}public void deleteBinding(Binding binding){dataBaseManger.deleteBinding(binding);}public ListBinding selectAllBindings(){return dataBaseManger.selectAllBindings();}/*封装消息操作*/
// 发送操作public void sendMessage(MSGQueue queue, Message message) throws IOException, MqException {messageFileManger.sendMessage(queue,message);}// 删除操作public void deleteMessage(MSGQueue queue,Message message) throws IOException, ClassNotFoundException, MqException {messageFileManger.deleteMessage(queue, message);if (messageFileManger.checkGC(queue.getName())){messageFileManger.gc(queue);}}// 将信息加载到内存public LinkedListMessage loadAllMessageFromQueue(String queueName) throws IOException, MqException, ClassNotFoundException {return messageFileManger.loadAllMessageFromQueue(queueName);}} 创建了这个类我们就不用去直接调用DataBaseManager和MessageFileManager里面得方法了。