日期:2014-05-20  浏览次数:20817 次

socket和jms的区别
请大家讲讲这2个到底有什么区别。不都是消息传输吗?本人菜鸟,实在不明白

------解决方案--------------------


JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务


JMS 是接口,和JDBC一样。你可以自己用socket实现一套JMS.
------解决方案--------------------
令我很疑惑的是,不知道jms跟其他的ejb项目有什么不同,也没看出有多大优势啊
------解决方案--------------------
看看其javadoc就明白了

http://hi.baidu.com/freish/blog/item/532d53df4109a30548540330.html
------解决方案--------------------
举个简单的例子。

生产者消费者知道吧?我们用多线程做的生产者消息者只能在一个 JAVA 进程(程序)中运行。如果生产者和消费者都处于不同的进程中,该怎么办呢?

JMS 就是做这个的,JMS 中的生产者、消费者并不局限于 JAVA 中,一个 JMS 的 Provider 可能会提供其他语言的接口。而且 JMS 也不仅仅只有分布式生产者消费者的能力,还拥有发布者订阅者的能力。
------解决方案--------------------
JMS 只与 EJB 中的 MDB 有关系,MDB 用于监听消息队列中是否有数据到来了,或者是订阅的数据是否来了。
------解决方案--------------------
个人觉得jms就是封装的socket
------解决方案--------------------
探讨
令我很疑惑的是,不知道jms跟其他的ejb项目有什么不同,也没看出有多大优势啊