WEB开发网
开发学院软件开发Java 使用 WebSphere Application Server 开发高性能 J... 阅读

使用 WebSphere Application Server 开发高性能 J2EE 线程

 2009-09-30 00:00:00 来源:WEB开发网   
核心提示: 图 4. 使用 EventSource 的安全上下文切换图片看不清楚?请点击这里查看原图(大图),同一技术可以应用到任何 POJO(传统 Java™ 对象),使用 WebSphere Application Server 开发高性能 J2EE 线程(5),后者可以使用 EventSo

图 4. 使用 EventSource 的安全上下文切换

使用 WebSphere Application Server 开发高性能 J2EE 线程

图片看不清楚?请点击这里查看原图(大图)。

同一技术可以应用到任何 POJO(传统 Java™ 对象),后者可以使用 EventSource 进行打包,以便针对单个方法调用切换对象的 J2EE 上下文。EventSources 使用 java.lang.reflect.Proxy 对象将每个对象实例与专用的 J2EE java.lang.reflect.InvocationHandler 打包在一起。使用代理来调用 Java 对象方法时,J2EE 处理程序将自动在注册侦听器时捕获的线程上应用 J2EE 上下文。

当在范围外的线程上执行方法时,此功能特别有用;例如,启动线程池中的线程。

如果没有 EventSource 代理,则新的线程将没有 J2EE 上下文。线程池将实例化新的 java.util.Thread 对象,并调用 start() 方法。

EventSource 使我们能够执行可以插入到 PooledExecutor 或 ThreadPoolExecutor 的 ThreadFactory 实现。创建 ThreadFactory 的 J2EE 组件的 J2EE 上下文将被保留,并在启动新的工作线程之前重新应用到线程。切换上下文的所有开销都一次性应用到线程。

由于 Commonj WorkManager 规范中不存在 EventSource 对象,所以不可能构建线程工厂。仅当使用异步 Bean 时,线程工厂才可使用。

实现线程工厂

在本文中,我们提供了示例线程工厂实现,这些实现支持使用 J2SE 5、J2SE 1.4 的组件范围的自定义线程池(使用 J2SE 5 java.util.concurrent.ThreadPoolExecutor 的向下移植或在 WebSphere 应用程序中使用 dl.util.concurrent.PooledExecutor)。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 WebSphere Application

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接