文档库 最新最全的文档下载
当前位置:文档库 › flex3与flex4组件对照

flex3与flex4组件对照

flex3与flex4组件对照
flex3与flex4组件对照

flex3 与flex4 组件简对照【转】

Flex 3 Halo Component Flex 4 beta Spark Component mx.controls.Button https://www.wendangku.net/doc/33840640.html,ponents.Button mx.controls.ButtonBar https://www.wendangku.net/doc/33840640.html,ponents.ButtonBar mx.controls.CheckBox https://www.wendangku.net/doc/33840640.html,ponents.CheckBox

https://www.wendangku.net/doc/33840640.html,boBox https://www.wendangku.net/doc/33840640.html,ponents.DropDownList (w/o editability)

mx.controls.HorizontalList https://www.wendangku.net/doc/33840640.html,ponents.List (with a HorizontalLayout)

mx.controls.HRule spark.primitives.Line

mx.controls.HScrollBar https://www.wendangku.net/doc/33840640.html,ponents.HScrollBar mx.controls.HSlider https://www.wendangku.net/doc/33840640.html,ponents.HSlider mx.controls.Image spark.primitives.BitmapImage

mx.controls.LinkBar https://www.wendangku.net/doc/33840640.html,ponents.ButtonBar (with a custom skin)

mx.controls.LinkButton https://www.wendangku.net/doc/33840640.html,ponents.Button (with a custom skin)

mx.controls.List https://www.wendangku.net/doc/33840640.html,ponents.List

mx.controls.NumericStepper https://www.wendangku.net/doc/33840640.html,ponents.NumericStepper mx.controls.RadioButton https://www.wendangku.net/doc/33840640.html,ponents.RadioButton mx.controls.RadioButtonGroup https://www.wendangku.net/doc/33840640.html,ponents.RadioButtonGroup mx.controls.TextArea https://www.wendangku.net/doc/33840640.html,ponents.TextArea

mx.controls.TextInput https://www.wendangku.net/doc/33840640.html,ponents.TextInput

mx.controls.TileList https://www.wendangku.net/doc/33840640.html,ponents.List (with a TileLayout)

mx.controls.ToggleButtonBar https://www.wendangku.net/doc/33840640.html,ponents.ButtonBar mx.controls.VideoDisplay https://www.wendangku.net/doc/33840640.html,ponents.VideoPlayer mx.controls.VRule spark.primitives.Line

mx.controls.VScrollBar https://www.wendangku.net/doc/33840640.html,ponents.VScrollBar mx.controls.VSlider https://www.wendangku.net/doc/33840640.html,ponents.VSlider mx.core.Application https://www.wendangku.net/doc/33840640.html,ponents.Application mx.core.Window https://www.wendangku.net/doc/33840640.html,ponents.Window

mx.core.WindowedApplication https://www.wendangku.net/doc/33840640.html,ponents.WindowedApplicatio n

mx.containers.Canvas https://www.wendangku.net/doc/33840640.html,ponents.Group mx.containers.HBox https://www.wendangku.net/doc/33840640.html,ponents.HGroup mx.containers.Panel https://www.wendangku.net/doc/33840640.html,ponents.Panel

mx.containers.Tile https://www.wendangku.net/doc/33840640.html,ponents.Group (with a TileLayout)

mx.containers.VBox https://www.wendangku.net/doc/33840640.html,ponents.VGroup Flex 3 classes with no direct Flex 4 beta counterpart mx.controls.Alert

mx.controls.ColorPicker

mx.controls.DataGrid

mx.controls.DateChooser

mx.controls.DateField

mx.controls.Menu

mx.controls.MenuBar

mx.controls.PopUpButton

mx.controls.PopUpMenuButton

mx.controls.ProgressBar

mx.controls.RichTextEditor

mx.controls.TabBar

mx.controls.Tree

mx.containers.Accordion

mx.containers.ApplicationControlBar

mx.containers.ControlBar

mx.containers.DividedBox

mx.containers.Form

mx.containers.Grid

mx.containers.TabNavigator

mx.containers.TitleWindow

mx.containers.ViewStack

Java分布式架构

介绍 1. 项目核心代码结构截图 jeesz-utils jeesz-config jeesz-framework jeesz-core-cms jeesz-core-gen jeesz-core-bookmark

jeesz-core-act jeesz-core-oa jeesz-core-test jeesz-core-scheduler jeesz-core-task jeesz-web-admin jeesz-web-service jeesz-web-scheduler jeesz-web-task jeesz-web-bookmark jeesz-facade-bookmark jeesz-service-bookmark jeesz-facade-task jeesz-service-task jeesz-web-mq-task 特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化 2. 项目依赖介绍

activeMQ消息中间件

