gpt4 book ai didi

java - 消息驱动 Bean 业务逻辑是否应该委托(delegate)给 EJB session Bean

转载 作者:行者123 更新时间:2023-12-02 11:08:41 24 4
gpt4 key购买 nike

我被要求调查我们的一些 MDB 以及在适用的情况下将逻辑移动到 EJB。我的问题是,如果所有逻辑都在 OnMessage 方法中,还是应该调用 EJB 方法,这是否重要?当前逻辑不需要直接调用,因此不需要通过 EJB 访问它。 MDB 调用 EJB 有什么好处吗?

最佳答案

将逻辑转移到 EJB 的主要好处是,这将使您能够更好地控制事务边界。

由于 MDB 本质上是事务性的,因此失败可能会导致回滚,然后重新传递消息。有时这正是您想要的行为,但并不常见。

如果您在 EJB 上配置服务方法,以便它启动新事务 (REQUIRES_NEW),那么任何错误都将导致 EJB 事务回滚,但不会导致 MDB 事务回滚。

然后,onMessage 方法可以在其仍然完整的事务中采取恢复(或不恢复)所需的任何操作。

关于java - 消息驱动 Bean 业务逻辑是否应该委托(delegate)给 EJB session Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com