科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道探索 WebSphere Application Server V6.1 Portlet 容器: 第 3 部分:管理 Portlet 容器

探索 WebSphere Application Server V6.1 Portlet 容器: 第 3 部分:管理 Portlet 容器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在此部分中,您将了解如何管理 WebSphere Application Server 中的 JSR 168 Portlet 容器。将了解如何配置和使用 Portlet 缓存功能、性能度量和扩展的部署描述符。

作者:ibm 来源:ibm 2007年10月8日

关键字: WEBSPHERE IBM 技术 中间件

  • 评论
  • 分享微博
  • 分享邮件

引言

IBM WebSphere Application Server V6.1 提供了功能丰富的系统管理和管理框架,该管理框架支持脚本编程接口 ( wsadmin)、MBeans 和性能度量等等。WebSphere Application Server 中的 Portlet 容器已嵌入到该框架,而且您可以使用针对其他 WebSphere 组件而使用的相同的标准技术来管理该容器。

本文将说明如何管理 Portlet 容器和已安装的 Portlet。您将研究扩展的 Portlet 部署描述符的功能并了解如何使用脚本编程接口来修改该描述符。接下来,您将深入研究 Portlet 容器和个别 Portlet 的缓存功能。您将了解如何使用 cachespec.xml 等等来配置特定于 Portlet 的缓存值。最后,您将学习性能技术,并了解如何启用和使用它们。而且,在本文中,您将了解所讨论的每项功能是如何与 WebSphere Portal 中的类似功能进行比较的,以使您注意到相关区别,并将了解到如何在这两个产品中获得相同的最终结果。

本系列文章主要针对希望使用 WebSphere Application Server 中的 Portlet 容器作为开发平台而不了解 WebSphere Portal 的开发人员和架构师。也面向已经具有 WebSphere Portal 技能且同时还希望了解如何通过将容器往下移至堆栈中来简化 Portlet 开发的开发人员和架构师。





回页首


关于示例

您可以下载 World Clock 示例的示例代码,以便在阅读本文章的过程中参考该示例代码。





回页首


缓存

缓存是一项用于提高系统性能的重要技术。WebSphere Application Server 中的 Portlet 和 Web 容器均支持服务器端缓存。使用服务器端缓存,Servlet 或 Portlet 的内容就可以存储在服务器上的本地缓存中,以便不需要针对更多的请求运行 Servlet 或 Portlet。

Portlet 缓存比 Servlet 缓存更复杂,因为 Portlet 片段包含指向完整页面的链接。然而,为了成为可缓存的片段,这些片段必须只包含片段范围内的构件。门户框架所面临的挑战是只缓存片段,而不缓存片段以外的构件上的任何依赖项。

使用 WebSphere Portal,就可以在稍后使用其聚合框架对片段进行装配。WebSphere Application Server 中的 Portlet 容器也可以处理此类复杂性;该容器抽取出其范围不同于片段的内容,然后,每当再次请求已缓存的内容时,就对完整内容进行重新组装。

此部分说明如何使用管理控制台或脚本编程接口来启用 Portlet 片段缓存。在此部分的最后,您将通过缓存基础结构演示中的示例 Portlet 来了解如何使用 WebSphere Application Server 的缓存监视器。

使用管理控制台

  1. 打开 WebSphere 管理控制台。例如,如果服务器是本地服务器,则在浏览器中打开以下网址:http://localhost:9060/ibm/console
  2. 登录并导航到您的服务器(如 server1),然后导航到 Portlet 容器。
  3. 选中用于启用 Portlet 片段缓存的复选框,如图 1 所示。
  4. 重新启动服务器以激活该缓存。


图 1. 在管理控制台中启用 Portlet 片段缓存
图 1. 在管理控制台中启用 Portlet 片段缓存

使用脚本编程接口

可启用 Portlet 片段缓存的另一种方法是:通过使用脚本编程接口 wsadmin

  1. 首先,启动 wsadmin ,以使其连接到服务器。您将看到以下消息:C:\WebSphere\bin>wsadminWASX7209I: Connected to process "server1" on node HESMERT40Node02 using SOAP connector;The type of process is: UnManagedProcess
  2. 在命令提示符中,输入下列命令以启用 Portlet 片段缓存。重要:请始终使用正斜杠,即使在 Windows 系统上也应如此。 wsadmin>set server [$AdminConfig getid /Server:server1/]

wsadmin>set pc [$AdminConfig list PortletContainer $server]wsadmin>$AdminConfig modify $pc {{enablePortletCaching true}}

  1. 保存配置。 wsadmin>$AdminConfig save
  2. 重新启动服务器以激活该缓存。