消息中间件分布式 说明书 中间件选型 1.1 Kafka Kafka是linkedin开源的MQ系统,主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务。 1.2 RabbitMQ RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护。1.3 RocketMQ 阿里巴巴的MQ中间件,在其多个产品下使用,并能够撑住双十一的大流量,他并没有实现JMS规范,使用起来很简单。部署由一个命名服务(nameserver)和一个代理(broker)组成,nameserver和broker以及producer都支持集群,队列的容量受机器硬盘的限制,队列满后可以支持持久化到硬盘(也可以自己适配代码,将其持久化到NOSQL数据库中),队列满后会影响吞吐量,可以采用主备来保证稳定性,支持回溯消费,可以在broker端进行消息过滤.

1.4 ActiveMQ ActiveMQ是Apache下的一个子项目。历史悠久的开源项目,已经在很多产品中得到应用,实现了JMS1.1规范,可以和spring-jms轻松融合,实现了多种协议,如Ajax,REST,Stomp等,支持持久化到数据库,少量代码就可以高效地实现高级应用场景,可以很好的运行在任何JVM上,而不只是集成到JBoss的应用服务器中,对spring有很好的支持,支持大量的跨语言客户端。 1.5 ZeroMQ ZeroMQ号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZMQ能够实现RabbitMQ不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这MQ能够应用成功的挑战。扩展性好,开发比较灵活,采用C 语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码。 ActiveMQ消息中间件的选择从以下方面进行考虑: (1)activemq可以很好的运行在任何JVM上,而不只是集成到JBoss的应用服务器中; (2)activemq支持大量的跨语言客户端; (3)activemq支持许多不同的协议,如Ajax,REST,Stomp,OpenWire,XMPP (4)activemq支持许多高级功能,例如MessageGroups,ExclusiveConsumer,CompositeDestinations (5)activemq支持可靠连接并且具有可配置的自动重连接

ACTIVEMQ大总结

ACTIVEMQ大总结 1. 背景 当前,CORBA、DCOM、RMI等RPC中间件技术已广泛应用于各个领域。但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;(3)点对点通信:客户的一次调用只发送给某个单独的目标对象。 面向消息的中间件(Message Oriented Middleware,MOM)较好的解决了以上问题。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。 已有的MOM系统包括IBM的MQSeries、Microsoft的MSMQ和BEA的MessageQ 等。由于没有一个通用的标准,这些系统很难实现互操作和无缝连接。Java Message Service(JMS)是SUN提出的旨在统一各种MOM系统接口的规范,它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。 2.JMS概述 2.1 JMS规范 JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。JMS 只是接口,并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,例如ActiveMQ。 2.2 术语 JMS Provider:实现JMS 接口的消息中间件; PTP:Point to Point,即点对点的消息模型; Pub/Sub:Publish/Subscribe,即发布/订阅的消息模型; Queue:队列目标; Topic:主题目标; ConnectionFactory:连接工厂,JMS 用它创建连接; Connection:JMS 客户端到JMS Provider 的连接; Destination:消息的目的地; Session:会话,一个发送或接收消息的线程; MessageProducer:由Session 对象创建的用来发送消息的对象;MessageConsumer:由Session 对象创建的用来接收消息的对象; Acknowledge:签收; Transaction:事务。 2.3 JMS编程模型 在 JMS 编程模型中,JMS 客户端(组件或应用程序)通过 JMS 消息服务交换消息。消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息。这些消息传送操作是使用一组实现 JMS 应用编程接口 (API) 的对象(由 JMS Provide提供)来执行的。

ActiveMQ实践入门指南

ActiveMQ 实践入门指南

ActiveMQ 实践入门指南
ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个 完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现,尽管 JMS 规范出台已经是很久的 事情了,但是 JMS 在当今的 J2EE 应用中间仍然扮演着特殊的地位。下面我们将分四部分来 介绍 ActiveMQ 的相关内容。
ActiveMQ 实践:松耦合和 ActiveMQ
回到 2003 年,一群开源开发者聚在一起组成了 Apache Geronimo。他们发现没有一个 很好的使用 BSD 风格许可证的消息中间件可用。因为 Geronimo 需要一个 JMS 实现 J2EE 兼 容性,所以一些开发者开始探讨这种可能性。
? ActiveMQ 实践:松耦合和 ActiveMQ
ActiveMQ 实践:特性列表和安装
这一部分,我们将介绍 ActiveMQ 的特性列表和如何进行安装和如何对其进行测试。
? ActiveMQ 实践:特性列表和安装
ActiveMQ 实践:使用场景
在系统架构中,有很多场景 ActiveMQ 和异步消息都会产生深远的影响。这部分中, 我们将介绍一些使用 ActiveMQ 的场景实例。
TT SOA 技术专题之“ActiveMQ 实践入门指南”
Page 2 of 19

