EJB,SPRING中事务标志的意思

EJB中:

容器管理的事务

Nerver:不参与事务,如果参与产生RemoteException

NotSupported:不能参与

Supports:如果调用者正在参与事务,相应的EJB调用也可以参与事务,否则不能

Mandatory如果调用者有一个事务,相应的EJB可以参与事务,否则,TransactionRequiredException

Required如果调用者有一个事务,相应的EJB可以参与事务,否则,容器将在调用相应的EJB之前,开始一个事务.

当方法调用完成以后,即提交该事务.

RequiresNew在调用相应的EJB之前,开始一个新的事务,当方法调用返回时,即提交这个事务.

Spring中:

PROPAGATION_MANDATORY:一个方法必须在一个现存的事务中进行,否则丢出异常。

PROPAGATION_NESTED:在一个嵌入的事务中进行,如果不是,则同PROPAGATION_REQUIRED.

PROPAGATION_NEVER:指出不应在事务中进行,如果有就丢出异常。

PROPAGATION_NOT_SUPPORTED:指出不应在事务,如果有就暂停现存的事务。

PROPAGATION_REQUIRED:支持现在的事务,如果没有就建立一个新的事务。

PROPAGATION_REQUIRED_NEW:建立一个新的事务,如果现存一个事务就暂停它。

PROPAGATION_SUPPORTS:支持现在的事务,如果没有就以非事务的方法执行。

相关推荐