我正在构建一个包含对项目出价的系统。因此,拍卖的每件商品都有超时。我的问题是,由于系统将被许多用户访问并且拍卖中有很多项目,使用ejb计时器服务会对系统的性能产生很大影响吗?如果是这样,处理这种情况的最佳方法是什么?任何帮助将不胜感激。
感谢。
答案 0 :(得分:2)
我目前正在研究这本EJB3 In Action书,本书中有一本关于计时器的有用摘录。总而言之,如果您需要更复杂的计时器配置,最好选择更强大的计时器服务,如下所述。但是,如果您需要简单的日常例程,EJB3计时器就足够了。性能不会成为问题,因为Timer提供了Timer服务。
在Java EE世界中,您有几个选项来安排任务和 活动。大多数Java EE应用程序服务器都带有调度 实用性足够有用。还有一些 功能丰富的全面调度包可供企业使用 应用。 Flux是一个出色的商业调度包, 而Quartz是一个优质的开源实现。 EJB计时器 服务是调度的标准Java EE答案。你很快就会 学习,虽然它不试图与全面调度竞争 对于大多数产品而言,EJB 3计时器服务可能就足够了 日常应用程序开发要求。因为它是如此 轻巧,服务也非常容易使用。
答案 1 :(得分:1)
使用ejb计时器服务会对系统性能产生很大影响吗?
在处理方面,它对于app服务器来说非常便宜,控制en ejb计时器的生命周期,基本上这是评估定义的时间条件是否已经过期,然后调用timeout()回调方法。
问题在执行您编写的代码时开始,以便解决您的业务需求。这是性能问题出现的地方。
我不知道您打算如何使用计时器服务,但我想象的是一个ejb计时器,每1秒钟调用一次为您的服务/业务层提供的服务,该服务知道如何识别出价已过期并与他们做点什么。
如何设计此服务会影响性能而不影响ejb计时器本身。