随录EJB和JTA

Posted 发现一个bug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随录EJB和JTA相关的知识,希望对你有一定的参考价值。

说道JTA(Java Transction Api),即事务的一种。

事务:说白了就是一组原子操作,是为了保证数据的安全性。

它,分为三类:JDBC事务,JTA事务,还有容器事务。

JDBC是由Connection对象控制的,Connection对象提供自动提交和手动提交两种功能;作用是把多个sql语句集中到一个事务中;局限性是只能连接一个数据库。

JTA事务,可以跨越多个数据库。它通过JNDI来查询数据源,一旦找到数据源,就会用DataSource.getConnection连接数据库;他不能用Connection.commit,Connection.rollBack来提交回滚事务,而是用UserTrasction.begin,userTransction.commit,userTransciton.rollback来提交、回滚事务。

容器事务,只有用到EJB的才适用。

EJB:即(Java EnterPrise bean java企业bean),他就是为了让做好的程序发布到服务器上。

EJB有三个bean,sessionbean(会话bean)、entityBean(实体bean)、MessageDriverBean(消息驱动bean)

sessionBean(会话bean):它可以是无状态的、也可以使有状态的。用来客户端发来请求时,创建一个sessionbean,来处理这个请求,也可以理解为业务逻辑的实现。

entityBean(实体bean):它是一个与数据库进行交互的实体bean,进行O/R映射(对象关系映射),用来操作数据库,当加入一个实体bean时即创建一条记录,当删除一个实体bean时,就删除一条记录。

MessageDriverBean(消息驱动bean):是一个异步的、无状态的bean,基于JMS的驱动bean。

 

以上是关于随录EJB和JTA的主要内容,如果未能解决你的问题,请参考以下文章

JTA和JTS

为啥我在 JTA EJB 的 @PostConstruct 方法中收到 TransactionRequiredException?

weblogic 下如何配置 JTA事务管理??

带 JDBC 的 EJB 3

Spring对JTA的支持

JTA EntityManager不能在存储过程调用中使用getTransaction()