Java Message Service

The Java Message Service(JMS) API is a Java Message Oriented Middleware API for sending messages between two or moreclients . JMS is a part of the Java Platform , Enterprise Edition , and is defined by a specification developed under the Java Community Process as JSR914 . It is a messaging standard that allows application components based on the Java Enterprise Edition(JEE) to create , send , receive , and read messages. It allows the communication between different components of a distributed application to be loosely coupled ,reliable , and asynchronous . It supports two models : point-to-point , publishand subscribe .

Using Java , JMS provides a way of separating the application from the transport layer of providing data .The same Java classes can be used to communicate with different JMS providers by using JNDI information for the desired provider . The classes first use a connection factory to connect to the queue or topic , and then use populate and send or publish the messages . On the receiving side , the clients then receive or subscribe to the messages .

To use JMS , one must have a JMS provider that can manage the sessions and queues . Starting from Java EE version 1.4 ,JMS provider has to be contained in all Java EE application servers . This can be implemented using the message inflow management of the Java EE Connector Architecture , which was first made available in that version . There are many JMS providers such as Apache ActiveMQ , OpenJMS , JBoss Messaging and HornetQ from JBoss , Open Message Queue from Sun Microsystems , BEA Weblogic , WebSphere MQ and so on . Asfollows , let’s tell something about WebSphere MQ developed by IBM .

IBM WebSphere MQ is a family of network software products launched by IBM in March 1992 . It was previously known as MQSeries , a trademark that IBM rebranded in 2002 to join the suite of WebSphere products . WebSphere MQ , which is often referred to simply as “MQ” by users , is IBM’s Message Oriented Middleware offering . It allows independent and potentially non-concurrent applications on a distributed system to communicate with each other . MQ is available on a large number of platforms ,including z/OS , OS/400 ,Transaction Processing Facility , Unix , HP NonStop ,Linux , OS 2200 and Microsoft Windows .

WebSphere MQ provides assured one-time delivery of messages across a wide variety of platforms . The product emphasizes reliability and robustness of message traffic , and ensures that a message should never be lost if MQ is appropriately configured . It also provides application designers with a mechanism to achieve non-time-dependent architecture . Messages can be sent from one application to another , regardless of whether the applications are running at the same time . If a message receiver application is not running when a sender sends it a message , the queue manager will hold the message until the receiver asks for it . Besides , it providers a means for transforming data between different architectures and protocols , such as Big Endian to Little Endian , or EBCDIC to ASCII .This is accomplished through the use of message data exits . It allows receipt of messages to “trigger” other applications to run ,and thus provides the framework for a message driven architecture . Unlikeemail , MQ itself is responsible for determining the destination of messages by the definition of queues , so processing of sent messages can be moved to a different application at a different destination .

时间: 2024-10-11 00:41:36

Java Message Service的相关文章

Java Message Service学习(一)

一,背景 近期需要用到ActiveMQ接收Oozie执行作业之后的返回结果.Oozie作为消息的生产者,将消息发送给ActiveMQ,然后Client可以异步去ActiveMQ取消息. ActiveMQ作为基于 JMS 开源的Apache Message Provider,故记录下JMS相关基础知识. 二,基础知识&基本概念 1)面向消息的中间件 Message-oriented middleware (MOM) is best described as a category of softwa

通俗深刻地认识JMS(即Java Message Service)

JMS很早就有,网上更是如此,但是大多总结的不太全面不太具体,在现有学习资源基础上结合自己的体悟,现重新总结一下: JMS全称为Java Message Service(即Java 消息服务),它是J2EE技术规范之一(它属于Java平台上有关面向消息中间件(MOM)的技术规范),用于访问消息系统(或向消息系统发送消息或向消息系统接收消息),最终实现不同应用系统之间的消息交互.呵呵呵,当你读到这里的时候恐怕会心里嘀咕--什么它妈的"消息系统"?我们知道通过同一套JDBC接口可以实现不同

17) JMS: java Message Service(Java消息服务)

? ? ?JMS是一个标准,就像EJB,有很多开源的,商业的实现,ms技术对应的规范是jsr914,规范的实现称为jms provider,常见的实现有ActiveMQ.JBoss MQ.IBM Websphere MQ等. ? ? ? ?其主要优点: (1)可以使2个系统或模块实现松耦合,模块A不需要直接调用模块B,只需要往jms provider上发送一条约定格式的消息,模块B收到这条消息,进行后续的业务处理 (2)jms方式是异步的,意味着模块A发送消息之后,不需要等待模块B或者jms p

GSM Sniffing入门之软件篇:GSMTAP抓取与SMS(Short Message Service)还原

重点介绍如何利用50元左右的设备,抓包并还原SMS短信内容: ps:研究GSM Sniffing纯属个人兴趣,能抓SMS报文只是捡了个明文传输的漏子,切勿用于非法用途.就像sylvain说的,osmocomBB并不是为抓包而实现的,如果没有足够的GSM相关知识,想实现还原语音通话内容根本就无从下手. ---------------------------------------------------------------------------------------------------

转载——Java与WCF交互(二):WCF客户端调用Java Web Service

在上篇< Java与WCF交互(一):Java客户端调用WCF服务>中,我介绍了自己如何使用axis2生成java客户端的悲惨经历.有同学问起使用什么协议,经初步验证,发现只有wsHttpBinding可行,而NetTcpBinding不可行,具体原因待查.昨晚回去重新测试WCF客户端调用Java Web Service,并将过程公布如下: 其实本不需要做web service,只是原来公开的经典的Web service像(http://soapinterop.java.sun.com/rou

VS2010 根据WSDL文件(java Web Service)生成.cs文件

我们添加webService引用,一般是通过 添加服务引用完成的,其实 添加服务引用 在背后为我们生成了代理类. 我们手动生成代理类方法: 1.通过java Web Service,生成wsdl文件: 1.1.IE地址栏中输入wsdl的url 例如:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 1.2.通过IE的 [文件]-->[另存为]-->文件名中输入 UserService55.wsdl, 保存类型:

Deploying OpenFire for IM (instant message) service (TCP/IP service) with database MySQL , client Spark on linux部署OpenFire IM 消息中间件服务

Are you a hacker? How to build another QQ/Wechat/whatsapp/skype/imessage? Let's go through this!!!! Materials: A linux/unix/windows/mac computer/server, and do some basic things! Are you feeling high? Okay, let's ride the rocket! Get materials: 1. A

ROS Node/Topic/Message/Service的一些问题

1.Node http://blog.exbot.net/archives/1412 (摘自老王说ros) node干的什么活?callback queue里的活.这个callback queue里的callback是哪里来的呢?常见的是subscriber的callback,当然还有其他的,包括publisher的,service的.那这些callback是什么时候被调用的呢.那就是spin()或者spinonce().spin调用在queue 里所有的availiable的callback,

【我的Microsoft Azure学习之旅】Azure Java SDK - Service Bus的认证问题

最近在研究Microsoft Azure,在分布式消息传递上,Amazon的AWS有SQS,而在Microsoft Azure上与之对应的是Service Bus Queue. Service Bus队列(Queue)的作用是,在分布式应用程序的组件通信时,组件间不会直接相互通信,而是通过充当中介的队列交换消息.这样可以更好地向外扩展应用程序,并增强体系结构的恢复能力,因为消息会被可靠的保存在队列中,不会因一方崩溃而丢失消息. 值得注意的是,Azure还有另外一种Queue,属于存储Storag