使用缓存监视器

WebSphere Application Server 在提供其二进制文件的同时,也提供了缓存监视器应用程序。利用该应用程序,管理员和开发人员可以更仔细地查看系统内使用的缓存。诸如缓存大小、已使用的条目、缓存命中率和未命中率之类的统计数据以及更多的数据可以很好地概述缓存的使用模式。

在前面的部分中,您已了解如何启用 Portlet 片段缓存。现在,若要了解该缓存的工作方式,请安装两个将会在随后的示例场景中使用的应用程序。将安装以下应用程序:

  • StdWorldClockCache.war,可以通过本文的下载部分获得。
  • CacheMonitor.ear,位于 <WAS-HOME>/installableApps 目录中

示例应用程序 StdWorldClockCache.war 与普通的 Portlet 应用程序不同;该示例应用程序在 portlet.xml 中包括一个额外的元素,并且包括一个 cachespec.xml 文件。

在 portlet.xml 内,可选元素 expiration-cache 有助于提高性能。expiration-cache 元素指定了缓存将 Portlet 片段视为“新”的持续时间(以秒为单位)。只要片段被视为“新”,就可以从缓存中返回该片段;否则,将再次调用 Portlet 以检索新的片段。

下列代码片段显示了 expiration-cache 元素以及其在 portlet.xml 内的放置位置。

<portlet-name>StdWorldClock</portlet-name>
<portlet-class>com.ibm.wps.portlets.worldclock.WorldClockController</portlet-class>
<expiration-cache>130</expiration-cache>
<supports>

第二个缓存组件是 cachespec.xml,该文件特定于 WebSphere Application Server,并不用于 WebSphere Portal。在 WebSphere Application Server 6.1 版中,该文件必须位于 WEB-INF 目录中才能启用缓存。如果该文件不可用,则将不会对 Portlet 片段进行缓存。

除了在 portlet.xml 内指定缓存到期日期之外,利用 cachespec.xml 文件,您可以针对给定的 Portlet 定义额外的缓存设置,例如,按照 Portlet 模式进行缓存。有关详细信息,请参见 WebSphere Application Server Information Center

下列代码片段显示了一个简单的 cachespec.xml。有关在该 xml 文件内使用的特定元素的详细信息,请参见 WebSphere Application Server Information Center

<cache>
 <cache-entry>
      <class>portlet</class>
      <name>StdWorldClock</name>      
      <property name="consume-subfragments">true</property>
      <cache-id/>
  </cache-entry></cache>

已成功安装并启动了这两个应用程序之后,就可以使用缓存监视器来查看 World Clock Portlet 的统计数据。

  1. 打开缓存监视器的 Web 界面。例如,如果服务器是本地服务器,则在浏览器中打开以下网址:http://localhost:9060/cachmonitor
  2. 选择左边的 Cache Statistics,您将看到如图 2 中所示的窗口。

    图 2. 显示所选缓存的缓存统计数据的缓存监视器应用程序
    图 2. 显示所选缓存的缓存统计数据的缓存监视器应用程序

  3. 接下来,通过在浏览器中打开下列 URL 来访问 WorldClock Portlet:http://localhost:9080/worldclock/StdWorldClock
  4. 图 3 显示了将要呈现的结果图片的剪辑。请注意屏幕快照上的时间;您将需要知道该时间,以便与稍后看到的一些数据进行比较。

    图 3. 显示当前时间的 World Clock Portlet 的剪辑
    图 3. 显示当前时间的 World Clock Portlet 的剪辑

  5. 切换到缓存监视器,您将看到新的缓存统计数据,如图 4 所示。由于您只访问了一次 Portlet,并且已具有一个“缓存未命中率”;因此,已在此时将片段填充到缓存,该缓存可以针对任何将来的请求提供服务。

    图 4. 第一次访问 Portlet 之后的新缓存统计数据。
    图 4. 第一次访问 Portlet 之后的新缓存统计数据。

  6. 现在,返回到 World Cock Portlet,并在其浏览器窗口中单击 Reload。您需要在 130 秒内执行此操作;否则,该缓存将会到期。若要知道缓存是否已工作,请查看标记中显示的时间戳;该时间戳应该与您之前看到的时间相同。
  7. 再次切换到缓存监视器,您将看到新的缓存统计数据,如图 5 所示。由于您在 130 秒内访问了 Portlet,系统仍然具有有效的缓存条目(“缓存命中率”),因此,该系统将从缓存中提供 Portlet 片段。

    图 5. 第二次访问 Portlet 之后的新缓存统计数据
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章