论文
JMx(Java Management Extensions,Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。在JMX规范中,管理组件是一个能代表管理资源的Java对象,遵从一定的设计模式,实现该规范定义的特定的接口。该定义保证了所有的管理组件以一种标准的方式来表示被管理资源。管理接口就是被管理资源暴露出的一些信息,通过对这些信息的修改就能控制被管理资源。管理接口包括:能被接触的属性值;能够执行的操作;能发出的通知事件等。
在本系统中将每个读写器模块的远程方法调用封装为一个管理组件(MBean)作为JMX服务器的实例注册到JMX服务器中。通过JMX框架对读写器进行监控和管理,使RFID中间件系统能提供管理、监控读写器的功能。本部分描述为读写器管理组件添加时间服务,以达到定时控制读写器的目的。JMX时间服务在指定的日期和时间触发消息;也可以在一个固定间隔重复触发消息。时间服务由一个MBean实现并可以管理,能够发送它指定的TimerNotification类的消息实例。javax.management.NotificationListener由想要接收通知的对象来实现,实现方法handleNotification。对于定期通知,则使用固定延迟执行方案,如在Timer中指定的那样。为了使用固定速率执行方案,要使用addNotification方法。图5为读写器时间服务的UML设计图。
3.2 数据消息处理组件
JMS(Java Message Service)是访问企业消息系统的标准API,定义了Java中访问消息中间件的接口,但JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMS提供者(JMS Provider)。JBoss JMS的服务体系结构中,JMS Provider叫做JbossMQ。
在JMS框架中运转的方法如下:
(1)得到一个J-NDI初始化上下文(Context)。
(2)根据上下文来查找一个连接工厂。
(3)从连接工厂得到一个连接(Connect)。
(4)通过连接来建立一个会话(Session)。
(5)查找目的地(Topic/Queue)。
(6)根据会话以及目的地来建立消息制造者(TopicPublisher/QueueSender)和消费
者