? ActiveMQ 实践:使用场景
ActiveMQ 实践:ActiveMQ 使用入门
开始使用 ActiveMQ 并不是很难,你只需要启动代理,确保它能够接受连接和发送消 息。这部分中,我们将介绍如何开始使用 ActiveMQ。
? ActiveMQ 实践:ActiveMQ 使用入门
TT SOA 技术专题之“ActiveMQ 实践入门指南”
Page 3 of 19

activeMQ操作手册

一、安装部署 1、下载 https://www.wendangku.net/doc/33840640.html,/activemq-5100-release.html,下载5.10.0 WindowsDistribution版本 2、安装 直接解压至任意目录(如:D:\Software\apache-activemq-5.10.0) 3、启动ActiveMQ服务 cmd到bin目录下直接运行:activemq.bat start 启动成功: 4、ActiveMQ消息管理后台系统: http://localhost:8161/admin(随包附带jetty、可直接启动)

默认用户名:admin 默认密码:admin ※在conf/jetty-realm.properties里可以修改用户和密码 创建一个Queue 二、Queue与Topic 的比较 1、JMS Queue 执行load balancer语义:

一条消息仅能被一个consumer(消费者) 收到。如果在message 发送的时候没有可用的consumer,那么它将被保存一直到能处理该message 的consumer 可用。如果一个consumer 收到一条message 后却不响应它,那么这条消息将被转到另一个consumer 那儿。一个Queue 可以有很多consumer,并且在多个可用的consumer中负载均衡。注: 点对点消息传递域的特点如下: ?每个消息只能有一个消费者。 ?消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。 2、Topic 实现publish和subscribe 语义: 一条消息被publish时,它将发到所有感兴趣的订阅者,所以0到多个subscriber将接收到消息的一个拷贝。但是在消息代理接收到消息时,只有激活订阅的subscriber能够获得消息的一个拷贝。 注: 发布/订阅消息传递域的特点如下: ?每个消息可以有多个消费者。 ?生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息。JMS 规范允许客户创建持久订阅,这在一定程度上放松了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息。 3、分别对应两种消息模式: Point-to-Point (点对点),Publisher/Subscriber Model (发布/订阅者) 其中在 Publicher/Subscriber 模式下又有Nondurable subscription(非持久订阅)和durable subscription (持久化订阅)2种消息处理方式(支持离线消息)。 注: 在点对点消息传递域中,目的地被成为队列(queue);在发布/订阅消息传递域中,目的地被成为主题(topic)。 三、Point-to-Point (点对点)消息模式开发流程 1、生产者(producer)开发流程(ProducerTool.java): 1.1 创建Connection: 根据url,user 和password 创建一个jms Connection。 Java代码 1.ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory (user, password, url);

ActiveMQ面试题及答案

ActiveMQ面试题及答案 1、什么是ActiveMQ? activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。 2、Activemq的瓶颈值 根据网上一般评测文档上来看,每秒的消息吞吐在2000以上, acticemq 也可以集群化部署,也是使用zookeeper来搭建。 3、ActiveMQ服务器宕机怎么办? 这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。 但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消息会从文件中恢复,非持久化的临时文件会直接删除。 那如果文件增大到达了配置中的最大限制的时候会发生什么?我做了以下实验: 设置2G左右的持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时生产者阻塞,但消费者可正常连接并消费消息,等消息消费掉一部分,文件删除又腾出空间之后,生产者又可继续发送消息,服务自动恢复正常。 设置2G左右的临时文件限制,大量生产非持久化消息并写入临时文件,在达到最大限制时,生产者阻塞,消费者可正常连接但不能消费消息,或者原本慢速消费的消费者,消费突然停止。整个系统可连接,但是无法提供服务,就这样挂了。 具体原因不详,解决方案:尽量不要用非持久化消息,非要用的话,将临时文件限制尽可能的调大。 4、AcitveMQ的作用、原理?(生产者、消费者。p2p、订阅实现流程) Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理就是生产者生产消息,把消息发送给activemq。Activemq 接收到消息,然后查看有多少个消费者,然后把消息转发给消费者,此过程中生产者无需参与。消费者接收到消息后做相应的处理和生产者没有任何关系 5、activemq在项目中如何应用的

ActiveMq-JMS简单实例使用tomcat

