Sun ONE logo     上一个      目录      索引      下一个     
Sun ONE Message Queue, Version 3.0.1 管理员指南



第 4 章   管理控制台教程

本教程重点介绍如何使用管理控制台 — 管理 Sun™ ONE Message Queue (MQ) 消息服务器的图形界面。跟随本教程,您将学习如何进行以下操作:

  • 启动代理,使用控制台连接到代理并对其进行管理。
  • 在代理上创建物理目标。
  • 创建对象存储,并使用控制台连接到对象存储。
  • 将被管理对象添加到对象存储。

在本教程中,将以设置运行简单 JMS 兼容应用程序 SimpleJNDIClient 所需的目标和被管理对象为范例。在本教程的最后一部分,您将运行此应用程序。

本教程主要用来指导您通过使用管理控制台来执行基本管理任务。即使完成了本教程,您还是需要仔细阅读《MQ 开发者指南》或本管理员指南的其它章节。

某些 MQ 管理任务无法使用图形工具来完成,您将需要使用命令行实用程序执行如下所示的这些任务:

准备工作

必须安装 MQ 产品才能启动本教程。有关详细信息,请参见《MQ 安装指南》。请注意,本教程以 Windows 为中心,并为 Unix 用户添加了说明。

在本教程中,选择“Item1”>“Item2”>“Item3”表示应下拉名为“Item1”的菜单,从该菜单选择“Item2”,然后从“Item2”提供的选择中选择“Item3”。

启动管理控制台

管理控制台 (Administration Console) 是您用于完成以下操作的图形工具:

  • 创建对代理的引用并连接到代理
  • 管理代理
  • 在代理上创建物理目标,代理将使用它来进行消息传送
  • 连接到存储 MQ 被管理对象的对象存储
  • 被管理对象使您可以管理 JMS 兼容应用程序的消息传送需要。有关详细信息,请参见 MQ 被管理对象

启动管理控制台的步骤

  1. 选择“开始”>“程序”>“Sun ONE Message Queue 3.0”>“Administration”。
  2. 显示控制台窗口之前,您可能需要等待几秒钟。

    非 Windows 用户:在命令提示符下输入以下命令:

    $IMQ_HOME/bin/imqadmin(在 Solaris 操作系统上为 /usr/bin/imqadmin)

  3. 请花几秒钟仔细观察一下控制台窗口。

  4. Sun ONE Message Queue 的启动屏幕。树视图位于左侧窗格,内容位于右侧窗格。

    控制台包括位于顶部的菜单、菜单下面的工具栏、左侧的浏览窗格、右侧的较大窗格(现在显示标识 Sun ONE Message Queue 产品的图形)和底部的状态窗格。

任何教程都不可能提供全部的信息,因此让我们首先找出如何获得管理控制台的帮助信息。

获得帮助

在菜单条的最右侧找到“Help”菜单。

显示管理控制台帮助信息的步骤

  1. 下拉“Help”菜单并选择“Overview”。将显示一个帮助窗口。

  2. “MQ Administration Console”窗口。树视图位于左侧:图表视图的显示位于右侧。

    请注意帮助信息是如何组织的。左侧窗格显示内容表,右侧窗格显示在左侧选择的任意项的内容。

    观察“Help”窗口的右侧窗格。它显示管理控制台的概貌,并标识了每个控制台窗格的用途。

  3. 观察“Help”窗口的内容窗格。它使用以下三个区域来组织主题:概述、对象存储管理和代理管理。其中每个区域都包含文件和文件夹。每个文件夹提供的是包含多个选项卡的对话框的帮助,每个文件则提供简单对话框或选项卡的帮助。
  4. 您的第一个控制台管理任务(请参见添加代理)将是通过控制台创建对管理的代理的引用。但是,启动之前请查阅联机帮助以获得有关信息。

  5. 单击“Help”窗口的内容窗格中的“Add Broker”项。
  6. 您会发现内容窗格发生了变化。它现在包含一些文本,说明添加代理的含义并介绍“Add Broker”对话框中每个字段的使用。字段名称以粗体文本显示。

  7. 仔细阅读帮助文本。
  8. 关闭“Help”窗口。

使用代理

