保证@Asynchronous fire-and-forget电话

时间:2014-04-15 21:17:08

标签: jboss jms ejb-3.1 java-ee-7 wildfly

E.g。我想调用@Asynchronous fire-and-forget服务方法。 有没有保证“解雇”这种方法? 会发生什么,例如什么时候服务器在实际触发@Asynchronous方法之前停止? 是否会在下一次申请开始时解雇? 是否可以使用@Asynchronous的线程池实现以外的其他方法? 它可以充当JMS队列(以持久的方式)吗?我应该使用JMS进行持久性吗?

似乎我们不能在任何可靠的系统中使用@Asynchronous,因为它不能保证解雇......

P.S。一种可能的选择是使用持久性Timer来进行延期调用。这是好主意吗?

1 个答案:

答案 0 :(得分:0)

@Asynchronous方法没有事务性或持久性保证。我同意这使得“即发即弃”方法非常有限。我认为如果你需要保证它会运行,持久定时器是异步执行工作的合理选择。