ActiveMq初级操作 (工具:tomcat6.0、activeMq5.3.2、Myeclipse7.0,java1。5) 这是本人第一次发表个人使用ActiveMq,如有错误,请指出。只为与众人共享我的心得。 activeMq是一个开源的支持JMS的框架:(以下为考录他人的信息,如有版权问题,请联系) 一、特性及优势 1、实现JMS1.1规范,支持J2EE1.4以上 2、可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM) 3、支持多种语言客户端(java, C, C++, AJAX, ACTIONSCRIPT等等) 4、支持多种协议(stomp,openwire,REST) 5、良好的spring支持(ActiveMQ has great Spring Support) 6、速度很快,JBossMQ的十倍(ActiveMQ is very fast; often 10x faster than JBossMQ.) 7、与OpenJMS、JbossMQ等开源jms provider相比,ActiveMQ有Apache的支持,持续发展的优势明显。 二、下载安装 1、下载 https://www.wendangku.net/doc/33840640.html,/download.html,在这个页面里有你所需要的各个版本,我用的是最新的版本-ActiveMQ 5.3.2。 2、安装 直接解压至任意目录(如:d:\ apache-activemq-5.1.0),但是我用的时候是解压到D盘的根目录下,我建议各位也这样,不用对它的一些bat进行修改。 3、启动ActiveMQ服务器 方法1: 直接运行bin\activemq.bat 方法2(在JVM中嵌套启动):(这个我没用过,你可以试试) cd example ant embedBroker 4、ActiveMQ消息管理后台系统:http://localhost:8161/admin 打开主页后,你可以看到activeMq中带的一些实例, 三、详细实例 以下为本人的一个简单的实例,希望对各位有所帮助, 我是利用网上的资料,将tomcat和activeMq整合在一起做的一个发送接受的发布订阅的例子(我用的是tomcat6.0,activeMq5.3.2): 首先整合tomcat和activeMq: 1、准备jar包: 将ActiveMQ lib目录下的5个jar包复制到Tomcat lib目录下: activemq-core-5.1.0.jar activemq-web-5.1.0.jar geronimo-j2ee-management_1.0_spec-1.0.jar geronimo-jms_1.1_spec-1.1.1.jar geronimo-jta_1.0.1B_spec-1.0.1.jar 2、修改配置文件: 2.1 修改Tomcat的conf/context.xml文件:

activeMQ面试题

1. activeMQ默认配置下启动会启动8161和61616两个端口,其中8161是mq自带的管理后台的端口,61616是mq服务默认端口。 8161是后台管理系统,61616是给java用的tcp端口 2. MQ的两个队列模式: 点对点:Queue,不可重复消费(消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。) 发布/订阅:Topic,可以重复消费(消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。) 在点对点的消息传递域中,目的地被称为队列queue 在发布订阅消息传递域中,目的地被称为主题topic 1》发布主题生产者 2》订阅主题消费者 3》先启动订阅,再启动生产,不然发送的消息时废消息 4》控制台 3. 两个队列模式的区别: 1.工作模式: topic 没有订阅者,消息被丢弃,如有多个订阅者,都会收到消息 queue 负载均衡模式,如果没有消费者,消息也不会丢弃;如果有多个消费者,那么一条消息只会发送一个消费者,并且要求消费者ack信息 2.有无状态:无状态 Queue数据默认会在mq服务器上以文件形式保存 3.传递完整性: topic没有订阅者,消息被丢弃 queue消息不会丢弃 4.处理效率 topic处理性能会随着订阅者的数量逐渐降低 queue 由于一条消息只发送给一个消费者,就算消费者再多,性能也不会明显降低 javaee 是一套应用java进行企业级应用开发的大家一致遵循的13个核心规范工业标准 JMS java消息服务 JMS 规范:Java官方提供的一种要求各OMO厂商遵守的一个规范(API),以便开发者能够用一套API使用所有厂商的MQ。 JMS组成:生产者、消息、中间件(MQ服务器)、消费者 JMS的可靠性:持久性、事物、签收 消息组成: 消息头(可以设置优先级、是否持久化、过期时间、消息id等)、 消息体: textMessage、map、byte、Stream、Object 消息属性:对消息体的补充,识别、去重、重点标注等,如 textMessage.setStringProperty(name:"C01", value:"VIP") activeMQ事务和签收方式 1.本地事务 2.分布式事务 三种签收方式】 [ Session.AUTO_ACKNOWLEDGE ] 当客户端从receiver或onMessage成功返回时,Sessi on自动签收客户端的这条消息的收条。 [ Session.CLIENT_ACKNOWLEDGE ] 客户端通过调用消息(Message)的acknowledge方法签收消息。在这种情况下,签收发生在Session层面:签收一个已经消费的消息会自动地签收这个Session所有已消费的收条。 [ Session.DUPS_OK_ACKNOWLEDGE ] Session不必确保对传送消息的签收,这个模式可能会引起消息的重复,但是降低了Session的开销,所以只有客户端能容忍重复的消息,才可使用。 传输协议:(默认支持五种协议,NIO性能高,可以单独配置activeMQ.xml,端口号 ) NIO协议和TCP协议类似但NIO更侧重于底层的访问操作。它允许开发人员对同一资源可有更多的client调用和服务端有更多的负载。 适合使用NIO协议的场景:(1)可能有大量的Client去链接到Broker上,NIO的实现比TCP需要更少的线程去运行,所以建议使用NIO协议。 (2)可能对于Broker有一个很迟钝的网络传输,NIO比TCP提供更好的性能。 NIO链接的URL形式:nio//hostname:port?key=value Active的持久化机制:JDBC、AMQ、KahaDB、LevelDB ActiveMQ默认使用异步发送的模式;除非明确指定使用同步发送的方式或者在未使用事务的前提下发送持久性的消息,这两种情况都是同步发送的。 不能有效的确保消息的发送成功; 高级投递:异步投递、延迟投递、定时投递理解 (MQ四大属性:延迟投递时间、重复投递的时间间隔、重复投递次数、Cron表达式) 如何防止消息重复发送? 解决方法:增加消息状态表。用来记录消息的处理状态,每次处理消息之前,都去状态表中查询一次,如果已经有相同的消息存在,那么不处理,可以防止重复发送。增加主键id。 幂等性,通俗点说,就一个数据,或者一个请求,给你重复来多次,你得确保对应的数据是不会改变的,不能出错。 丢消息怎么办? 用持久化消息,或者非持久化消息及时处理不要堆积,或者启动事务,启动事务后,commit()方法会负责任的等待服务器的返回,也就不会关闭连接导致消息丢失了。