代理为 MQ 消息传送系统提供传送服务。消息传送的过程可分为两个阶段:首先将消息传送到代理上的物理目标,然后将其传送给一个或多个使用方客户机。

使用代理涉及以下任务:

  • 启动和配置代理
  • 可以从 Windows 上的“开始”>“程序”菜单或使用 imqbrokerd 命令启动代理。如果使用 imqbrokerd 命令,可以使用命令行选项指定代理配置信息。如果使用“程序”菜单,可以使用控制台和第 5 章“启动与配置代理”中说明的其它方法来指定配置信息。



    使用管理控制台无法启动代理实例。



  • 使用管理控制台或使用 Command 命令行实用程序 (imqcmd) 管理代理及其服务
  • 创建客户机应用程序所需的物理目标
  • 监视资源使用以提高吞吐量和可靠性

代理支持与应用程序客户机和管理客户机之间的通信。它利用不同的连接服务实现此功能,并且您可以将代理配置为运行这些服务之一或全部运行。有关连接服务的详细信息,请参见连接服务

启动代理

使用管理控制台无法启动代理。按照以下(请参见第 5 章“启动与配置代理”)说明启动代理。

启动代理的步骤

  1. 选择“开始”>“程序”>“Sun ONE Message Queue 3.0”>“Broker”。
  2. 非 Windows 用户:输入以下命令启动代理。

    %$IMQ_HOME/bin/imqbrokerd(在 Solaris 操作系统上为 /usr/bin/imqbrokerd

    将显示一个代理进程窗口。在代理准备就绪时指定代理的名称。


    “Message Broker”命令行界面窗口。

  3. 现在让我们把注意力转回到“Administration Console”窗口。您现在可以将代理添加到控制台并连接到代理。

在管理控制台中添加对代理的引用之前不必启动代理,但是必须启动代理才能连接到它。

添加代理

添加代理在管理控制台中创建了一个对该代理的引用。添加代理之后,您就可以连接到它。

将代理添加到管理控制台的步骤

  1. 在浏览窗格的“Brokers”上单击右键并选择“Add Broker”。
  2. 在“Broker Label”字段中输入 MyBroker
  3. 这样便提供了一个在管理控制台中标识代理的标签。


    “Add Broker”对话框。按钮从左到右依次为:“OK”、“Reset to Defaults”、“Cancel”和“Help”。

    注意:在对话框中已指定默认主机名 (localhost) 和默认主端口 (7676)。这些值是以后需要指定的值,即在您配置客户机用来建立与此代理的连接的连接工厂时需要指定这些值。

    将“Password”字段保留为空。如果在连接时指定密码,则密码将会更安全。

  4. 单击“OK”以添加代理。
  5. 观察浏览窗格。“Brokers”下方应已列出刚才添加的代理。代理图标上的红色 X 表示该代理当前未连接到控制台。


    “MQ Administration Console”窗口。已在树视图中选中“Broker”。

  6. 在“MyBroker”上单击右键,并从弹出式菜单中选择“Properties”。
  7. 将显示代理属性对话框。可以使用此对话框更新添加代理时指定的任意属性。

更改管理员密码

当连接到代理时,如果添加代理时未指定密码,系统将提示您指定密码。为了提高安全性,建议您在连接之前更改默认管理员密码 (admin)。

更改管理员密码的步骤

  1. 打开命令提示符窗口。如果窗口已打开,则请继续下一步操作。
  2. 输入如下命令,并用自己的密码代替 abracadabra。然后,您指定的密码将代替 admin 的默认密码。
  3. imqusermgr update -u admin -p abracadabra

    (在 Solaris 和 Linux 操作系统上,必须是根用户才能执行此操作。)

更改将立即生效。每当使用某个 MQ 命令行实用程序或管理控制台时,必须指定新密码。

尽管客户机使用不同于管理员的连接服务,但也为其分配了默认用户名和密码,这样您不必进行大量的管理设置便可以测试 MQ。默认情况下,客户机可以作为用户 guest 并使用密码 guest 连接到代理。但是,应尽快建立客户机的安全用户名和密码。有关详细信息,请参见验证用户

连接到代理

连接到代理的步骤

  1. 在“MyBroker”上单击右键并选择“Connect to Broker”。
  2. 将显示一个对话框,您可以在其中指定用户名和密码。


    “Connect to Broker”对话框。按钮从左到右依次为:“OK”、“Cancel”和“Help”。

  3. 在“Password”字段中输入 admin 或在更改管理员密码中指定的任何密码值。
  4. 指定用户名 admin 并提供正确密码将使您以管理员权限连接到代理。

  5. 单击“OK”连接到代理。

连接到代理后,可以从“Actions”菜单中选择各个菜单项,以获得有关代理的信息、暂停和恢复代理、关闭和重新启动代理以及从代理断开连接。

查看连接服务

从代理提供的连接服务及其支持的物理目标可以区分代理。

查看可用连接服务的步骤

  1. 在浏览窗格中选择“Services”。
  2. 在结果窗格中列出了可用服务。对于每项服务,均提供了其名称、端口号和状态。


    “MQ Administration Console”窗口。已选中代理服务节点。在内容窗格显示节点的内容。

  3. 单击结果窗格中的“jms”服务,以选中它。
  4. 下拉“Actions”菜单并注意高亮显示的项。
  5. 您可以选择暂停 jms 服务或查看和更新其属性。

  6. 从“Actions”菜单中选择“Properties”。
  7. 请注意,在“Service Properties”对话框中,您可以分配服务的静态端口号并可以更改分配给此服务的最小和最大线程数。


    “Service Properties”对话框。按钮从左到右依次为:“OK”、“Cancel”、“Help”。

  8. 单击“OK”或单击“Cancel”关闭属性对话框。
  9. 在结果窗格中选择“admin”服务。
  10. 下拉“Actions”菜单。
  11. 您会注意到无法暂停此服务,暂停项已被禁用。admin 服务是至代理的管理员链接。如果您暂停该服务,将再也无法访问代理。

  12. 选择“Actions”>“Properties”查看 admin 服务的属性。
  13. 完成时请单击“OK”或“Cancel”。

将物理目标添加到代理

必须在代理上明确创建物理目标,这样 JMS 兼容应用程序才能正常运行。如果代理已启用自动创建目标功能(该功能使代理能够动态创建物理目标),则不必进行此操作。

在开发环境中,自动创建目标是可以接受的。但是,在生产设置中,建议关闭这个功能,并将代理设置为使用已明确创建的物理目标。这使您(管理员)可以完全掌握代理上使用的目标。

您可以控制代理是否可以通过设置 imq.autocreate.topicimq.autocreate.queue 属性来添加自动创建的目标。有关详细信息,请参见自动创建的(与管理员创建的相对)目标

在本教程的这个小节中,您将把一个物理目标添加到代理。应注意分配给目标的名称,您以后会在创建对应此物理目标的被管理对象时需要此名称。

将队列目标添加到代理的步骤

  1. 在“MyBroker”的“Destinations”节点上单击右键并选择“Add Broker Destination”。
  2. 将显示以下对话框:


    添加“Broker Destination”对话框。按钮从左到右依次为:“OK”、“Reset To Defaults”、“Cancel”和“Help”。

  3. 在“Destination Name”字段中输入 MyQueueDest
  4. 选择“Queue”单选按钮(如果尚未选中此按钮)。
  5. 确保将“Queue Delivery Policy”选择为“Single”。
  6. 单击“OK”添加物理目标。
  7. 现在,目标显示在结果窗格中。

使用物理目标

在代理上添加一个物理目标后,您可以按照稍后的步骤说明来执行以下任意一项任务:

  • 查看和更新物理目标的属性
  • 清理目标上的消息
  • 删除目标

查看物理目标属性的步骤

  1. 选择“MyBroker”的“Destinations”节点。
  2. 在结果窗格中选择“MyQueueDest”。
  3. 选择“Actions”>“Properties”。
  4. 将显示以下对话框:


    “Broker Destinations Properties”对话框。按钮从左到右依次为:“OK”、“Cancel”和“Help”。

    请注意,您仅能更改与传送到该队列的消息的大小和数目有关的队列属性。

  5. 单击“Cancel”关闭对话框。

清理目标中的消息的步骤

  1. 在结果窗格中选择物理目标。
  2. 选择“Actions”>“Purge Messages”。
  3. 将显示一个确认对话框。

清理消息将删除消息,留下一个空目标。

删除目标的步骤

  1. 在结果窗格中选择物理目标。
  2. 选择“Edit”>“Delete”。

删除目标将清除该目标上的消息并删除目标。

获得有关主题目标的信息

有关主题目标的对话框包含一个列出长期订阅的相关信息的附加选项卡。


“Broker Durable Subscriptions”对话框;“Basic”选项卡。按钮从左到右依次为:“OK”、“Cancel”和“Help”。

使用此对话框可以执行以下操作:

  • 清理长期订阅,从而删除与长期订阅关联的所有消息
  • 删除长期订阅,从而清理与长期订阅关联的所有消息并删除该长期订阅

使用对象存储

对象存储可以是 LDAP 目录服务器或文件系统存储(文件系统中的目录),用于存储 MQ 被管理对象。这些被管理对象将封装有关客户机应用程序使用的对象的 MQ 特有实现方案和配置信息的。

尽管可以在客户机代码中实例化和配置被管理对象,但建议您(管理员)最好创建和配置这些对象,并将其存储在对象存储中,客户机应用程序将通过标准 JNDI 查找代码来访问该对象存储。这将使客户机代码与提供者无关。

有关被管理对象的详细信息,请参见 MQ 被管理对象

您不能使用管理控制台来创建对象存储。必须按照以下小节中的说明提前创建。

添加对象存储

添加对象存储将在管理控制台中创建一个对现有对象存储的引用。即使退出并重新启动控制台,此引用也将保留。

添加文件系统对象存储的步骤

  1. 如果在您的 C 驱动器上没有名为 Temp 的文件夹,那么现在就请创建这个文件夹。
  2. 本教程中使用的范例应用程序假定对象存储是 C 驱动器上一个名为 Temp 的文件夹。文件系统对象存储通常可以是任何驱动器上的任何目录。

    非 Windows 用户:可以使用现有的 /tmp 目录。

  3. 在“Object Stores”上单击右键并选择“Add Object Store”。
  4. 将显示以下对话框:


    “Add Object Store”对话框。按钮从左到右依次为:“Ok”、“Clear”、“Cancel”和“Help”。

  5. 在名为“ObjectStoreLabel”的字段中输入 MyObjectStore
  6. 这仅是在管理控制台中提供一个对象存储显示的标签。

    在以下步骤中,您将需要输入 JNDI 名称/值对。JMS 兼容应用程序使用这些名称/值对查找被管理对象。

  7. 从“Name”下拉菜单中选择“ java.naming.factory.initial”。
  8. 此属性使您可以指定希望使用哪个 JNDI 服务提供者。例如,文件系统服务提供者或 LDAP 服务提供者。

  9. 在“Value”字段中输入以下内容:
  10. com.sun.jndi.fscontext.RefFSContextFactory

    这表示您将使用文件系统存储。(对于 LDAP 存储,将指定 com.sun.jndi.ldap.LdapCtxFactory。)

    在生产环境中,您可能希望将 LDAP 目录服务器用作对象存储。有关设置服务器和进行 JNDI 查看的信息,请参见对象存储属性

  11. 单击“Add”按钮。
  12. 您会注意到现在属性概要窗格中列出了属性及其值。

  13. 从“Name”下拉菜单中选择“java.naming.provider.url”。
  14. 此属性使您可以指定对象存储的确切位置。对于文件系统类型的对象存储,这将是现有目录的名称。

  15. 在“Value”字段中,输入以下内容
  16. file:///C:/Temp

    (在 Solaris 和 Linux 操作系统上为 file:///tmp)

  17. 单击“Add”按钮。
  18. 您会注意到现在属性概要窗格中列出了属性及其值。如果是在使用 LDAP 服务器,还可能必须要指定验证信息。这对文件系统存储不是必需的。

  19. 单击“OK”添加对象存储。
  20. 如果未在浏览窗格中选中节点“MyObjectStore”,那么现在请选中它。
  21. 现在,管理控制台的显示如下所示:


    “MQ Administration Console”窗口。在树视图窗格中,已选中对象存储节点。

    浏览窗格中列出了该对象存储,结果窗格中则列出了对象存储的内容“Destinations”和“Connection Factories”。我们尚未将任何被管理对象添加到对象存储,如结果窗格的“Count”列中所示。

    浏览窗格中的对象存储图标上绘制了一个红色的 X。这表示它处于断开连接的状态。需要先连接到对象存储,然后才能使用它。

检查对象存储属性

当管理控制台从对象存储断开连接时,可以查看和更改对象存储的某些属性。

显示对象存储属性的步骤

  1. 在浏览窗格的“MyObjectStore”上单击右键。
  2. 从弹出式菜单中选择“Properties”。
  3. 将显示一个对话框,其中显示所有在添加对象存储时指定的属性。您可以更改这些属性中的任意属性,并单击“OK”更新旧信息。

  4. 单击“OK”,或单击“Cancel”关闭对话框。

连接到对象存储

必须先连接到对象存储,然后才能将对象添加其中。

连接到对象存储的步骤

  1. 在浏览窗格的“MyObjectStore”上单击右键。
  2. 从弹出式菜单中选择“Connect to Object Store”。
  3. 您会注意到对象存储图标上的红色叉号不见了。现在可以将对象、连接工厂和目标添加到对象存储。

添加连接工厂
被管理对象

可以使用管理控制台来创建和配置连接工厂。客户机代码使用连接工厂连接到代理。通过配置连接工厂,可以控制使用连接工厂创建的连接的行为。

有关配置连接工厂的信息,请参见联机帮助和《MQ 开发者指南》。



管理控制台仅列出和显示了 MQ 被管理对象。如果对象存储中包含与希望添加的被管理对象具有相同查找名称的非 MQ 对象,则您将在尝试添加操作时会接收到一个错误信息。



将连接工厂添加到对象存储的步骤

  1. 如果仍未连接,请连接到 MyObjectStore(请参见连接到对象存储)。
  2. 在“Connection Factories”节点上单击右键,并选择“Add Connection Factory Object”。
  3. 将显示“Add Connection Factory Object”对话框。


    “Add Connection Factory Object”对话框,其中显示“Connection Handling”选项卡。按钮从左到右依次为:“OK”、“Reset to Defaults”、“Cancel”和“Help”。

  4. 在“LookupName”字段中输入名称“MyQueueConnectionFactory”。
  5. 这是客户机代码查找连接工厂时使用的名称,如 SimpleAdmin.java 中的以下代码行所示:

    qcf=(javax.jms.QueueConnectionFactory)
                      ctx.lookup("MyQueueConnectionFactory")

  6. 从下拉菜单中选择“QueueConnectionFactory”以指定连接工厂的类型。
  7. 在“Broker Host Name”和“Broker Host Port”字段中,输入客户机计划连接的代理主机名和端口。
  8. 在本教程中,客户机连接到默认代理,即位于 7676 端口的 localhost 上的代理,因此不必更改这些字段。

  9. 逐个单击此对话框的各个选项卡,查看您可以配置的连接工厂的信息类型。使用“Add Connection Factory Object”对话框右下角的“Help”按钮来获得有关各个选项卡的信息。目前请勿更改任何默认值。
  10. 单击“OK”创建队列连接工厂。
  11. 观察结果窗格。列出了新创建的连接工厂的查找名称和类型。

添加目标被管理对象

目标被管理对象与代理上的物理目标相关联。或者说,它们指向这些目标,使客户机可以查找并找到物理目标,而与命名和配置这些目标的提供者特有方法无关。

当 JMS 客户机发送消息时,它将查找(或实例化)目标被管理对象,并在 JMS API 的 send() 方法中引用它。然后代理负责将消息传送给与该被管理对象相关联的物理目标。

  • 如果已创建与该被管理对象相关联的物理目标,则代理会将消息传送给该物理目标。
  • 如果尚未创建物理目标,并且物理目标的自动创建功能已启用,代理将自动创建物理目标并将消息传送给该目标。
  • 如果尚未创建物理目标,并且物理目标的自动创建功能已被禁用,代理将无法创建物理目标,也就无法传送消息。

在本教程的下一部分中,您将添加一个与前面添加的物理目标相对应的被管理对象。

将目标添加到对象存储的步骤

  1. 在浏览窗格中的“Destinations”节点上单击右键。
  2. 选择“Add Destination Object”。
  3. 管理控制台将显示一个“Add Destination Object”对话框,用于指定有关对象的信息。


    “Add Destination Object”对话框。按钮从左到右依次为:“OK”、“Reset to Defaults”、“Cancel”和“Help”。

  4. 在“Lookup Name”字段中输入“MyQueue”。
  5. JNDI 查找调用使用该查找名称来查找对象。在范例应用程序中,此调用如下所示:

    queue=(javax.jms.Queue)ctx.lookup("MyQueue");

  6. 对于“Destination Type”,请选择“Queue”单选按钮。
  7. 在“Destination Name”字段中输入 MyQueueDest
  8. 这是您在代理上添加物理目标时指定的名称。

  9. 单击“OK”。
  10. 在浏览窗格中选择“Destinations”,并注意在结果窗格中如何显示有关刚才添加的队列目标被管理对象的信息。

  11. “MQ Administration Console”窗口。已在树视图中选中“Destinations”。在内容窗格中显示目标对象。

被管理对象的属性

要查看或更新被管理对象的属性,需要在浏览窗格中选择“Destinations”或“Connection Factories”,然后在结果窗格中选择特定对象,并选择“Actions”>“Properties”。

查看或更新目标对象属性的步骤

  1. 在浏览窗格中选择“Destinations”。
  2. 在结果窗格中选择“MyQueue”。
  3. 选择“Actions”>“Properties”以查看“Destination Object Properties”对话框。
  4. 请注意,您仅能更改目标名称和说明的值。要更改查找名称,就必须先删除对象,然后添加一个命名为所需查找名称的新队列被管理对象。


    “Destination Object Properties”对话框。按钮从左到右依次为:“OK”、“Cancel”和“Help”。

更新控制台信息

不管使用对象存储还是使用代理,都可以通过选择“View”>“Refresh”来更新任何元素或元素组的显示。

运行范例应用程序

范例应用程序 SimpleJNDIClient 是为与本教程配套使用而提供的。它使用在前面的教程中创建的被管理对象和目标:名为 MyQueueDest 的队列目标,名为 MyQueueConnectionFactory 的队列连接工厂被管理对象和名为 MyQueue 的队列被管理对象。

代码创建简单的队列发件人和收件人,并发送和接收一个“Hello World”消息。

运行 SimpleJNDIClient 应用程序的步骤

  1. 确保 JAVA_HOME 环境变量指向 JDK 的安装目录。
  2. 使包含 SimpleJNDIClient 应用程序的目录成为当前目录,例如:
  3. cd IMQ_HOME/demo/jms(在 Solaris 操作系统上为 /usr/demo/imq/jms

    您会找到 SimpleJNDIClient.class 文件。(如果要更改该应用程序,需要使用《MQ 开发者指南》的快速入门教程中用于编译客户机应用程序的指令对其重新编译。

  4. 设置 CLASSPATH 变量以包含含有 SimpleJNDIClient.java 和以下 jar 文件的当前目录:jms.jarimq.jarfscontext.jar
  5. 在运行应用程序之前,请打开源文件 SimpleJNDIClient.java,并仔细阅读。
  6. 虽然这个源文件很简短,但是其注释非常详细,您可以很清楚地了解该应用程序是如何使用您已使用教程创建的被管理对象和目标。

  7. 运行 SimpleJNDIClient 应用程序。
  8. C:> java SimpleJNDIClient (Windows)

    % java SimpleJNDIClient file:///tmp(在 Solaris 和 Linux 上)

    如果应用程序成功运行,应会看到以下输出:


    ==================================================
    $JAVA SimpleJDNIClient file:///tmp
    Usage:java SimpleJDNIClinet [Context.PROVIDER_URL]

    On Unix:
            java SimpleJDNIClient file:///tmp

    On Windows:
            java SimpleJDNIClient file:///C:Temp


    Using Windows default file:///C/Temp for Context.PROVIDER_URL

    Publishing a message to Queue:MyQueueDest
    Received the following message:Hello World.

    ==================================================


上一个      目录      索引      下一个     
版权所有 2002 Sun Microsystems, Inc.。保留所有权利。


部件号 817-5020-10