2017-12-13 10 views
0

私がドキュメンテーションでは、私はEJBメソッドが返された直後に処理されないチェックされない例外
を投げたときに起こるshuould何
を見ることによって見つけるつらい時を抱えています。EJBトランザクションとJAX-RS

@Path("helloworld") 
    public class HelloWorld 
    { 

     @EJB 
     MyEJB myEJB; 

     @GET 
     @Produces("text/html") 
     public String doSomething() 
     { 
      myEJB.doSomethingMore(); 


      throw new RuntimeException("Oops"); 
     } 
} 

この場合、EJBはDBトランザクションをコミットしますか、ロールバックしますか?

+0

こちらの取引は表示されません。 – user1803551

答えて

2

HelloWorldはEJBではないため、トランザクション境界はmyEJB.doSomethingMore()の周りにあります。

HelloWorldでRuntimeExceptionをスローすると、トランザクションはすでにコミットされています。

HelloWorldでtransaciton境界線を使用する場合は、@StatelessをHelloWorldクラスに追加するだけです。

関連する問題