E n i g m a 算 法 详 解

成为专业程序员路上用到的各种优秀资料、神器及框架 本文是鄙人工作这几年随手收集整理的一些自认为还不错的资料,成长的道理上需要积累,这么长时间了,是时候放出来分享下了,或许能帮助到你。 欢迎点赞,让更多人看到,让福利普照。 因为本文以后不会更新,但项目依旧会更新。 所以,更好的做法是,请到GitHub上Star:stanzhai-be-a-professional-programmer 成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。 笔者作为一位tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目可以作为自己的不时之需。 本人喜欢折腾,记录的东西也比较杂,各方面都会有一些,内容按重要等级排序,大家各取所需。 这里的东西会持续积累下去,欢迎Star,也欢迎发PR给我。 技术站点必看书籍大牛博客GitHub篇工具篇 平台工具常用工具第三方服务爬虫相关(好玩的工具)安全相关Web服务器性能-压力测试工具-负载均衡器大数据处理-数据分析-分布式工具Web前端语言篇 https://www.wendangku.net/doc/33840640.html,C 游戏开发相关日志聚合,分布式日志收集RTP,实时传输协议与音视频

技术站点 在线学习:Coursera、edX、Udacity?- way to explore国内老牌技术社区:OSChina、博客园、CSDN、51CTO 免费的it电子书:IT eBooks - Free Download - Big Library在线学习:Udemy Crowd-sourced code mentorship. and Practice coding with fun programming challenges - CodinGameDevStore:开发者服务商店MSDN:微软相关的官方技术集中地,主要是文档类必看书籍 SICP(Structure and Interpretation of Computer Programs)深入理解计算机系统代码大全2人件人月神话软件随想录算法导论(麻省理工学院出版社)离散数学及其应用设计模式编程之美黑客与画家编程珠玑The Little SchemerSimply Scheme_Introducing_Computer_ScienceC++ PrimeEffective C++TCP-IP详解Unix 编程艺术技术的本质软件随想录计算机程序设计艺术职业篇:程序员的自我修养,程序员修炼之道,高效能程序员的修炼《精神分析引论》弗洛伊德《失控》《科技想要什么》《技术元素》凯文凯利程序开发心理学天地一沙鸥搞定:无压力工作的艺术大牛博客 云风(游戏界大牛): 云风的 Tian (binghe)R大【干货满满】RednaxelaFX写的文章-回答的导航帖陈皓-左耳朵耗子:酷

activemq集群文档

Activemq集群支持配置说明书 2011年9月27日

修改历史

目录 1、引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.6参考资料 (4) 2、概述 (4) 2.1产品/模块简介 (4) 2.2功能列表 (4) 2.3核心流程 (5) 2.4关键算法 (7) 3、体系结构 (9) 3.1开发/运行环境 (9) 3.2体系结构图 (9) 4、数据描述[可选] (9) 1、引言 1.1编写目的 此文档为了描述activemq集群及持久化存储,监控配置。 1.2背景 Activemq Server为提供系统异步消息传递能力的构件; 为了支持更大量的消息分派,提供负载均衡及高服务质量,使用activemq提供的Network Of Brokers配置,部署三个activemq实例,每个activemq实例我们称它为broker,为客户端提供服务;此配置允许在一个activemq失败时少量的消息丢失,所以从严格意义上不是高可用性配置. 当前我们使用Network Of Brokers为业务消息提供服务;使用Master/Slave为Ehcache分布式缓存提供消息同步服务.

