栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Weblogic Server 11g上的自定义线程

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Weblogic Server 11g上的自定义线程

不鼓励在Weblogic 11g(EJB3.0)上创建“自己的线程执行程序”,您应该使用:

  • 计时器服务

例:

MyEjb {   @Stateless   public class TimerBean implements TimerRemote {    @Resource    TimerService service;    @Override    public void startTimer() {        Timer timer = service.createTimer(1000,  1000, null);        System.out.println("Timers set");    }    @Timeout    public void handleTimeout(Timer timer) {        System.out.println("Handle timeout event here...");    }}
  • 延迟的MDB
  • 工作经理

如果无法使用Deleyed MDB或TimerService,则需要使用Work Manager

Weblogic和Websphere符合CommonJ(JSR
237

Timer&WorkManager);换句话说,他们使用公共界面与工作经理一起工作;在weblogic中,工作管理者可以调节线程(Servlet,EJB,MDB,…,自定义线程)的生命周期。

恕我直言,不要使用它,

ExecutorService
因为它不受weblogic的控制:如果停止应用程序(而不是服务器),则weblogic控制的线程将停止,其他线程不应终止;我遇到了这个问题。

工作经理

WebLogic Server中的WorkManager功能本质上是动态的,它根据传入请求的数量自动调整线程池大小以最大化吞吐量。要使用
WorkManager, 您可以通过commonj界面或MBean访问。

例:

InitialContext ic = new InitialContext();commonj.work.WorkManager wm = (WorkManager);ic.lookup(‘java:comp/env/wm/default’); // default work manager

弹簧

例如,spring有一个简单的方法可以将自己的TaskExecutor附加到comonj worker manager:

<bean id="workManager" >        <property name="workManagerName" value="java:comp/env/wm/default" />    </bean>

石英

Quartz在应用程序服务器上工作,并且在春季,他们可以使用工作管理器

JAVA EE 7

JEE7引入了批处理 (JSR
352)。Java平台API(批处理)的批处理应用程序为批处理应用程序提供了编程模型,并为调度和执行作业提供了运行时。

执行人服务

从Java规范:

Java EE 7平台中还新增了Batch API和Concurrency Utilities API,Batch
API为批处理应用程序提供了编程模型,并为调度和执行作业提供了运行时,并通过托管执行器服务,托管调度执行器提供了异步功能。 。

在JEE7中,执行服务已通过

ManagedExecutorService
和扩展
ManagedThreadFactory

例:

   javax.naming.InitialContext ctx = new InitialContext();   ManagedExecutorService mes = (ManagedExecutorService)       ctx.lookup("java:comp/env/concurrent/ThreadPool");   // Create a set of tasks to perform the account retrieval.   ArrayList<Callable<MyObject>> retrieverTasks = new ArrayList<Callable<MyObject>>();   retrieverTasks.add(new MyCallable());

结论:Weblogic

参见http://www.oracle.com/technetwork/java/restrictions-142267.html



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号