于启动一个订阅线程,成功建立订阅并启动消息监听器之后,每当收到新的消息时即向数据库驱动模块发送消息的完整内容。
图3应用层程序的数据流图
-3-
中国科技论文在线
paper.edu
Android客户端可以选择多种接入方式进行消息的发布/订阅。所有消息通过不同的接入方式连接到网络,最终汇聚到消息网关[5],由消息网关对消息进行处理之后交由JMSProvider执行发布/订阅操作。JMSProvider对收到的发布/订阅主题进行登记,经过主题匹配及QoS检查之后,经由消息网关将匹配成功的发布消息转发给感兴趣的订阅者。
2.2
消息发布流程
图4是发布模块的时序图。接收到主控页面的准备发布消息后,发布信息填写页面被激
活。用户填写发布信息并点击发布时,将激活发布线程,同时将消息体传递给发布线程,发布线程开始执行发布操作,发布成功后线程自动结束。发布线程启动之后,数据库驱动模块也会被激活,将消息的完整内容插入到本地数据库中,数据库操作完毕并返回之后整个发布流程结束。消息的发布通过一个实现了Runnable接口的类PubTopic来实现,