使用管理规则,可以自动执行日常管理任务、针对不同的运行时条件配置应用服务器的自我调整以及通过对故障进行预防来提高可用性。管理规则包含发生指定的事件或达到设置的阈值时要执行的操作。您可以设置能够根据您指定的事件自动执行纠错操作的管理规则。
管理规则包括两部分-事件和操作:
事件使用 JMX 通知机制触发预定义的操作。
发生关联的事件时,会触发操作。操作是 MBean,此 MBean 是实现 javax.management.NotificationListener 的通知侦听器。
例如,事件可能是 EJB 记录程序记录的 SEVERE 消息,操作可能是用日志消息内容警告管理员。发生事件时,事件数据将作为 javax.management.Notification 的 userData 部分的一部分进行传递。
您的规则中指定的操作必须作为自定义 MBean 执行。因此,配置管理规则之前,应该部署用于接收事件通知并采取相应操作的自定义 MBean。有关开发并部署自定义 MBean 的详细信息,请参见《Sun Java System Application Server 9.1 Developer’s Guide》中的第 14 章 “Developing Custom MBeans”。
Application Server 提供一些有用的事件,您可以通过编写发送通知的自定义 MBean 来进一步扩展这些事件。可以通过更改事件属性的方法来进一步自定义每个事件。
可用的事件类型如下:
监视事件:监视 MBean 的属性。监视事件的功能与 javax.management.monitor 软件包相似。除了与 Java SE 5 javax.management.monitor 一样监视简单属性之外,监视事件还支持监视复杂属性。
通知事件:通知来自自定义 MBean 的事件。可以使用这些事件编写自定义事件,从而扩展事件字典。任何能够发出通知的 MBean 都可以是事件。
系统事件:
生命周期:服务器启动、关闭和终止的事件。
日志:指定的记录程序写入日志条目时触发的事件。例如,您可以创建当 EJB 容器记录程序记录 SEVERE 日志条目时给管理员发送警报的管理规则。
计时器:在指定的日期和时间、以指定的间隔等触发的事件。这些事件的功能与 javax.management.timer 软件包相似。
跟踪:HTTP/IIOP 请求方法、EJB 方法和 Web 方法的 Entry 和 Exit 触发的事件。例如,您可以使用 Web 方法 Entry 和 Exit 事件来设计一个用于记录与 servlet 的交互的 servlet 过滤器作为管理规则。
群集:群集或实例启动、停止或失败时触发的事件。这些事件使用“组管理系统”群集监视。