- 浏览: 1026406 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
Java开源JMS消息中间件 mom4j OpenJMS 支持JMS 1.1规范 OpenJMS:老牌的JMS服务器了,也是我最早知道的开源JMS服务器,不过只支持JMS 1.02,已经很长时间没有更新了,因此不予考虑。 UberMQ:采用NIO的JMS服务器,以前我学习NIO的时候看过它的代码,写的蛮不错的,也支持JMS 1.1。由于采用了NIO,所以具有很高的弹性,在满足项目的性能需求上没有什么问题;本身也提供JNDI服务,但是遗憾的是我bind其他类型的数据时会出错;提供admin和viewer两个管理工具,但是在管理工具里不能创建ConnectionFactory和Destination并绑定到JNDI;文档不太完整;最头痛的对于持久化支持不好,如果关闭JMS服务器再开启,所有保存在JMS中的信息就全部丢失了,这点没有办法满足商业应用所需的稳定性。 ActiveMQ:最近比较活跃的一个JMS服务器,主页上的介绍说在协议配置上可以选择支持NIO,但是我仔细看它所支持的协议,却并没有提到如何配置,并且在实际的测试中也并没有发现其有采用NIO的迹象,多连接一个Client端,服务器端就增多了一个线程。满足JMS 1.1,有多种方法进行持久化;本身不提供JNDI,也没有对JMX的支持,本身不带管理工具,采用Hermes进行管理(这个我会在以后提到),文档也相对较少。 MantaRay:也是比较活跃的一个JMS服务器,采用的是P2P模型,但是我不喜欢这种模型,对于JMS服务来说,很大的一个特点就是客户端可以不用永远在线,比如在更新某一个客户端时需要暂停服务,等服务再度开启时,这段时间内所接收到的信息并不会丢失,保存在服务器上,所以我并不能看到P2P模型应用在JMS服务器上的优势,况且采用JMS服务就是为了解除耦合,速度并不是唯一需要考量的事情。出于我不喜欢其所采用模型,并且在运行其所带的示例时都出现了示例时都出现了问题,两个客户端互发互收,但是彼此之间都收不到消息,于是不予考虑。 JORAM:支持JMS 1.1,可以持久化到文件,本身提供JNDI服务和提供对JMX的支持,自带的管理工具可以添加ConnectionFactory和Destination并绑定到JNDI,这点对实现动态管理来说非常有用;文档非常完备,100多页的PDF,包含了各种配置和调整信息。其稳定性考虑的尤其好,不仅考虑到JMS服务器的集群,甚至连JNDI的集群也考虑进去(尽管暂时对我而言还用不上),这点对于商业应用而言应该会有加分。 ActiveMQ是Apache License,JORAM是LGPL,这两者对于商业应用都是友好的;UberMQ和MantaRay采用是Dual License,UberMQ的Dual License是只要你不分发,就可以允许使用;而MantaRay是商业使用需要应用一个商业的License。 比较上面的这些JMS服务器,最终我是选择了JORAM,其满足了我的绝大部分要求,唯一比较遗憾的是其采用传统的IO模型,每连接一个Client端会在服务器端增加两个线程,这点稍微影响了服务器的弹性。不过考虑到我们的项目应用,这点暂时可以不用考虑,实在压力过大了,最多到时候采用JMS集群呗:) 四月份时我曾经比较了那时活跃度比较高的一些开源JMS——《开源JMS简单比较》,时隔四个月,重新回顾这些项目,发现与四个月以前的比较有一些出入,在这里再进行一些比较:)
mom4j是一个完全实现JMS1.1规范的消息中间件并且向下兼容JMS1.0与1.02.它提供了自己的消息处理存储使它独立于关系数据与语言,所以它的客户端可以用任何语言开发.
OpenJMS是一个开源的Java Message Service API 1.0.2 规范的实现,它包含有以下特性:
*. 它既支持点到点(point-to-point)(PTP)模型和发布/订阅(Pub/Sub)模型。
*. 支持同步与异步消息发送
*. JDBC持久性管理使用数据库表来存储消息
*. 可视化管理界面。
*. Applet支持。
*. 能够与Jakarta Tomcat这样的Servlet容器结合。
*. 支持RMI, TCP, HTTP 与SSL协议。
*. 客户端验证
*. 提供可靠消息传输、事务和消息过滤
UberMQ
UberMQ完全实现了Java Message Service 规范。UberMQ是因为现有的许多JMS提供商已经违背了分布式计算的核心原则:快速与简单而开发的。
Hermes JMS
利用它提供的Swing UI可以很好的实现监控JMS providers。
ActiveMQ
ActiveMQ是一个开放源码基于Apache 2.0 licenced 发布并实现了JMS 1.1。它能够与Geronimo,轻量级容器和任Java应用程序无缝的给合。
Somnifugi
Somnifugi使得工作在同一个java虚拟机中的线程能实现消息互发。
MantaRay
MantaRay基于peer-2-peer 技术。它具有以下特性:
1.它既支持点对点(point-to-point)的域,又支持发布/订阅(publish/subscribe)类型的域。
2.并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。
3.消息过滤体制。
4.能与WebLogic and WebSphere 给合。
5.支持TCP, UDP 与 HTTP传输协。
Presumo
Presumo也是一个实现Java Message Service API的JMS消息中间件。
JORAM
JORAM一个类似于openJMS分布在ObjectWeb之下的JMS消息中间件。
JMS4Spread
JMS4Spread是一个消息系统.它部分地实现了Java消息服务(JMS) API.
-------------------------------------------------------------------------------------------
开源JMS简单比较
我考虑在公司的项目中采用JMS来降低服务器之间的耦合性,但为了降低成本,商业软件是不考虑的,于是只能在开源的并且对商业友好的JMS服务器中选择一个了。选择条件主要基于:
持久化,能满足商业应用所需的稳定性
满足项目的性能需求
最好本身提供JNDI服务
最好支持JMX
最好本身提供一个友好的管理工具
最好提供一份完整的文档
准备进行选择的JMS服务器有:OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM
开源JMS再比较
比较的项目没有变化,OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM,这段时间内没有出现什么JMS新秀,JBoss计划在今年第四季度发布JBoss Messaging,但只要还是捆绑发行,我对其就没什么兴趣。
在上次的比较中,OpenJMS已经有比较长的一段时间没有更新了,但最近的四个月似乎又活跃了起来,其预备发行的0.7.7版计划支持JMS 1.1(这个来的太晚了些),其主页上的Changelog表明了接下来的这个版本有着较大的变化。这对那些以前将OpenJMS应用在项目中的人来说是一个不错的消息,但对正在选择JMS的人而言,OpenJMS的这些改进来的还是稍稍晚了些。
UberMQ这段时间没有更新,我对它的评价与以前一样,没有任何变化。
MantaRay在其主页上更新了一系列的Flash Demos,通过这些Demo,我更坚定了我的看法——MantaRay并不适合用于企业的JMS服务。
P2P这个词虽然热,但是不是什么地方都需要P2P的,在我看来JMS就是用于解除各个应用之间的耦合,速度是个关键指标,但比起这个关键指标更重要的是它存在的意义。我更倾向于采用MantaRay在Flash中所反对的那种模型,通过中心服务器进行转发,可以存放离线消息以及解除耦合。更何况,企业应用中很少有类似MantaRay演示DEMO中出现的那种网络拓扑图,并不是任何两个节点之间都是互联互通的。当然,如果MantaRay能够做一些改进,先尝试采用点对点模型,如果点对点失败,这时将消息发送到中心服务器上(但这一切必须对用户透明),我会比较赞成,既具有传统优势,又能提高消息发送接收速度。
至于上篇文章中提到的运行其自带的示例出现了问题,这次在Flash演示中终于找到了答案。看来MantaRay真应该提高其示例程序的易用性,这么复杂的操作,要是不看Flash演示,还真难想到该这样操作:(
ActiveMQ是让我感到惊讶的一个项目,上次对它的评价似乎有失偏颇。 ActiveMQ支持多种网络拓扑模型,既可以采用传统JMS的Client-Server模型,也可以采用MantaRay的P2P模型,还可以仅仅支持同一JVM内的JMS应用。持久化机制一如既往的优秀,默认采用Apache Derby数据库持久化,也可以配置为各种主流数据库来持久。目前也提供了一简单的JNDI实现,对于JMS应用而言,这已经够用了。
但是其缺点也同样明显,本身不提供管理工具;示例代码非常少;虽然主页上的文档看上去比较全面,但是一来缺乏一种有效的组织方式(文档凌乱,用户很难由浅入深进行了解,提高了门槛),二来文档整体的专业性太强(不了解ActiveMQ?看文档去吧,可是文档是写给了解ActiveMQ的用户看的……),对于普通用户而言,门槛有点高。
而且感觉ActiveMQ有点不安于JMS的本份,开始做一些周边应用了,看其主页就可以看出来,多了很多比较流行的词汇。说不上这是优点还是缺点,但就我的角度而言,我更希望其专注于做好它的JMS。
JORAM在这段期间推出了4.3.x的版本,也是我们在应用中所采用的版本,我的评价和上次相比没有什么大的变化。主页上说其速度有了提高,但我们应用中JMS数据量相对较少,没有感觉出来。稍微遗憾的是在我们试用的过程中,从4.2.3升级到4.3,老版本的持久化消息都无法在新版本上识别出来,只能全部清空。在兼容性上,看来JORAM还得多下功夫。总而言之,我们在应用中采用JORAM,感觉就是波澜不惊,没碰到什么大问题,也没有什么惊喜。
就目前情况,我觉得ActiveMQ和JORAM的竞争力相对较强。再次提醒,JMS的选择一定要慎重,一旦选择好,换起来可是要伤筋动骨的……
Author: orangelizq
email: orangelizq@163.com
发表评论
-
Advanced Message Queuing Protocol ( 3 ) 逻辑模型
2011-05-07 22:04 1202Sessions 建立在不同容器中的两个节点的链接必 ... -
Advanced Message Queuing Protocol ( 2 ) 逻辑模型
2011-05-07 22:04 994Nodes and Links 一个AMQP的网络包 ... -
Advanced Message Queuing Protocol ( 1 ) 概述
2011-05-07 22:03 1243The Advanced Message Queuing ... -
Apache Qpid (1) -- build
2011-05-07 22:02 1970http://qpid.apache.org/index.h ... -
ActiveMQ技术预研报告【转】
2011-04-22 14:44 1931ActiveMQ技术预研报告 研究部朱懋柱 1.文 ... -
ActiveMQ与MSMQ的异同【转】
2011-04-22 14:14 1943.NET下发送和接收ActiveMQ A:下载Act ... -
ActiveMQ在C#中的应用
2011-04-21 16:18 1247ActiveMQ 是个好东东,不必多说。ActiveM ... -
ActiveMQ实战之 Queue点对点消息【转】
2011-04-18 23:15 1229对于此类消息,其实就是指使用JMS中的发P2P(点对点)消息模 ... -
ActiveMQ实战之 Topic发布订阅消息【转】
2011-04-18 23:14 1216对于此类消息,其实就是指使用JMS中的发布订阅消息模型的消息, ... -
ActiveMQ实战(4):JMS的安全性【转】
2011-04-18 22:52 1255对于JMS服务的安全控制,ActiveMQ提供两种方式:简单授 ... -
ActiveMQ实战(3):Web控制台的安全性【转】
2011-04-18 22:52 1358安装好ActiveMQ后,其默认没有任何安全控制,任何人都可以 ... -
ActiveMQ实战(2):测试其是否正常工作【转】
2011-04-18 22:51 1228既然ActiveMQ安装好了并启动成功,接下来我们就编写一个测 ... -
ActiveMQ实战(1):安装与运行【转】
2011-04-18 22:45 1811ActiveMQ的项目主页:http://activemq.a ... -
activemq5.2发送和接收BlobMessage简单实例
2011-03-29 23:45 1193package com.work.activemq ... -
ActiveMQ学习笔记----ActiveMQ和JBossMQ性能对比测试代码
2011-03-29 23:44 1261本文描述了对ActiveMQ进行性能测试的代码。性能测试用 ... -
ActiveMQ 实例
2011-03-29 23:21 10772009-06-24 ProducerTool.java ... -
activemq持久化配置,设置为主从模式(带复制的主从模式,应用mysql数据库)
2011-03-29 09:12 1846activemq持久化配置,设置为主从模式(带复制的主从模 ... -
ActiveMQ持久化消息的三种方式
2011-03-29 09:11 13951:前言 这一段给公司开发消息总线有机会研究A ... -
什么是JMS(Java消息服务)
2011-03-28 19:28 927在不同系统之间交换信息的一大障碍是如何在精确交换和格式化数据方 ... -
消息中间件和JMS
2011-03-28 19:26 816当前,CORBA、DCOM、RMI等R ...
相关推荐
特易通国产对讲机MD580 v1.0中英写频软件
使用旧方法对在线考试系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在在线考试系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的在线考试系统对字典管理、试卷表管理、试题表管理、考试记录表管理、答题详情表管理、错题表管理、公告管理、课程管理、课程收藏管理、课程留言管理、老师管理、学生管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行在线考试系统程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。在线考试系统的开发让用户查看试卷信息变得容易,让管理员高效管理试卷信息。 关键词:在线考试系统;试卷信息;公告;自助资讯
数据结构学习
操作系统学习
数据结构学习
特易通国产对讲机TYT258_V1.09中英写频软件
电脑网络图标消失了怎么办?(Windows电脑网络或WiFi图标消失,如何找回?)-CSDN博客
user is unauthorized
Swift-SpeechSynthesizer
内容概要:本文聚焦于利用深度学习改善卷积神经网络(CNN)在图像识别上的效果。首先介绍了深度学习和图像识别的历史背景和技术现状,并重点讨论了CNN的特点与发展。然后阐述了针对现有CNN模型存在的局限所做出的技术改良,包括架构设计引入残差连接和多尺度特征融合,训练策略上采取自适应学习率调整与数据增强措施,最终构建出了更具竞争力的新模型。该模型经过在CIFAR-10与ImageNet两大数据集上严格的对比测试显示,相较于同类模型有了明显的性能增长,准确率分别提升至95.2%及92.7%,训练耗时减少15%,并且模型体积更轻巧利于部署。文中也提及了图像识别具体案例研究,在医疗图像诊断、安防智能监控系统以及无人驾驶汽车环境感知环节有着重要贡献。 适用人群:对图像识别技术、深度学习感兴趣的科研工作者、高校师生以及从事相关产业技术研发的专业人士。 使用场景及目标:可用于提高各类需要精确快速定位或辨认物体应用场景下系统的运行效能;为涉及计算机视觉业务的企业提供创新性解决方案。 其他说明:文章提到模型仍然存在一些有待解决的问题比如更好的跨域迁移能力和更强的数据安全保护等方面,指明了未来的研发路径,对于
特易通国产对讲机TC-2000S v1.0中英写频软件
卓易达ZYD-Z888中文写频软件改频率软件V1.37
基于python射击成绩管理系统 框架 vs2022 + python + django model(orm) + mysql 管理员用户密码 admin 123456 普通用户 qqq 123456 模块介绍 管理员 登陆模块 比赛管理 用户管理 成绩管理 测试页面 密码重置 退出模块 普通用户 比赛查询 成绩查询 密码重置 退出模块
数据结构学习
KaihongOS_System_Component 4.1.2.17(RT00E000C000M68A).part3.rar 请勿下载,请联系对应销售获取。
内容概要:本文档旨在详细介绍如何编写一份详尽的需求规格说明书,涵盖了从产品描述、需求概述到功能细节等多个方面的规范要求。首先,文档明确编写目的、定义产品相关信息,确保读者能够迅速把握文档主旨并理解所讨论的产品背景。其次,在需求概述环节不仅介绍了产品基本功能和发展愿景,还明确了产品运行所需的硬软件环境及其限制。紧接着,功能需求部分则逐一罗列并深入解读各个具体功能点,同时注明未予实现的功能及背后原因,确保后续工作中有据可依。最后,在附录和其他可选项如数据描述、性能和运行需求等章节中继续补充,完善文档信息链,为技术人员提供坚实依据。 适合人群:面向软件开发团队成员(尤其是产品经理、分析师和技术主管),有助于他们高效梳理业务需求并向团队传达清晰的指导方针。 使用场景及目标:用于启动阶段确立项目的范围边界,辅助项目管理者规划任务分工;协助开发者深入理解和遵循既定规则开展编码作业,确保成品符合用户期望值。 阅读建议:鉴于本手册涉及多个层面的规定细则,请使用者先泛读后精读感兴趣的重点章节,同时积极与实际工作相结合,逐步掌握需求采集、整理直至呈现全过程的技术要点和实战技巧。
操作系统学习
操作系统学习
金煤婚恋 92版本, 去授权,仅供学习,商业使用请支持正版
详细介绍及样例数据:https://blog.csdn.net/T0620514/article/details/146298135