1.6参考资料 Home: https://www.wendangku.net/doc/33840640.html, Network Of Brokers:https://www.wendangku.net/doc/33840640.html,/networks-of-brokers.html Persistence:https://www.wendangku.net/doc/33840640.html,/persistence.html KahaDB:https://www.wendangku.net/doc/33840640.html,/kahadb.html Producer Flow Control:https://www.wendangku.net/doc/33840640.html,/producer-flow-control.html Master/Slave:https://www.wendangku.net/doc/33840640.html,/masterslave.html Failover Transport:https://www.wendangku.net/doc/33840640.html,/failover-transport-reference.html ServerSide Transport:https://www.wendangku.net/doc/33840640.html,/configuring-transports.html 2、概述 2.1产品/模块简介 Apache ActiveMQ ? is the most popular and powerful open source messaging and Integration Patterns server. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License. Network Of Brokers: To provide massive scalability of a large messaging fabric you typically want to allow many brokers to be connected together into a network so that you can have as many clients as you wish all logically connected together - and running as many message brokers as you need based on your number of clients and network topology. This allows a client to connect to any broker in the network - and fail over to another broker if there is a failure - providing from the clients perspective a HA cluster of brokers. 2.2功能列表 1.业务消息的生产者发送持久的队列消息,消费者实现MessageListener接口监听队列. https://www.wendangku.net/doc/33840640.html,work of brokers确保所有消息能够分派至消费者,即使生产者将消息发送至broker A,但消费者监听broker B. 3.为了提供分派速度,设置同一broker上的消费者在分派消息拥有较高权限,这样可以减少消

基于Netty+ActiveMQ的农村生活污水处理设施监测数据通信管理平台设计

Technology Analysis 技术分析 DCW 117 数字通信世界 2019.07 1 系统架构图 本系统建立在J2EE 平台上,将 Netty ,ActiveMQ 消息中间件,MySQL 数据库、redis 、json 等技术相结合,构建更加智能、更加稳定和并发更好的的通信管理平台。通信管理服务系统搭建在云平台之上,充分利用现代化信息技术手段实现农村生活污水处理设施终端数据采集的信息化、集约化,依托云平台的理念和优势,将已有的专业系统纳入其中,为主管部门、运维企业、其他相关部门提供统一的数据服务。系统架构图如图1 所示。 图1 系统架构图 本系统最大的亮点在于使用Netty 作为通信框架,支持海量并发的同时,通过其预制的编码和解码器,实现对不同通信协议的解析后,将数据统一成通用json 格式推送到消息中间件。这样对于监管、运维等应用平台而言,数据格式统一、规范,便于使用。 本文通过对比分析国内现有的数据采集和通信管理解决方案,采用Netty+ActiveMQ 相结合的方式,降低技术难度的同时,实现农村生活污水治理设施终端数据采集、传输管理和及时推送。 2 数采和控制实现 平台可实现系统用户的需求,如查看农村生活污水处理设施的流量计、多功能电表、在线水质检测仪等实时数据,并根据设计好的指令对上述设备进行控制操作。Netty 与消息中间件的结合完美解决了通信链路和消息推送问题,为实现平台的通信管理和数据的实时推送奠定了基础。详细设计图如图2所示:2.1 数采的设计与实现 平台的服务器分为Netty 通信服务与消息中间件两个部分。(1)Netty 通信服务包括平台通用功能和通用接口,用来实现与各下位机(数采仪)的数据传送并将数据按照统一json 格式送入消息中间件,Netty 通信服务在初始化时与消息中间件(ActiceMQ )建立通信连接; (2)消息中间件(ActiveMQ )实现消息的订阅和推送,主 要负责将数据推送给监管平台、企业运维平台、其他授权接入的 第三方平台,实现了数据的实时交互。 图2 通信管理详细设计图 通信管理平台将农村生活污水处理设施终端数据推送到应用平台的流程描述: 下位机(PLC 、单片机、智能网关等)采集各传感器的实时数据,将这些数据上传到Netty 服务器,当与Netty 服务器第一次建立连接时,触发channelActive 方法建立通道,该通道在断开之前一直存在,此后下位机定时发送数据,并直接触发channelRead 方法接收,接收到的数据由平台统一处理,按照事先设计好的数据格式组成通用json 数据包,再按照设计的主题推送至消息中间件(ActiveMQ ),监管平台、运维平台订阅相应主题即可获取推送消息(数据)。 Netty 服务器采用多线程服务器,对于每一个连接请求,dispatcher 都会为其创建并分配一个线程,该线程负责这个请求的处理,优点是执行粒度是完整的处理流程,处理逻辑清晰,易于开发。通信过程中,可通过心跳包实现长连接,通过线程池控制服务端线程数的快速增长。 除了消息中间件(ActiveMQ )以外,平台实现了一组restful 风格的通用数据接口。监管平台、企业运维平台等可以在获取授权后,通过这些接口获取历史数据、终端信息,下达控制指令等。 平台实现了对TCP 字节流(数据帧)、MQTT 的数据解析。2.1.1 T CP 字节流(数据帧) 下位机(数采仪)可以按照约定的数据包格式,将终端监测数据打包,以TCP 字节流(数据帧,字符集为utf-8)的方式上传。数据包格式可做如下设计:服务端收到数据包以后,按照通信协议解包以后,再将数据组合成通用格式的json 数据包,送到消息中间件。 Netty 对于TCP 字节流(数据帧)有多种解码方式,可以采用定长数据或者固定结尾字符(比如以回车换行作为结尾符)等方式,可以有效解决半包、粘包等问题。 基于Netty+ActiveMQ 的农村生活污水处理设施监测 数据通信管理平台设计 刘祥宏1,潘泉涌1,方 宽2 (1.浙江省建筑科学设计研究院有限公司,杭州 310000;2. 衢州市住建局,衢州 324000) 摘要:随着浙江省农村生活污水运维和监管工作的持续推进和规范,以及物联网技术的推广和成熟,针对农村生活污水处理设施 点多、面广、分散的特点,基于Netty 和消息中间件(ActiveMQ)技术,设计并实现了一款既能使用TCP 字节流(数据帧)方式又能满足物联网MQTT 协议(JSON 数据格式)的泛物联网通信管理系统进行数据采集和传输管理,并利用消息中间件(ActiveMQ)技术,可近实时向各级主管部门的监管平台、企业运维平台、授权接入的第三方平台推送监测数据的同时,提供了统一数据接口服务。文中主要介绍了该通信管理平台的设计原理。 关键词:Netty+ActiveMQ 的农村生活污水处理设施监测数据通信管理平台设计;分析基于Netty+ActiveMQ 的农村生活污水处理设施监测数据通信管理平台设计 doi :10.3969/J.ISSN.1672-7274.2019.07.090中图分类号:X799.3 文献标示码:A 文章编码:1672-7274(2019)06-0117-02

