概述
客户端编程模型中,大部分的步骤都是相同的。将相同的部分做成模板,将不同的部分预留接口,实现者就只需要针对不同的部分提供实现。
设计
类图
发送方客户端
说明:
基于模板的思想,SendTemplate提供了消息发送的全局实现,但是在创建消息是调用了抽象的createMessage(Session)方法,这个方法留待子类实现。
还记得JMS客户端编程模型中的消息传送模式吗?这里保留了两个模式的发送部分,并分开定义sendToQueue、snedToTopic。
代码索引
说明:
基于模板的思想,createMessageListener方法由子类提供实现。
这里也保留了两个消息传送模式,receiveFromQueue、receiveFromTopic。这两个方法都可以接收消息选择器。