📄 sesspers.html
字号:
<?xml version="1.0" encoding="GB2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <meta name="keywords" content="electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Sun Microsystems, Sun Open Net Environment, Sun ONE, internet software" /> <meta name="Description" content="Sun Microsystems, Inc. is delivering Sun ONE e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy." /> <meta name="TemplateVersion" content="Sun ONE WDT 2.3.1" /> <meta name="LASTUPDATED" content="10/03/03 09:48:14" /> <meta name="BookTitle" content="Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1" /> <title>第 7 章 配置可用性和会话持久性</title> <link href="catalog.css" tppabs="http://docs.sun.com/source/819-1553/catalog.css" rel="stylesheet" type="text/css" /> <!-- on load bring this window to front --> <script laguage="javascript"> top.window.focus(); </script></head><body text="#000000" link="#594FBF" vlink="#9966cc" alink="#333366" bgcolor="#FFFFFF"><a name="top"> </a><!-- navigation --> <table width="100%" border="0" cellspacing="4" summary="Header navigation table"> <tr><td> <p class="pNavigation"> <a HREF="javascript:if(confirm('http://www.sun.com/software/ \n\n该文件无法用 Teleport Ultra 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://www.sun.com/software/'" tppabs="http://www.sun.com/software/"> <img SRC="Logo.jpg" tppabs="http://docs.sun.com/source/819-1553/Logo.jpg" alt="Sun logo" valign="bottom" border="0" /></a>      <a href="jdbc.html" tppabs="http://docs.sun.com/source/819-1553/jdbc.html">上一页</a>      <a href="index.html" tppabs="http://docs.sun.com/source/819-1553/index.html">目录</a>      <a href="jms.html" tppabs="http://docs.sun.com/source/819-1553/jms.html">下一页</a>      </p> </td></tr> <tr><td valign="top" align="right" bgcolor="#594FBF"> <span class="cBookTitle">Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1</span> </td></tr> </table><!-- end navigation --><blockquote><!-- chapter content --><a name="wp100538"> </a><h2 class="pChapNumber"><span class="cGray">第 7 章</span><br /><a name="wp100542"> </a>配置可用性和会话持久性</h2><a name="wp100548"> </a><p class="pParagraph">本章介绍了如何在 Sun Java™ System Application Server Enterprise Edition 环境中配置会话持久性和可用性。它包含以下小节:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp100554"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100564" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100564">关于可用性和会话持久性</a></li></div><a name="wp100560"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100735" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100735">有关配置可用性的管理控制台任务</a></li></div></ul></div><a name="wp100564"> </a><h2 class="pHeading1"><hr />关于可用性和会话持久性</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp100570"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100598" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100598">需要会话持久性的原因</a></li></div><a name="wp100576"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100616" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100616">会话持久性配置概述</a></li></div><a name="wp100582"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100672" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100672">可用性的级别</a></li></div><a name="wp100588"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100698" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100698">处于 HTTP 会话状态的单点登录的可用性</a></li></div><a name="wp100594"> </a><div class="pSmartList1"><li><a href="sesspers.html#wp100727" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100727">样例应用程序</a></li></div></ul></div><a name="wp100598"> </a><h3 class="pHeading2">需要会话持久性的原因</h3><a name="wp100602"> </a><p class="pParagraph">在应用程序会话进行时,属于会话的数据常常不会存储在传统的数据库中。例如,购物车的内容就是这样的数据。Sun Java System Application Server 提供了在系统信息库中保存或保留此会话数据的功能,这样,如果应用程序服务器实例出现故障,会话状态可以恢复并且会话可以继续进行而不会丢失信息。</p><a name="wp100608"> </a><p class="pParagraph">在 J2EE 应用程序中,会话数据通常存储在 HTTP 会话或有状态会话 Bean (SFSB) 会话中。Sun Java System Application Server 同时支持 HTTP 会话和 SFSB 会话的状态持久性。还支持同时存储在 HTTP 会话和 SFSB 会话中的某些 J2EE 对象参考的故障转移,请参见 Developer's Guide。</p><a name="wp100612"> </a><p class="pParagraph">具有高可用性的数据库 (HADB) 与 Sun Java System Application Server 捆绑在一起,可用作持久性存储库以便为会话数据提供高可用性。 </p><a name="wp100616"> </a><h3 class="pHeading2">会话持久性配置概述</h3><a name="wp100620"> </a><p class="pParagraph">为了成功完成会话持久性配置,请确保按其所列顺序执行以下步骤,因为前面的一个或多个步骤将作为执行后面一些步骤的先决条件。</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp100624"> </a><div class="pSmartList1"><li>为群集创建 HADB 数据库。请参见 Reference Manual 中的 <code class="cCode">configure-ha-cluster</code> 命令的描述。</li></div><a name="wp100630"> </a><div class="pSmartList1"><li>为群集设置 HTTP 负载平衡。请参见<a href="loadb.html#wp696928" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp696928">第 3 章“配置负载平衡和故障转移”</a>。</li></div><a name="wp100632"> </a><div class="pSmartList1"><li>为应用程序服务器实例和 Web 或 EJB 容器(应支持会话持久性)启用可用性并配置会话持久性设置。选择以下方法之一:</li></div><br><div class="pSmartList2"><ul class="pSmartList2"><a name="wp100638"> </a><div class="pSmartList2"><li>请参见“<a href="sesspers.html#wp100735" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100735">有关配置可用性的管理控制台任务</a>”。</li></div><a name="wp100642"> </a><div class="pSmartList2"><li>请参见 Reference Manual 中的 <code class="cCode">configure-ha-persistence</code> 命令的描述。</li></div></ul></div><br><a name="wp100648"> </a><div class="pSmartList1"><li>如果您<em class="cEmphasis">不</em>启用可用性,则可以为 SFSB 更改文件系统会话存储(如果需要)。请参见“<a href="sesspers.html#wp100763" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100763">在禁用可用性时配置 SFSB 会话存储</a>”。</li></div><a name="wp100650"> </a><div class="pSmartList1"><li>重新启动群集中的每个服务器实例。</li></div><a name="wp100654"> </a><div class="pSmartList1"><li>为需要可用性的任何特定 SFSB 启用可用性,然后选择需要为其进行会话状态检查点操作的方法。请参见 Developer's Guide。</li></div><a name="wp100658"> </a><div class="pSmartList1"><li>使每个应具有高可用性的 Web 模块可分布。请参见 Developer's Guide。</li></div><a name="wp100662"> </a><div class="pSmartList1"><li>在部署期间,为 J2EE 应用程序、Web 模块或 EJB 模块启用可用性。在管理控制台中,选取“启用可用性”框,或结合使用 <code class="cCode">deploy</code> 命令和设置为 <code class="cCode">true</code> 的 <code class="cCode">--availabilityenabled</code> 选项。</li></div><a name="wp100665"> </a><p class="pAnchor"><div align="left"><table border="0" width="90%" summary="This table is used for Notes, Tips, and Cautions" id="wp100285"> <caption></caption><tr><td colspan="2"><hr noshade="-1" /></td></tr> <tr align="left" valign="top"> <td><a name="wp100285"> </a><p class="pNote">注</p></td> <td><a name="wp100291"> </a><p class="pParagraph">会话持久性与动态部署、动态重新装入和自动部署不兼容。这些部署功能适用于开发环境而非生产环境。有关如何禁用这些功能的信息,请参见<a href="depapp.html#wp24219" tppabs="http://docs.sun.com/source/819-1553/depapp.html#wp24219">第 5 章“部署应用程序”</a>。</p></td></tr><tr><td colspan="2"><hr noshade="-1" /></td></tr></table></div></p><a name="wp100668"> </a><p class="pAnchor"><div align="left"><table border="0" width="90%" summary="This table is used for Notes, Tips, and Cautions" id="wp100297"> <caption></caption><tr><td colspan="2"><hr noshade="-1" /></td></tr> <tr align="left" valign="top"> <td><a name="wp100297"> </a><p class="pNote">注</p></td> <td><a name="wp100303"> </a><p class="pParagraph">如果实例当前正在处理请求,请在重新启动该实例前停止它,这样,它就有足够的时间来处理它正在处理的请求。有关更多信息,请参见“<a href="loadb.html#wp697889" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697889">禁用(停止)服务器实例或群集</a>”。</p></td></tr><tr><td colspan="2"><hr noshade="-1" /></td></tr></table></div></p></ol></div><a name="wp100672"> </a><h3 class="pHeading2">可用性的级别</h3><a name="wp100676"> </a><p class="pParagraph">可用性可在五个不同级别启用:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp100678"> </a><div class="pSmartList1"><li>服务器实例,默认情况下已启用</li></div><a name="wp100680"> </a><div class="pSmartList1"><li>Web 或 EJB 容器,默认情况下已启用</li></div><a name="wp100682"> </a><div class="pSmartList1"><li>应用程序,默认情况下已禁用</li></div><a name="wp100684"> </a><div class="pSmartList1"><li>独立的 Web 或 EJB 模块,默认情况下已禁用</li></div><a name="wp100686"> </a><div class="pSmartList1"><li>SFSB,默认情况下已禁用</li></div></ol></div><a name="wp100688"> </a><p class="pParagraph">要启用给定级别的可用性,它必须已在所有更高级别中启用。例如,要启用应用程序级别的可用性,必须在服务器实例级别和容器级别启用可用性。 </p><a name="wp100690"> </a><p class="pParagraph">给定级别的默认值是其上一级别的设置值。例如,如果已启用容器级别的可用性,则默认情况下,启用应用程序级别的可用性。 </p><a name="wp100692"> </a><p class="pParagraph">如果禁用了服务器实例级别的可用性,则启用其他任何级别的可用性都不生效。如果启用了服务器实例级别的可用性,则将启用所有级别的可用性,除非已明确禁用。</p><a name="wp100698"> </a><h3 class="pHeading2">处于 HTTP 会话状态的单点登录的可用性</h3><a name="wp100704"> </a><p class="pParagraph">在单个应用程序服务器实例中,如果一个应用程序验证了用户,则运行在同一个实例上的其他应用程序不会对用户进行重新验证。这称为<em class="cEmphasis">单点登录</em>。有关单点登录的更多信息,请参见“<a href="security.html#wp526700" tppabs="http://docs.sun.com/source/819-1553/security.html#wp526700">检验单点登录</a>”。 </p><a name="wp100710"> </a><p class="pParagraph">为了使 HTTP 会话故障转移到群集中另一个实例后该功能仍然可用,必须将单点登录信息保留在 HADB 中。首先启用服务器实例和 Web 容器的可用性,然后启用单点登录状态持久性。请参见“<a href="sesspers.html#wp100781" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100781">配置服务器实例级别的可用性</a>”。</p><a name="wp100712"> </a><p class="pParagraph">可以通过单个名称和密码的组合进行访问的应用程序组成了<em class="cEmphasis">单点登录组</em>。</p><a name="wp100714"> </a><p class="pParagraph">对于与应用程序(是单点登录组的一部分)相对应的 HTTP 会话,如果其中一个会话超时,其他会话并不会失效,并且仍然可用。这是因为一个会话的超时不应影响其他会话的可用性。 </p><a name="wp100716"> </a><p class="pParagraph">作为这个行为的推论,如果一个会话超时并且您尝试从运行该会话的同一浏览器窗口访问相应的应用程序,则您无需再次进行验证。但是,将创建一个新的会话。 </p><a name="wp100718"> </a><p class="pParagraph">以属于含有其他两个应用程序的单点登录组的购物车应用程序为例。假设其他两个应用程序的会话超时值大于购物车应用程序的会话超时值。如果购物车应用程序的会话超时,并且您尝试从运行该会话的同一浏览器窗口运行购物车应用程序,则您无需再次进行验证。但是,前一个购物车将丢失,并且您必须创建一个新的购物车。即使运行购物车应用程序的会话已超时,其他两个应用程序也会继续照常运行。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -