随笔分类 -  架构模式

JMS开发指南
摘要:1.JMS消息的异步与同步接收消息的异步接收:异步接收是指当消息到达时,主动通知客户端,即当消息到达时转发到客户端。JMS客户端可以通过注册一个实现MessageListener接口的对象到MessageConsumer,这样,每当消息到达时,JMS Provider 会调用MessageListener中的onMessage 方法。所以需要创建一个消息监听器,然后注册一个或多个使用MessageConsumer的JMS MessageListener接口。会话(主题或队列)负责产生某些消息,这些消息被传送到使用onMessage方法的监听者那里;客户可以为消费者注册一个消息监听器,以定义在消 阅读全文

posted @ 2013-11-26 01:27 heartstage 阅读(683) 评论(0) 推荐(0)

JMS异步消息机制
摘要:企业消息系统Java Message Service 是由 Sun Microsystems 开发的,它为 Java 程序提供一种访问 企业消息系统 的方法。在讨论 JMS 之前,我们分来析一下企业消息系统。企业消息系统,即 面向消息的中间件(MOM),提供了以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于 存储和转发 的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的 MOM 通信。MOM 提供了有保证的消息发送(至少是在尽可能地做到这一点),应用程序开发人员无需了解远程过程调用(PRC)和网络/通信协议的细节。消息灵活性如下图所示,应用程序 A 与应用程序 阅读全文

posted @ 2013-11-26 01:23 heartstage 阅读(682) 评论(0) 推荐(0)

JMS 基本可靠性机制 和 事务机制
摘要:4.3.1 基本可靠性机制4.3.1.1 控制消息的签收(Acknowledgment) 客户端成功接收一条消息的标志是这条消息被签收。成功接收一条消息一般包括如 下三个阶段:1.客户端接收消息;2.客户端处理消息;3.消息被签收。签收可以由ActiveMQ 发起,也可以由客户端发起,取决于Sessi on 签收模式的设置。 在带事务的 Session 中,签收自动发生在事务提交时。如果事务回滚,所有已经接 收的消息将会被再次传送。 在不带事务的Session 中,一条消息何时和如何被签收取决于Session 的设置。1.Session.AUTO_ACKNOWLEDGE当客户端从 receiv 阅读全文

posted @ 2013-11-26 01:21 heartstage 阅读(361) 评论(0) 推荐(0)

大型系统中使用JMS优化技巧–Sun OpenMQ
摘要:我们先来看看在Sun OpenMQ系统中 一个持久、可靠的方式传送消息的步骤是怎么样的,如图所示:查看大图请点击这里 在传送过程中,系统处理JMS消息分为以下两类: ■ 有效负荷消息,由生成方发送给使用方的消息。 ■ 控制消息,代理与客户端运行时环境之间传送的私有消息,用于确保有效负荷消息成功传送和控制跨连接的消息流。 详细流程如下: 消息生成 1. 客户端运行时环境通过连接将消息从消息生成方传送到代理。 消息处理和路由 2. 代理从连接中读取消息并将此消息放入相应的目的地中。 3. 代理将(持久性)消息放入数据存储库中。 4. 代理向消息生成方的客户端运行时环境确认已收到消息。 ... 阅读全文

posted @ 2013-11-26 01:21 heartstage 阅读(1009) 评论(0) 推荐(0)

理解面向消息中间件及JMS 以及 ActiveMQ例子
摘要:为了帮助你理解ActiveMQ的意义,了解企业消息传送背景和历史是很重要的。讨论完企业消息传送,你将可以通过一个小例子了解JMS及其使用。这章的目的是简要回顾企业消息传送及JMS规范。如果你已经熟悉这些主题,你可以跳过直接到下一章去。软件开发者经常需要在两个系统之间交流或搬运数据。这种问题有很多解决办法。但限于你的条件和需求,选择一种解决方案是一个大决定。商业需求往往有严格的限制条件,直接影响你的决定的有性能,扩展性,稳定性等。我们日常使用的很多系统都有这样的要求,比如ATM系统,航班预订系统,信用卡系统,单点销售系统,通信系统等。如果我们的日常生活没有这些系统会怎样?用一小会的时间想一下这些 阅读全文

posted @ 2013-11-26 01:21 heartstage 阅读(804) 评论(0) 推荐(0)

比较IBM MQSeries和BEA WebLogic JMS Server(转载)
摘要:在面向消息的中间件(MOM)这个领域,IBM MQSeries (又称WebSphere MQ)一直是当仁不让的超级大哥,其它还有一些小兄弟,比如SwiftMQ、SonicMQ之类。但近年来随着J2EE中的JMS规范的建立,完备地支持JMS的服务器如雨后春笋般地出现,比如BEA WebLogic Server的JMS Server就是其中一个佼佼者。仅仅就JMS规范来说,MQSeries与WebLogic JMS没有什么不同之处。但JMS规范仅仅定义了消息服务器的一个开发接口,而且还忽略了许多细节,所以不同之处就在JMS规范之外的这些内容,很多也是非常重要的。总的来说,MQSeries的功能和 阅读全文

posted @ 2013-11-26 01:18 heartstage 阅读(516) 评论(0) 推荐(0)

JMS介绍:我对JMS的理解和认识
摘要:[ZT]JMS介绍:我对JMS的理解和认识转自:http://blog.csdn.net/KimmKing/archive/2011/06/30/6577021.aspx,感谢作者KimmKingJMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking 整理:林木森ppt下载地址: http://code.google.com/p/activemq-store-mongodb/downloads/list下面开始:kimmking:介绍下jms和ActiveMQ。在讲JMS之前,我们聊聊相关的背景。. 阅读全文

posted @ 2013-11-26 01:15 heartstage 阅读(494) 评论(0) 推荐(0)

java分布式通信系统(J2EE分布式服务器架构)
摘要:一、序言近几个月一直从事一个分布式异步通信系统,今天就整理并blog一下.这是一个全国性的通信平台,对性能,海量数据,容错性以及扩展性有非常高的要求,所以在系统的架构上就不能简单的采用集中式.简单的总结一下就是: 1.数据分布式存储 2.请求分布式调度 3.多结点分布式部署 4.双重备份,热切换系统的核心无非就是网络架构,分布式算子和通信,要求如下: 分布式算子: 1.对于任意输入,输出均匀分布 2.输出结果数可控 通信: 1.高并发量 2.多线程分布式算子我们选择的是sun公司的hash函数,通信用的则是cindy so... 阅读全文

posted @ 2013-11-26 01:14 heartstage 阅读(449) 评论(0) 推荐(0)

企业级SOA之路——在Web Service中使用HTTP和JMS
摘要:原文:http://www.tibco.com/resources/solutions/soa/enterprise_class_soa_wp.pdf概述 IT业界在早期有一种误解,认为Web Service等同于面向服务架构(SOA)。实际上,SOA远不止这些。虽然SOAP是一种愈加通用的消息格式,但SOA通常还会需要其他的底层transport。当构建SOA的时候,如何选择这些底层transport是最重要的决定之一。为了支持关键业务应用系统的需要,使用的transport必须要灵活、可靠而且可扩展;必须能够支持不同类型的同步或者异步的服务通讯。HTTP和Java消息服务(JMS)是两种最 阅读全文

posted @ 2013-11-26 01:11 heartstage 阅读(788) 评论(0) 推荐(0)

Java 对象池实现
摘要:http://blog.csdn.net/bryantd/article/details/1100019http://www.cnblogs.com/devinzhang/archive/2012/01/05/2313406.htmlhttp://wenku.baidu.com/view/003449f3f61fb7360b4c65fc.html 阅读全文

posted @ 2013-11-14 16:17 heartstage 阅读(173) 评论(0) 推荐(0)

Java 线程池的实现
摘要:http://blog.csdn.net/iterzebra/article/details/6758481http://blog.sina.com.cn/s/blog_4914a33b0101180r.htmlhttp://www.blogjava.net/standlww/archive/2008/10/17/235100.html 阅读全文

posted @ 2013-11-14 16:04 heartstage 阅读(114) 评论(0) 推荐(0)

Java小对象的解决之道——对象池(Object Pool)的设计与应用
摘要:一、概述面向对象编程是软件开发中的一项利器,现已经成为大多数编程人员的编程思路。很多高级计算机语言也对这种编程模式提供了很好的支持,例如C++、Object Pascal、Java等。曾经有大量的软件工程师使用C语言作为他们的谋生工具,随着面向对象的深入人心,微软公司也对其C语言进行了扩充,形成了C++语言,全面支持面向对象的软件开发模式。“面向对象”的主角即是“对象”,其良好的可充用性和对数据逻辑的封装成了它在当今计算机软件开发领域一炮走红的主要因素。程序开发人员也正是利用了对象的这些特点在程序中大量创建对象,以至于他们往往忽略了这种创建对象以及以后销毁对象是带来的系统开销之大是多么不可想象 阅读全文

posted @ 2013-11-10 20:30 heartstage 阅读(4638) 评论(0) 推荐(0)

Java中的对象池技术
摘要:java中的对象池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复重复创建相等变量时节省了很多时间。对象池其实也就是一个内存空间,不同于使用new关键字创建的对象所在的堆空间。本文只从java使用者的角度来探讨java对象池技术,并不涉及对象池的原理及实现方法。个人认为,如果是真的专注java,就必须对这些细节方面有一定的了解。但知道它的原理和具体的实现方法则不是必须的。1,对象池中对象和堆中的对象public class Test{ Integer i1=new Integer(1); Integer i2=new 阅读全文

posted @ 2013-11-10 20:29 heartstage 阅读(2222) 评论(0) 推荐(0)

基于RBAC的权限设计模型
摘要:1 RBAC 介绍 RBAC 模型作为目前最为广泛接受的权限模型。 NIST (The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)[1]。RBAC0模型如图1所示。 图表 1 RBAC 0 模型 l RBAC0 定义了能构成一个RBAC控制系统的最小的元素.. 阅读全文

posted @ 2013-11-09 19:18 heartstage 阅读(795) 评论(0) 推荐(0)

导航