我们可以指定transactionManagent / transactionAttribute(如required或Requiresnew)来提及Container必须如何管理方法的事务 当客户端使用JDBC调用会话bean的方法时。如果是,有人可以给我一个简短的例子。
我的印象是可以使用会话bean中的声明式transactionManagent 只有在我们使用具有实体bean的会话bean时才会这样做。
答案 0 :(得分:1)
完全可以使用@TransactionAttribute注释或ejb-jar.xml
中的条目在会话EJB或其各个方法上指定事务划分注释。
您可以找到Java EE tutorial on container-managed transactions中解决的基本知识。其他获取示例的地方是OpenEJB项目,该项目描述了usage of the annotations,还有testing for session EJB methods that uses these annotations。
到目前为止,作为声明式事务管理使用的范围,它们不限于实体bean(如果您指的是EJB 2.x实体bean,现在没有合理的项目可以使用)。您可以将它们用于普通JDBC或其他事务协议等低级协议,以及JPA等更高级别的框架,只要您使用的基础数据源支持事务访问,即允许数据源的登记和删除在使用JTA API的事务中。