我有用于门票订单的有状态 ejb。我想实现一个功能,如果用户选择票但不支付票,则为他保留特定时间段,比如 10 分钟。所以我实现了当用户提交票证选择时,它们会从可用票证数据库中删除。现在我需要设置一个计时器,在超时时将检查是否付款(可以通过数据库),如果没有 - 将这些票返回到数据库。
我会在 ejb 中为门票订单这样做,但它是有状态的,并且 EJBTimer 服务不支持有状态的 bean。你建议怎么做?
是否可以将处理超时的任务委托给分离无状态bean?在这种情况下,它将只有创建计时器的方法和使用@Timeout 注释的方法。我不知道如何将有关所选票证的所有详细信息传递给无状态 bean,因为它们不能作为 bean 属性保存(因为 bean 是无状态的)。我只能将它们传递给创建计时器的方法,但它们必须在超时调用的方法中使用。
PS我使用的是glassfish 3.1
感谢您的任何帮助。