1、线程池设置使用此页面来配置应用程序服务器使用的线程池。线程池使服务器的组件能够重复使用线程,从而不必在运行时创建新线程。创建新的线程将耗费时间和资源。要查看此管理控制台页面,可以选择多个导航路径。例如,单击服务器 应用程序服务器 server_name 线程池,然后选择需要配置的线程池。要为 ORB 服务配置线程池,请单击服务器 应用程序服务器 server_name 容器服务 ORB 服务。然后,在“线程池设置”下面,执行下列任何一个操作: 选择“使用与线程池管理器相关联的 ORB 线程池设置(推荐)”,然后单击 ORB 线程池设置 选择“使用与 ORB 服务直接相关的线程池设置”,然后单击
2、线程池设置。注: 由于这些控制台面板动态地显示信息,因此,并不是在所有特定面板上都能看到全部这些字段。配置选项卡名称 要创建的线程池的名称。此名称在服务器中必须唯一。如果单击线程池设置,那么不会显示此字段。数据类型 字符串描述 线程池的文本描述。如果单击线程池设置,那么不会显示此字段。数据类型 字符串最小大小 指定池中允许的最小线程数。应用程序服务器启动时,一开始未对线程池指定任何线程。线程将添加至线程池,原因是分配给应用程序服务器的工作负载需要它们,直到池中的线程数等于在“最小大小”字段中指定的数字。此时间点后,当工作负载更改时会添加和除去其他线程。但是,池中的线程数永远不会降至“最小大小”
3、字段中指定的数字之下,即使某些线程空闲。如果单击线程池设置,那么不会显示此字段。数据类型 整型缺省值 10最大大小 指定要在缺省线程池中维护的最大线程数。如果 Tivoli Performance Viewer 显示最大百分比度量值以始终保持在双精度数字,那么考虑增加最大大小。最大百分比度量值表明使用已配置线程的时间量。数据类型 整型缺省值 50建议 50( Linux 系统上 25 个)线程不活动超时 指定在收回线程之前应该经过的不活动的毫秒数。为 0 的值表明不等待而负值(小于 0)意味着永远等待。注: 管理控制台不允许您将不活动超时设置为负数。要执行该操作,您必须直接在 server.x
4、ml 文件中修改值。数据类型 整型单位 毫秒缺省值 3500允许线程分配超过最大线程大小 指定线程数是否能增加到超出为线程池配置的最大大小。可以创建的最大线程数仅受 Java 虚拟机和操作系统限制。当允许增长的线程池超出最大大小后,不会重复使用其他线程,并且在处理完使用这些线程的工作项后,就会从池中废弃这些线程。创建其他线程时,会在系统日志文件中记录一条消息以指示已超出为线程池设置的最大大小。数据类型 布尔值缺省值 未启用(false)连接池设置使用此页面来配置连接池设置。此管理控制台页面是一系列资源类型(例如 JDBC 数据源和 JMS 队列连接工厂)的通用页面。要查看此页面,根据资源的类型
5、决定路径,但通常选择资源提供程序的实例,然后选择资源类型的实例,并单击连接池。例如,单击 资源 JDBC JDBC 提供程序 JDBC_provider 数据源 data_source 连接池。JMS 队列连接工厂的路径是: 资源 JMS JMS 提供程序 缺省消息传递 JMS 队列连接工厂 JMS_queue_connection_factory 连接池属性。配置选项卡连接超时 指定时间间隔(以秒计),这个时间间隔过后连接请求超时并抛出 ConnectionWaitTimeoutException。此值表明空闲池中没有可用连接或无法创建新连接(通常这是因为特定连接池中的连接数达到了最大值)时
6、,请求连接所等待的秒数。例如,如果连接超时设置为 300,并且最大连接数都在使用,那么池管理器等待 300 秒以使物理连接可供使用。如果物理连接在这段时间内不可用,那么池管理器将产生 ConnectionWaitTimeout 异常。通常,重试 getConnection() 方法没有用;如果需要更长的等待时间,您应该增加连接超时设置值。如果应用程序捕捉到 ConnectionWaitTimeout 异常,那么管理员应该查看需要的应用程序连接池用法,并相应地调整连接池和数据库。如果连接超时设置为 0,那么在连接可用之前,只要需要池管理器将一直等下去。此情况发生在应用程序完成事务并将连接返回到池
7、的时候,或发生在连接数降到最大连接值之下(允许创建新的物理连接)的时候。如果最大连接数设置为 0(允许无限多个物理连接数),那么将忽略连接超时值。数据类型 整型单位 秒缺省值 180范围 0 到最大整数最大连接数 指定您可以在此池中创建的最大物理连接数。这些是到后端资源的物理连接。一旦达到此数,便不再创建新的物理连接,并且在当前使用的物理连接返回池或抛出 ConnectionWaitTimeoutException 之前,请求者会一直等待。例如,如果最大连接值设置为 5,并已使用了 5 个物理连接,那么池管理器等待连接超时中指定的时间,直至物理连接为空闲。了解可能向后端(如 DB2 数据库或
8、CICS 服务器)请求连接的连接池数目可帮助您确定“最大连接数” 属性的值。对于使用同一数据源配置的多个独立应用程序服务器或 J2C 连接工厂配置,每个服务器都有单独的物理连接池。如果克隆相同的应用程序服务器,那么 WebSphere Application Server 会为每个克隆实现单独的连接池。所有这些连接池对应于同一数据源或连接工厂配置。因此所有这些连接池都可能同时向同一后端资源请求连接。在此控制台面板上设置的单个“最大连接”值将应用于每个连接池。因此,设置较高的“最大连接值”可能导致连接请求过多从而使后端资源严重不足。数据类型 整型缺省值 10范围 0 至最大整数 如果最大连接数设
9、置为 0,那么忽略连接超时值。提示: 要获得更好的性能,将连接池的值设置为小于 Web 容器中最大连接数的值选项。越小的设置(如 10-30 个连接) ,性能比越高的设置(如 100)更好。 您可使用 Tivoli Performance Viewer 查找池中最优连接数。如果并发等待者的数目大于 0,但是 CPU 负载未接近 100%,那么考虑增加连接池大小。如果使用百分比值一直低于正常工作负载,那么考虑减少池中的连接数。最小连接数 指定要保持的最小物理连接数。如果连接池的大小处于最小连接池大小或比它还小,那么未使用超时线程不废弃物理连接。但是,池不会只为了确保维持最小连接池大小而创建连接。
10、同样,如果您设置时效超时值,那么废弃时效到期的连接,而无论最小池大小设置是什么。例如,如果最小连接数值设置为 3,并且已创建了一个物理连接,那么 “未使用超时”线程不废弃该连接。同样的原因,线程不自动创建达到最小连接数设置的两个其他物理连接。数据类型 整型缺省值 1范围 0 到最大整数收集时间 指定运行池维护线程之间的时间间隔(以秒计)。例如,如果“收集时间”设置为 60,那么池维护线程每 60 秒运行一次。此收集时间的时间间隔影响“未使用超时”和“ 时效超时”设置的准确度。时间间隔越小,准确度越大。如果启用了池维护线程,那么您应该将“收集时间”值设置为小于“未使用超时”和“时效超时”的值。当
11、池维护线程运行时,它废弃所有未使用的时间长于“未使用超时”中指定的时间值的连接,直到它达到“最小连接数”中指定的连接数为止。池维护线程还废弃所有活动时间长于“时效超时”中指定的时间值的连接。收集时间间隔还影响性能。更短的时间间隔意味着池维护线程将更频繁的运行并降低性能。要禁用池维护线程,“收集时间”设置为 0,或“未使用超时”和“时效超时”都设置为 0。禁用池维护线程的建议方法是将“收集时间”设置为 0,在这种情况下,将忽略“未使用超时”和“时效超时”。但是,如果“未使用超时”和“时效超时”都设置为 0,那么池维护线程将运行,但是仅废弃由于非零超时值引起的超时的物理连接。数据类型 整型单位 秒
12、缺省值 180范围 0 到最大整数未使用超时 指定废弃未使用的或空闲连接后的时间间隔,以秒为单位。为了优化性能,设置“未使用超时”值高于“收集超时”值。如果当前连接数超过最小连接数设置,那么仅废弃未使用的物理连接。例如,如果未使用超时值设置为 120,并且启用池维护线程(收集时间不是 0),那么将废弃两分钟没有使用的任何物理连接。此超时的精度和性能受“收集时间”值影响。请参阅收集时间,以了解更多信息。数据类型 整型单位 秒缺省值 1800范围 0 到最大整数时效超时 指定废弃物理连接前的时间间隔(以秒计)。将“时效超时” 设置为 0 支持活动的物理连接无限期地保留在池中。为了优化性能,设置“时
13、效超时”值高于“ 收集超时” 值。例如,如果“时效超时”值设置为 1200,并且“收集时间” 值不是 0,那么从池中废弃已经存在 1200 秒(20 分钟)的所有物理连接。唯一的例外情况是:如果达到时效超时后该连接正被某个事务使用,那么应用程序服务器将不会废弃该连接,直到事务完成且连接关闭后为止。此超时的精度和性能受“收集时间”值影响。请参阅收集时间,以了解更多信息。数据类型 整型单位 秒缺省值 0范围 0 到最大整数清除策略 指定检测到 失效连接 或 致命连接错误 时如何清除连接。有效值是 EntirePool 和 FailingConnectionOnly。数据类型字符串缺省值 Entir
14、ePool,用于 J2C 连接工厂和与 JMS 有关的连接工厂 EntirePool,用于 WebSphere V4.0 数据源 EntirePool,用于通过管理控制台创建的当前版本数据源 EntirePool,用于通过 wsadmin AdminConfig 命令进行脚本编制并且调用构建到 WebSphere Application Server 中的 JDBC 模板的当前版本数据源(有关 createUsingTemplate 命令的信息,请参阅信息中心中的“AdminConfig 对象的命令。 ”一文) 。 FailingConnectionOnly,用于在 wsadmin 中进行脚本
15、编制但未调用 JDBC 模板的数据源: 范围EntirePool 池中的所有连接都标记为失效。立即关闭任何未使用的连接。关闭在使用的连接并在该连接上执行下一个操作期间产生失效的连接异常。应用程序发出的后续 getConnection() 请求会导致打开到数据库的新连接。使用此清除策略时,可能会不必要地关闭池中不是失效连接的一些连接。然而,这种情况不太可能会发生。在多数情况下,EntirePool 的清除策略是最佳选项。FailingConnectionOnly 仅关闭导致失效的连接异常的连接。虽然此设置消除不必要地关闭有效连接的可能性,但从应用程序角度看来,它使恢复更为复杂。因为仅关闭了当前失
16、败的连接,因此极有可能的是,应用程序发出的下一个 getConnection() 请求从池中返回的连接可能也是失效的,这会导致产生更多失效的连接异常。 连接预测试功能尝试将应用程序与无效的合用的连接隔离。在后端资源(如数据库)停止时,空闲池中可能存在无效的合用的连接。尤其当清除策略为 failingConnectionOnly 时存在此情况;在这种情况下,将失败的连接从池中除去。由于此故障,池中剩余的连接也可能无效。数据源设置使用此页面来编辑数据源的属性。可以通过下面两种方法中的一种方法来访问此管理控制台页面: 资源 JDBC 数据源 data_source 资源 JDBC JDBC 提供程序
17、 JDBC_provider 数据源 data_source 版本需求: 如果应用程序使用 Enterprise JavaBean(EJB)1.1 或 Java Servlet 2.2 模块,那么必须使用数据源(WebSphere Application Server V4) data_source 控制台页面。配置选项卡测试连接 激活测试连接服务,以便验证应用程序与数据源的连接。在单击测试连接之前,请设置数据源属性,然后单击应用。作用域 指定支持此数据源的 JDBC 提供程序的作用域。只有安装在此作用域内的应用程序才能使用此数据源。提供程序 指定 JDBC 提供程序,该 JDBC 提供程序封
18、装了用于支持此数据源的驱动程序实现类。名称 指定数据源的显示名。此名称的有效字符包括字母和数字,但并不包含多数特殊字符。例如,您可将该字段设置为 测试数据源 。但任何以句点()开头或包含特殊字符( / , : ; “ * ? | = + & % )的名称都不是有效名称。数据类型 字符串JNDI 名称 指定 Java 命名和目录接口(JNDI )名称。分布式计算环境经常使用命名和目录服务来获取共享组件和资源。命名和目录服务将名称与位置、服务、信息和资源关联起来。命名服务提供名称到对象映射。目录服务提供对象的信息和查找那些对象所需的搜索工具。有很多命名和目录服务实现,它们的接口也各不相同。JNDI
19、 提供用于访问各种命名和目录服务的公共接口。 例如,您可使用名称 jdbc/markSection。如果您将此字段保留为空白,那么将从数据源的名称生成一个 JNDI 名称。例如,markSection 的数据源名称生成 jdbc/markSection 的 JNDI 名称。设置此值后,将它保存并重新启动服务器,当您运行转储名称空间工具时,您可以看到此字符串。数据类型 字符串容器管理的持久性 指定此数据源是否用于企业 bean 的容器管理的持久性。如果选取此字段,那么为关系资源适配器创建与此数据源相应的 CMP 连接器工厂。数据类型 复选框缺省值 启用(字段已选取。)描述 指定资源的文本描述。数
20、据类型 字符串类别 指定可用于分类或分组资源的类别字符串。数据类型 字符串数据存储辅助控件类名 指定 DataStoreHelper 实现类的名称,该类可扩展您所选的 JDBC 驱动程序实现类的能力以执行数据库特定的功能。WebSphere Application Server 为每个它所支持的 JDBC 提供程序驱动程序提供一组 DataStoreHelper 实现类。这些实现类在包 com.ibm.websphere.rsadapter 中。例如,如果 JDBC 提供程序是 DB2,那么缺省 DataStoreHelper 类是 com.ibm.websphere.rsadapter.DB
21、2DataStoreHelper。然而,您正在查看的管理控制台页面可能使多个 DataStoreHelper 类名在下拉列表中可用;确保选择一个您的数据库配置所需的类名。否则,您的应用程序可能不能正确地运行。如果您要使用不在下拉列表中显示的 DataStoreHelper,那么选择指定用户定义的 DataStoreHelper 并输入标准类名。请参阅信息中心主题“示例:开发您自己的 DataStoreHelper 类。”数据类型 下拉列表或字符串(如果选择了用户定义的 DataStoreHelper)组件管理的认证别名 此别名用于运行时的数据库认证。仅当应用程序资源引用在使用 res-auth
22、 = Application 时才使用组件管理的认证别名。如果您的数据库(例如 Cloudscape)不支持 用户标识 和 密码 ,那么不要在“组件管理的认证别名”字段或“ 容器管理的认证别名”字段中设置别名。否则,您在系统日志中会看到警告消息,表明用户和密码不是有效属性。(此消息仅为警告消息;创建数据源仍成功。)如果您未设置别名(组件管理的或其他),而您的数据库要求用户标识和密码获取连接,那么您在运行时期间接收到异常。 数据类型 下拉列表用于 XA 恢复的认证别名 此可选字段用于指定应该在 XA 恢复处理期间使用的认证别名。如果资源适配器不支持 XA 事务,那么不会显示此字段。缺省值将来自所选的应用程序认证别名(如果指定)。使用组件管理的认证别名 选择此单选按钮指定在 XA 恢复时使用为组件管理的认证设置的别名。 数据类型 单选按钮指定: 选择此单选按钮使您能从已配置别名的下拉列表中选择认证别名。 数据类型 单选按钮容器管理的认证别名(建议不要使用) 为到资源的容器管理的登录指定认证数据(转换到用户标识和密码的字符串路径)。注: 从 WebSphere Application Server V6.0 开始,对于 res-auth=Container 的组件,容器管理的认证别名由部署时有关资源引用映射的登录配置规范取代。从列表中选择别名。要定义列表中未显示的新别名: