社区
Eclipse
帖子详情
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
mixer_b
2010-12-26 11:01:22
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
...全文
110
5
打赏
收藏
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
JPA JTA JMS 都是啥呀,谁能给举个生动的例子,不要百度出来的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
示例正在进行中 - 尚未完成。
Spring Data
JPA
106精讲
Spring Data 是 Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。使用 SpringData 可以大幅减少数据访问层 (DAO) 的开发量. 开发者要做的,就是声明持久层接口,其他都交给 Spring Data
JPA
...
JNDI,
JTA
和
JMS
简介
主要介绍了JNDI,
JTA
和
JMS
的相关内容,包括中文释义,概念解释等,需要的朋友可以了解下。
gwt-spring-
jpa
-
jta
-
jms
-comet-hibernate
目的为 GWT、Spring、
JMS
、Comet、
JTA
提供一个集成的启动项目,由 Hibernate 和 Derby 提供支持。 该项目演示了各种开箱即用的有用功能,并可用作真正的 Web 应用程序的起点。技术MavenHibernate
JPA
注释德比GWT ...
Eclipse
58,454
社区成员
49,449
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章