扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
引言
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 的缓存监视器。
使用管理控制台
http://localhost:9060/ibm/console
。
图 1. 在管理控制台中启用 Portlet 片段缓存
使用脚本编程接口
可启用 Portlet 片段缓存的另一种方法是:通过使用脚本编程接口 wsadmin
。
wsadmin
,以使其连接到服务器。您将看到以下消息:C:\WebSphere\bin>wsadminWASX7209I: Connected to process "server1" on node HESMERT40Node02 using SOAP connector;The type of process is: UnManagedProcess
wsadmin>set server [$AdminConfig getid /Server:server1/]
wsadmin>set pc [$AdminConfig list PortletContainer $server]wsadmin>$AdminConfig modify $pc {{enablePortletCaching true}}
wsadmin>$AdminConfig save
使用缓存监视器
WebSphere Application Server 在提供其二进制文件的同时,也提供了缓存监视器应用程序。利用该应用程序,管理员和开发人员可以更仔细地查看系统内使用的缓存。诸如缓存大小、已使用的条目、缓存命中率和未命中率之类的统计数据以及更多的数据可以很好地概述缓存的使用模式。
在前面的部分中,您已了解如何启用 Portlet 片段缓存。现在,若要了解该缓存的工作方式,请安装两个将会在随后的示例场景中使用的应用程序。将安装以下应用程序:
示例应用程序 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 的统计数据。
http://localhost:9060/cachmonitor
。
http://localhost:9080/worldclock/StdWorldClock
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者