ActiveMQ面试题(最新)

1.什么是ActiveMQ? activeMQ 是一种开源的,实现了JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。 2. ActiveMQ 服务器宕机怎么办? 这需要从ActiveMQ 的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ 会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消息会从文件中恢复,非持久化的临时文件会直接删除。 那如果文件增大到达了配置中的最大限制的时候会发生什么? 我做了以下实验: 设置2G 左右的持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时生产者阻塞,但消费者可正常连接并消费消息,等消息消费掉一部分,文件删除又腾出空间之后,生产者又可继续发送消息,服务自动恢复正常。 设置2G 左右的临时文件限制,大量生产非持久化消息并写入临时文件,在达到最大限制时,生产者阻塞,消费者可正常连接但不能消费消息,或者原本慢速消费的消费者,消费突然停止。整个系统可连接,但是无法提供服务,就这样挂了。 具体原因不详,解决方案:尽量不要用非持久化消息,非要用的话,将临时文件限制尽可能的调大。 3. 丢消息怎么办? 这需要从java 的https://www.wendangku.net/doc/33840640.html,.SocketException 异常说起。简单点说就是当网络发送方发送一堆数据,然后调用close 关闭连接之后。这些发送的数据都在接收者的缓存里,接收者如果调用read 方法仍旧能从缓存中读取这些数据,尽管对方已经关闭了连接。但是当接收者尝试发送数据时,由于此时连接已关闭,所以会发生异常,这个很好理解。不过需要注意的是,当发生SocketException 后,原本缓存区中数据也作废了,此时接收者再次调用read 方法去读取缓存中的数据,就会报Software caused connection abort: recvfailed 错误。 通过抓包得知,ActiveMQ 会每隔10 秒发送一个心跳包,这个心跳包是服务器发送给客户端的,用来判断客户端死没死。如果你看过上面第一条,就会知道非持久化消息堆积到一定程度会写到文件里,这个写的过程会阻塞所有动作,而且会持续20 到30 秒,并且随着内存的增大而增大。当客户端发完消息调用connection.close()时,会期待服务器对于关闭

软件开发应知应会-84分

