随录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 EJB 的 @PostConstruct 方法中收到 TransactionRequiredException?