JMS概要(Java Message Service Overview)
这个关于JMS(Java Message Service)的概要回答了下面几个问题:
1.什么是消息?
2.么是JMS API?
3.如何使用JMS API?
4. JMS API是如何与J2EE平台一起工作的?
1.1什么是消息?
消息是软件组件或者应用之间交流的一种方法。消息系统是一个点对点的功能,一个消息客户端可以发送和接受从别的客户端发过来的消息,这些客户端连接到一个消息代理,这个代理提供创建、发送、接受和读取消息。
消息让分布式通讯变得松散耦合。一个组件发送一个消息到目的端,接受着可以从目的地查询消息。但是,发送者和接受着不用同时在线。实际上,发送者没有必要知道关于接受着的任何信息,接受着也不需要。发送者和接受者只需要知道消息的格式和目的地。从这个方面来看,消息和一些紧密耦合的技术比如RMI有区别,RMI需要知道远程应用的方法。
消息也有区别于Email,Email是人和人,软件和人交流的手段。而消息是软件应用或者组件之间交流的手段。
1.2 什么是JMS API?
JMS API是一个Java API,它允许应用创建、发送、接受和读取消息。JMS API是Sun和其他几个公司合作编写的,提供有一系列的接口和语义,允许Java语言和其他消息实现通信。
JMS最小化了开发人员需要学习消息系统需要使用的概念,而且提供了足够的功能来支持复杂的消息应用。而且最大化了JMS的可移植性。
JMS不仅仅降低了通信的耦合,而且有以下特性:
· 异步的
JMS提供者可以把消息传递给客户端,客户端不用去主动请求
·可靠的
JMS API可以保证消息会被传递而且只传递一次。应用可以处理丢失消息和接受到重复消息的情况
JMS说明在1998年第一次出版,最新版是1.0.2b,是2001年发行的。
1.3什么时候可以使用JMS
企业应用提供商趋向于选择JMS API来替代紧密耦合的技术比如RPC,基于下面的原因:
·提供商不想让组件依赖其他组件,这样组件可以轻松替换
·提供商想让应用运行在不管其他组件是不是可用的情况下
·应用的业务模型允许组件发送信息到其他组件,而不需要实时的响应比如,一个汽车制造商的企业应用的组件可以在下面的情况下使用JMS
·当存货不足的时候,存货组件可以发送一个消息到工厂组件,这样工厂就可以开始生产
·工厂组件可以发送消息到零件组件,这样零件组件就可以汇集他需要的零件
·工厂组件和零件组件都可以发送消息到会计组件来更新预算数
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
Java 读取 MySQL 中文 乱码
场景:Java,eclipse,读取MySQL数据库,MySQL编码为utf-8
问题:读出来的中文在eclipse的输出窗口中显示为乱码
错误的写法
1
System.out.print(new String( rs.getString("bib_author").getBytes("utf-8"),"GBK" ));
2
System.out.print( ......
首先有三个概念需要了解:
一.静态初始化:是指执行静态初始化块里面的内容。
二.实例初始化:是指执行实例初始化块里面的内容。
三.构造方法:一个名称跟类的名称一样的方法,特殊在于不带返回值。
对于这三个概念,给出以下程序,方便理解:
Java代码
class Book{ ......
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2 ......
package com.wepull.jbs.lesson4;
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下:
* 1.插入排序(直接插入排序、折半插入排序、希尔排序);
* 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序);
......