研究数据结构就是研究() A.数据的逻辑结构 B.数据的存储结构 C.数据的逻辑结构和存储结构 D.数据的逻辑结构、存储结构及其运算结构 栈和队列的共同特点是()。 A.都是先进先出 B.都是先进后出 C.只允许在端点处插入和删除 D.没有共同点 关键路径是事件结点网络中()。 A.从源点到汇点的最长路径 B.从源点到汇点的最短路径 C.最长的回路 D.最短的回路 以下是线性表的数据结构是()。 A.数组 B.单链表 C.双链表 D.循环链表 以下()是常用的哈希函数构造方法。 A.直接寻址法 B.除留余数法 C.随机数法 D.平方取中法 不属于Swift属性的是() A.存储属性 B.计算属性 C.类型属性 D.以上都不是 CSS3的优点是() A.减少开发成本

B.减少维护成本 C.提高页面性能 D.以上都是 Objective-C最大的特色是承自Smalltalk的(),此机制与今日C++式之主流风格差异甚大。 A.消息传递模型(message passing) B.阅读者模式模型 C.单例模式模型 D.广播模型 CSS的定位常用属性有以下几个值() A.static B.relative C.fixed D.absolute 以下哪些是语义化标签? A.div B.span C.article D.header 在shell中,使用一个定义过的变量,引用时在变量名前加()。 A.$ B.& C.* D.@ SQL中删除数据库的关键字是()。 A.select B.insert C.delete D.drop SQL语句中删除一个表中记录,使用的关键字是()。 A.select B.insert C.delete

ActiveMQ高可靠性解决方案

ActiveMQ高可靠性解决方案 这周看了下activem q 的高可用解决方案,它是通过Master/Slave(主从备份)和failover 协议来支持的。 Master/Slave 有三种解决方案: Share Nothing Master/Slave Master 收到消息后保证先转发给slave后再发给客户端,slave有自己独立存储, 在slave 配置文件中需指定Master URI,这样当Master 宕掉后,客户端会Failover到Slave. 2. Share File System Master/Slave 没有物理上的Master, Slave之分,只有逻辑上的Master 和Slave, Master与Slave 共享一个存储文件,谁最先启动就会持有共享文件锁,成为Master, 后启动的由于获取文件锁时会被阻塞,成为Slave,当Master宕掉时,共享文件锁被释放掉,Slave获取的文件锁后就成为Master, 客户端使用failover 协议后会failover到可用的broker上。

3. Share Database Master/Slave 和Share File System Master/Slave 类似,只不过用数据库锁代替了共享文件系统锁。 测试结果 方案3由于会带来额外的复杂度,因此直接弃用。 测试了方案1和方案2, 方案2的有点是不需要修改配置文件,易管理, 缺点是需要搭建个分布式共享文件系统,对于我们在线升级稍显麻烦。方案2在我测试时也发现了些问题,当Master宕掉后,Slave不能立即升级为Master, 导致客户端failover失败。(这个我有点怀疑是我nfs 没搞好,这个我有时间再研究下) 方案1的缺点是需要额外的配置Slave配置文件及对应的存储空间,只能有一个slave因此

Apache_ActiveMQ教程

一、特性及优势 1、实现JMS1.1规范,支持J2EE1.4以上 2、可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM) 3、支持多种语言客户端(java, C, C++, AJAX, ACTIONSCRIPT等等) 4、支持多种协议(stomp,openwire,REST) 5、良好的spring支持(ActiveMQ has great Spring Support) 6、速度很快,JBossMQ的十倍(ActiveMQ is very fast; often 10x faster than JBossMQ.) 7、与OpenJMS、JbossMQ等开源jms provider相比,ActiveMQ有Apache的支持,持续发展的优势明显。 二、下载部署 1、下载 https://www.wendangku.net/doc/33840640.html,/activemq-510-release.html,下载5.1.0 Windows Distribution版本 2、安装 直接解压至任意目录(如:d:\ apache-activemq-5.1.0) 3、启动ActiveMQ服务器 方法1: 直接运行bin\activemq.bat 方法2(在JVM中嵌套启动): cd example antembedBroker 4、ActiveMQ消息管理后台系统: http://localhost:8161/admin

三、运行附带的示例程序 1、Queue消息示例: * 启动Queue消息消费者 cd example ant consumer * 启动Queue消息生产者 cd example ant producer 简要说明:生产者(producer)发消息,消费者(consumer)接消息,发送/接收2000个消息后自动关闭 2、Topic消息示例: * 启动Topic消息消费者 cd example ant topic-listener * 启动Topic消息生产者 cd example ant topic-publisher 简要说明:重复10轮,publisher每轮发送2000个消息,并等待获取listener 的处理结果报告,然后进入下一轮发送,最后统计全局发送时间。 四、Queue与Topic的比较 1、JMS Queue执行load balancer语义: 一条消息仅能被一个consumer收到。如果在message发送的时候没有可用的consumer,那么它将被保存一直到能处理该message的consumer可用。如果一个consumer收到一条message后却不响应它,那么这条消息将被转到另一个

相关文档