【发布时间】:2016-01-15 13:57:39
【问题描述】:
我有一些可以从多个无状态会话 EJB 调用的实用程序函数。这些实用功能需要在新事务中 (RequiresNew)。
为所有这些功能创建一个无状态会话 EJB 是否有意义,可以称之为Utility?
或者我应该尝试让它们按功能组织,在这种情况下我会得到多个无状态会话 EJB?如果我有很多这样的无状态会话 EJB,对系统性能会有什么影响?
效用函数的一些例子:
我有一个表,用于存储带有 ID 的消息。 创建一个实用函数来检索特定 ID 的消息。 创建一个实用函数来更新特定 ID 的消息。
我有一张表格,用于跟踪某些进程的状态。 创建一个实用函数来给出特定进程的状态。 创建一个实用函数来更新特定进程的状态。
等等。
【问题讨论】:
-
你能给我们举几个函数的例子吗?
-
如果他们需要一个新的交易(和状态),他们绝对不是“实用功能”。
-
根据您的编辑:这些只是 MessageService 和 ProcessService EJB?或者您不知道您可以在一个 EJB 中安全地注入另一个 EJB?实用函数是类中的静态方法,没有任何实例变量。
-
@BalusC 这些函数需要新事务,因为它们可能是从另一个事务中调用的,并且无论调用事务的提交或回滚如何都希望这些函数提交
-
这完全可行,但绝对不是“实用功能”。
标签: java jakarta-ee transactions ejb utility-method