使用 WebSphere Application Server 开发高性能 J2EE 线程
2009-09-30 00:00:00 来源:WEB开发网引言
IBM WebSphere Application Server 软件提供了以下两种机制,以支持 J2EE™ 应用程序开发人员在 Servlet 和 EJB 组件中安全地使用线程:
异步 Bean
Commonj Timer and WorkManager for Application Servers 1.1 规范。
两种编程模式都允许您创建池线程和守护程序线程,以便运行 J2EE 业务逻辑。
在两种编程模式中,线程可以由不同的应用程序重用。当应用程序逻辑开始和终止时,这可以通过应用和删除线程内外的 J2EE 上下文信息来完成。因此,单个线程池可以由多个应用程序使用。每次使用线程时,其标识都会更改。
每次重用线程时,都必须更改线程的上下文,对于可能很少在这些线程执行活动的应用程序,开销会特别大。在这些情况下,需要一个组件范围的线程池,并在每个线程上具有固定的 J2EE 上下文。这可以通过使用 Asynchronous Beans EventSource 接口来完成。
本文介绍如何使用 Asynchronous Beans EventSource 构造线程工厂,文中还包括一个称为并发适配器 (Concurrent Adapter) 的可下载示例,它可以与第三方线程池实现一起使用,以创建能够在 WebSphere Application Server 上工作的快速线程池。
全局线程池
WebSphere Application Server 提供了高性能和高伸缩性的线程池实现。异步 Bean 和 Commonj 的 WorkManager 对所有池线程都使用此线程池。
由于 WorkManager 实例可用于全局命名空间,所以它们可以在多个应用程序之间共享,因此需要 J2EE 上下文切换。为完成此任务,WorkManager 在提交工作时会获取线程上 J2EE 上下文的快照。产生的对象将成为 WorkWithExecutionContext (WWEC) 对象(图 1)。
图 1. WorkWithExecutionContext
Tags:使用 WebSphere Application
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接