EJB容器事务与底层数据源的数据库事务有什么联系和区别? 这个问题一直没有搞清楚。操作EJB的时候,事务都是EJB容器启动的,大部分都是涉及到数据库操作的时候才会用事务,但是二者又有什么关联呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 容器提供了EJB服务,同时也提供了transaction支持。网上介绍很多。 EJB 组件的事物处理一般是采用 JTA 事务。JTA 事务必须由 Java EE 应用服务器来管理,JTA 事务是一种分布式事务 API,其与我们通常所称的本地事务,也就是 JDBC Connection 事务有很大的不同。Connection 事务只能针对于一个数据库连接,如果一个方法中同时操作了两个数据库中的表,那么 Connection 对这样的事务需求就无能为力了,因为 Connection 只能管理一个数据库的连接。对于这种跨数据源的事务处理,目前在 Java 中一般使用 JTA 来进行处理,但是 JTA 并不能运行在 Java SE 环境中,也不能运行在 Servlet 容器中,其只能运行在 Java EE 应用服务器中。对于这种跨数据源式的事务处理,其数据库本身需要能够支持所谓的“两阶段提交协议”(通常称为“2-PC”,可以去 Google 上寻找一些相关资料),2-PC 需要有个中间协调者,而这个中间协调者就是 Java EE 应用服务器。 Java EE 容器所管理的数据源需要绑定在 JNDI 上,因此 Java EE 容器在启动时就对其进行了初始化。一个数据库我们可以看作是对应于一个数据库的连接源,数据源指的是绑定在 JNDI 上实现了 javax.sql.DataSource 的对象。Java EE 容器可以从 JNDI 的某个 DataSource 中获得 Connection 注入到 JPA 的 EntityManager 或者 Entity Bean 中去。如果当前数据库事务是采用 JTA 的话,那么 EJB 中所使用到的 JTA 事务的 javax.transaction.UserTransaction 对象也必须从 JNDI 中获得。 怎么给maven第三方jar包添加source hibernate一对多问题 Struts 2 下,用iText获得ServletOutputStream,怎样传回给客户端? FTPClient上传图片问题 java如何同事控制文件系统和数据库系统的事务 点击链接下载文件 在tomcat里的某一应用中,如何自动运行一个bean? 请问HQL的模糊查询怎么写?谢谢。 SOS!jb9+weblogic8.1开发ejb的问题 高分在线救急!!!有关在jbuilder7中配置tomcat的问题. jsp显示问题 实践还是理论?
网上介绍很多。