Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Transactions JAX-RS中的类EJB事务_Transactions_Jax Rs - Fatal编程技术网

Transactions JAX-RS中的类EJB事务

Transactions JAX-RS中的类EJB事务,transactions,jax-rs,Transactions,Jax Rs,我正在向现有应用程序(JBoss4、EJB2、添加RESTEasy)添加RESTful API。应用程序当前具有具有容器管理事务的会话bean。首先,我调用企业bean上的远程接口。EJB的使用正在逐步停止,因此将添加新功能,而无需在bean上编写新方法 JAX-RS或JBoss4是否在资源方法上提供任何事务支持?或者我必须在每个资源方法中编写自己的事务代码吗 JAX-RS有前拦截器和后拦截器,但似乎没有包装调用的拦截器。为什么不将会话bean用作JAX-RS服务?拥有容器管理的事务在JavaE

我正在向现有应用程序(JBoss4、EJB2、添加RESTEasy)添加RESTful API。应用程序当前具有具有容器管理事务的会话bean。首先,我调用企业bean上的远程接口。EJB的使用正在逐步停止,因此将添加新功能,而无需在bean上编写新方法

JAX-RS或JBoss4是否在资源方法上提供任何事务支持?或者我必须在每个资源方法中编写自己的事务代码吗


JAX-RS有前拦截器和后拦截器,但似乎没有包装调用的拦截器。

为什么不将会话bean用作JAX-RS服务?拥有容器管理的事务在JavaEE中非常有效

有关示例,请参见:


如果您希望公开的REST服务由事务“管理”,您可能需要查看一下

我需要从JAX-RS bean内部调用一个方法,将其作为param entity对象,这样程序流必须位于一个事务内部,才能不引发分离的实体异常

最后,我将@Injected(CDI)UserTransaction对象注入到我的JAX-RS Bean(类)中,并将此方法中的代码包装为:

userTransaction.begin(); 
// code requiring transaction goes here 
userTransaction.commit(); 
对我来说,这似乎是正确的,结果很好