没有事务的EJB

Lon*_*HDi 1 ejb

我正在使用EJB以利用:

  1. 并发(而不是创建2个线程,我将工作分为2个EJB bean).

  2. 池(我使用无状态EJB很多,我喜欢池包含特定数量的bean的想法).这样,我不怕内存不足.内存使用情况更容易预测).

  3. 异步处理(我只需要一个注释).

好吧,问题是我在MongoDB中使用它,所以我不需要任何事务.我可以使用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)@TransactionAttribute(TransactionAttributeType.NEVER)注释但是......这意味着我必须在任何地方指定它?

反正默认情况下是否禁用EJB事务?

Dul*_*ren 6

在EJB 3.0容器中,使用以下命令注释EJB(或EJB方法):

@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
@TransactionAttribute(value=TransactionAttributeType.NEVER)
public class YourBean
Run Code Online (Sandbox Code Playgroud)

对于BEAN管理或对于CONTAINER管理而言:

@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(value=TransactionAttributeType.NEVER)
public class YourBean
Run Code Online (Sandbox Code Playgroud)