警报持久性体系结构包含以下数据库。
Enterprise Manager 的嵌入式数据库。
一个可用来持久保存警报的外部数据库。对于每个域,该外部数据库都包含一个警报表。
默认情况下,不会将警报持久保存到外部数据库中。本主题介绍了如何启用持久性。
一定要了解各种持久性配置的行为。
如果禁用了持久性,则会生成警报,并将其发送到当前运行的任意监视实例。监视实例只能包含一个 Enterprise Manager 实例,但可以包含任意数量的客户端(使用警报管理 API)。有关警报管理 API 的详细信息,请参见《Java CAPS Management and Monitoring APIs》。
如果启用了持久性并禁用了日记功能,则会将警报暂时存储在外部数据库中。系统会尽最大可能将警报发送到所有监视实例。当可靠客户端指示已收到某个警报时,将会从该数据库中删除该警报。
每次只能有一个可靠客户端。最近请求可靠传送的客户端将变为可靠客户端。在启动 Enterprise Manager 时,该服务器将请求可靠传送。如果使用警报管理 API 的客户端订阅了警报通知服务,则可以请求可靠传送。
如果关闭了可靠客户端,则在下次请求可靠传送之前,将没有可靠客户端。
如果同时启用了持久性和日记功能,则会将警报永久存储在外部数据库中。当客户端使用某个警报时,并不会将该警报从数据库中删除。
外部数据库可以采用以下任何数据库类型。Sun Java System Application Server 附带提供了 Derby 数据库,但未提供其他数据库类型。
DB2
Derby
Oracle
PointBase
Sybase
如果要使用 Derby 以外的数据库类型,则必须执行额外的配置任务。例如,必须使用 JavaTM DataBase Connectivity ("JDBCTM") 软件和 Java Naming and Directory InterfaceTM ("J.N.D.I.") API 来设置对数据库的访问。
对于所有数据库类型,您都必须登录到 Configuration Agent 并修改警报通知字段。
打开 JavaCAPS-install-dir/appserver/domains/domain-name/jbi/config 目录中的 eventmanagement.properties 文件。
如有必要,请更改 AlertTableName 属性的默认值,然后保存该文件。
您可能需要更改该默认值,以使其符合组织的命名约定或满足数据库服务器的表名称字符限制。
登录到 Sun Java System Application Server 管理控制台。
集成 JDBC 驱动程序。
您可以使通用类加载器或系统类加载器能够访问该驱动程序。
有关如何集成 JDBC 驱动程序的详细信息,请在管理控制台中单击“帮助”。
在左窗格中,展开“资源”节点和 "JDBC" 节点,然后选择“连接池”节点。
单击“新建”。
创建 JDBC 连接池。
有关如何创建 JDBC 连接池的详细信息,请在管理控制台中单击“帮助”。
在左窗格中,选择“JDBC 资源”节点。
单击“新建”。
创建 JDBC 资源。
您将在后面的过程中输入 JDBC 资源的 JNDI 名称。
将池名称设置为刚创建的 JDBC 连接池。
有关如何创建 JDBC 资源的详细信息,请在管理控制台中单击“帮助”。
打开 JavaCAPS-install-dir/appserver/jbi/lib 目录中的 jbi_rt.jar 文件。
提取您使用的数据库类型的 SQL 脚本。
如果使用的是 Oracle,则创建将用于持久保存警报的表空间和用户。
创建将用于持久保存警报的表。
如果应用服务器没有运行,请启动应用服务器。
在浏览器中,输入以下 URL:
http://hostname:portnumber/configagent
将主机名设置为安装了应用服务器的计算机的 TCP/IP 主机名。将端口号设置为应用服务器的管理端口号。例如:
http://myserver.company.com:4848/configagent
将显示 Configuration Agent 安全网关。
在“用户 ID”字段中,输入应用服务器用户名。
在“密码”字段中,输入相应的密码。
单击“登录”。
将显示 Configuration Agent。