社区
Eclipse
帖子详情
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
mixer_b
2010-12-26 11:01:22
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
...全文
130
5
打赏
收藏
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jlins
2010-12-27
打赏
举报
回复
JTA 分布式事务,如果你操作一个数据库用Jdbc就可以完成事务,如果你操作2个数据库要完成2个数据库之间的事务就用JTA
JPA 你知道hibernate吗?hibernate不光有配置文件,还有通过注解直接来映射,JPA就是java规范的映射,是对EJB3准备的一套规范
JMS 意思是 java消息服务,比如你操作一个程序跑任务,想跑完之后忘你的邮箱里发送一个邮件,而且是异步的,那你就可以使用JMS的api来发送邮件了...邮件就是消息...
以上个人理解
火龙果被占用了
2010-12-26
打赏
举报
回复
这上面三个,每一个都可以写一本书,推荐看的书:
JPA
Apress 出版的 Pro JPA 2,目前无中文版
O'Reilly 出版的 Enterprise JavaBeans 3.0(第五版),该书有七个章节介绍了 JPA 1.0
O'Reilly 出版的 Enterprise JavaBeans 3.1(第六版),该书介绍了 JPA 2.0,目前无中文版
JTA
由于 JTA 涉及的领域太多,还没有专门讲 JTA 的书。关于 Java 事务上我只见过这本书:
Java Transaction Processing: design and implementation,目前无中文版
JMS
O'Reilly 出版的 Java 消息服务。JMS 中最好的一本书,作者全都是分布式领域的公认专家!
火龙果被占用了
2010-12-26
打赏
举报
回复
这些都是 Java EE 中的技术。
1:JPA(Java Persistence API, Java 持久化 API)
JPA 是 Java EE 中新增的东西,旨在统一 Java EE 中的 ORM 操作。以替代 EJB 3 之前的 Entity Bean。你可以把 JPA 看作与 Hibernate 是一样的功能。
JPA 的设计并不仅限于在 J2EE 环境中使用,也可以在 Tomcat 等 J2SE 环境中使用,甚至在 main 方法中使用。
JPA 只是一个规范,具体的实现由 Provider 去做。JPA 常用的 Provider 有:Hibernate, Apache OpenJPA, EclipseLink
2:JTA (Java Transaction API, Java 事务 API)
JTA 是 J2EE 中重要的组成部分,旨在处理分布式事务。我们都知道 JDBC 的事务仅适用于单数据库环境中,若要在两个或两个以上的数据库中实现事务,那么 JDBC 的 Connection 就做不了了,比如说:应用需要在 MySQL 数据库中插入一条数据,在 Oracle 中插入一条数据,在另一个 MySQL 库中更新一条数据,这三个操作要么全部成功,要么全部失败,在这种情况下就需要使用 JTA 事务了。
并不是所有的数据库都能支持分布式事务(XA),这需要数据库支持 2-PC(也就是两阶段提交协议),关于两阶段提交协议是怎么工作的,可以看看这帖子中我在 3 楼的回复:
http://topic.csdn.net/u/20100521/11/04b05a96-30e5-4356-9675-72111bfb9df3.html
另外,JTA 只能在 J2EE 容器中使用,因为 JTA 中的 UserTransaction 根据规范是需要从 JNDI 上获得的。J2EE 应用服务器的优劣主要就体现在对于 JTA 的处理能力,一般来说开源的 J2EE 应用服务器在 JTA 上不如商用的 J2EE 应用服务器。
3:JMS(Java Message Service, Java 消息服务)
这又是 J2EE 分布式应用的体现之一。你应该知道生产者-消费者模式吧?对于普通应用来说生产者-消费者是在一个 JVM 中运行的,也就是说在一个应用中的。倘若生产者分布在不同的应用中,甚至生产者可能是 Java 的,也可能是 .NET 的,这样的话,根据线程调度实现的生产者-消费者代码就用不了!
我们把生产者生产的东西称之为消息,而 JMS 的出现就可以适用于这种分布式环境中的消息服务,JMS 规范JMS 的实现商除了必须支持 Java 之外,JMS Provider 也会支持 native 程序,这样就使得生产者可以是不同的客户端程序。生产者将消息往 JMS 队列中放,JMS 消费者从 JMS 队列中取数据。
当然了,这上面说的只是生产者-消费者的 PULL 模式,也就是 JMS 中的 Point-to-Point 模式。在 JMS 中也支持 Pub-Sub 模式,也就是发布-订阅模式,这种模式是 PUSH 模式,也就是像群聊那样,我只要加入了这个群,那群中所产生的消息都会给我 PUSH 过来。使用 JMS 的 Pub-Sub 可以很方便地实现一个群聊系统,呵呵。
常见的 JMS Provider 有:JBoss Messaging, Apache ActiveMQ, IBM WebSphere MQ 等。
上面这些是我对于 JPA, JTA, JMS 的理解,不知道能否看明白 :)
dinghun8leech
2010-12-26
打赏
举报
回复
赞一下敬爱的果子前辈!
atomikos-
jta
-
jpa
-
jms
-example:带有 Spring、
JPA
和
JMS
的 Atomikos
JTA
示例
atomikos-
jta
-
jpa
-
jms
-example 带有 Spring、
JPA
和
JMS
的 Atomikos
JTA
示例
atomikos-
jta
-camel-
jpa
-
jms
-example:带有 Camel、Spring、
JPA
和
JMS
的 Atomikos
JTA
示例
atomikos-
jta
-camel-
jpa
-
jms
-example 带有 Spring、Camel、
JPA
和
JMS
的 Atomikos
JTA
示例 正在进行中 - 尚未完成。
JNDI,
JTA
和
JMS
简介
主要介绍了JNDI,
JTA
和
JMS
的相关内容,包括中文释义,概念解释等,需要的朋友可以了解下。
jta
.jar包;
jta
.jar包
jta
.jar包;
jta
.jar包
Jboss4.2.2+Spring2.5.6+hibernate+
JTA
事务的实现
NULL 博文链接:https://xnbhnly.iteye.com/blog/1547459
Eclipse
58,452
社区成员
49,460
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章