★Java常用组件中文文档★
IamAlwaysonline
让技术不再孤单
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Quartz教程 第9课 JobStore
第9课 JobStoreJobStore负责跟踪传递给scheduler的所有工作数据:job、trigger、calendar等等。为你的Quartz调度器实例选择一个合适的JobStore是很重要的一步。幸运地是,一旦你掌握它们之间的区别,选择是很容易的。你应该在配置文件(quartz.properties)中声明你使用的是哪一个JobStore。注意:从来不要在代码中直接使用JobS翻译 2017-10-22 20:19:39 · 2657 阅读 · 0 评论 -
AKKA 派发器
派发器Akka MessageDispatcher是维持Akka Actor“运作”的部分,可以说它是整个机器的引擎。所有的MessageDispatcher实现也同时是一个ExecutionContext,这意味着它们可以用来执行任何代码,例如Future。默认的派发器在没有为Actor作任何配置的情况下,每个ActorSystem将有一个默认的派发器。默认派发器是可配置的,默认翻译 2017-10-21 11:15:53 · 399 阅读 · 0 评论 -
调度器
调度器有时候你需要让一些事情在未来发生,那么你在哪儿看它们呢?看看ActorSystem吧!在那儿你能找到scheduler方法,它返回一个akka.actor.Scheduler实例,这个实例每一个ActorSystem都是唯一的,在内部通用调度在特定时间点发生的事情。你可以调度向Actor发送消息和执行任务(函数或者Runnable)。你将获得一个Cancellable,你可以调用其c翻译 2017-10-18 20:56:33 · 575 阅读 · 0 评论 -
EventBus
事件总线最初构想作为一种向一组actor发送消息的方式,现在已经被推广为实现简单接口的抽象基类的集合:/** * Attempts to register the subscriber to the specified Classifier * @return true if successful and false if not (because it was already *翻译 2017-10-18 20:15:52 · 657 阅读 · 0 评论 -
AKKA集群规范
AKKA集群规范注意:这个文档描述了集群的设计概念。1 引言 Akka集群提供了一个具有容错能力、去中心化、基于对等的集群成员资格服务,无单点故障,无单点瓶颈。它是使用gossip协议和自动故障检测做到这点的。2 术语节点(node):集群的一个逻辑上的成员。在一个物理机器上可能有多个节点。由hostname:port:uid元组定义。集群(cluster):通过成员翻译 2017-10-18 19:55:45 · 600 阅读 · 0 评论 -
SLF4J用户手册
SLF4J用户手册 简单Java日志外观(SLF4J)提供了不同的日志框架,例如java.util.logging、logback和log4j,的外观。SLF4J允许最终用户在部署时插入期望的日志框架。请注意SLF4J意味着你的库或者应用只有一个强制的依赖,即slf4j-api-1.7.12.jar。 从1.6.0版本开始,如果在类路径没有发现绑定(的日志框架),那么SLF4J翻译 2017-10-08 09:41:51 · 816 阅读 · 0 评论 -
Joda-Time用户指导
1 引言 Joda-Time就像一座冰山,90%的代码对于用户代码都是不可见的。许多,可能是大多数的应用程序从来不需要知道它底层是如何实现的。这个文档是为普通用户提供Joda-Time API的入门指导,而不是为API开发者。 文档大部分只提供了代码片段,以说明大多数的普通使用场景。我们重点是介绍DateTime、Interval、Duration和Period类。翻译 2017-10-07 17:32:20 · 1207 阅读 · 0 评论 -
第4章 远程管理
第4章 远程管理4.1 引言JMX API使你能通过JMX 连接器远程管理你的资源。JMX连接器使得远端的JMX客户端可以访问MBean服务器。连接器的客户端与服务器本质上输出同样的接口。JMX连接器由连接客户端和连接服务器组成。连接服务器被附加到MBean服务器上,监听客户端的请求。连接客户端负责建立与服务器之间的连接。连接客户端通常使用一个与连接服务器不同的Java虚拟机,并且运翻译 2017-10-07 16:47:06 · 817 阅读 · 0 评论 -
第3章 Notifications通知
package com.example;import javax.management.*;public class Hello extends NotificationBroadcasterSupport implements HelloMBean { public void sayHello() { System.out.pri翻译 2017-10-07 16:39:20 · 469 阅读 · 0 评论 -
第2章 JMX MBean 基础知识
JMX MBean 基础知识1 引言这节课介绍JMX API的基本概念,即被管理的beans,或者叫MBeans。一个MBean是一个被管理的Java对象,有点类似于JavaBean,它遵循了JMX规范的一些设计模式。一个设备、一个应用或者任何需要被管理的资源都可以被表示为MBean。MBean会暴露一个管理接口,这个接口主要包括如下几个操作:一组可以读取或者写入,或既能读翻译 2017-10-07 16:38:45 · 5990 阅读 · 0 评论 -
第1章 JMX技术概览
前言《JMX快速入门》介绍了在Java标准平台中的JMX技术。本文通过几个示例介绍如何使用JMX技术的最重要的特性。JMX技术概览,概要描述JMX技术,包括它的目的和主要特性。MBean介绍,介绍JMX技术MBean和MXBean的基本概念。Notification通知,介绍JMX技术的通知机制。远程管理,说明如何实现JMX API的远程管理能力以及如何创建一个JMX客户端应用程序。翻译 2017-10-07 16:36:43 · 423 阅读 · 0 评论 -
Awaitility用户指导
Awaitility用户指导Scala文档请点击这里here。Groovy文档请点击这里here。1 静态导入为了搞笑地使用Awaitility,。推荐从Awaitility框架静态导入下面的方法:org.awaitility.Awaitility.*导入下面这些方法也是有用的:org.awaitility.Duration.*java.util.concurren翻译 2017-10-07 16:30:38 · 2119 阅读 · 0 评论 -
Quartz教程 第11课 高级(企业级)特性
第11课 高级(企业级)特性11.1 集群当前的集群需要和JDBCJobstore (JobStoreTX或JobStoreCMT)和TerracottaJobStore一起工作。这个特定包括负载均衡和job容错(如果JobDetail的“请求恢复”标志设置为true的话)。####使能JobStoreTX或JobStoreCMT的集群,需要将“org.quartz.jobStor翻译 2017-10-23 22:21:46 · 692 阅读 · 0 评论 -
Quartz教程 第12课 Quartz的其它特性
第12课 Quartz的其它特性插件Quartz提供了org.quartz.spi.SchedulerPlugin接口,用于插入额外的功能。Quartz自带的插件提供了各种工具,位于org.quartz.plugins包下。它们提供了诸如一旦调度器启动,就会自动调度job,日志记录job和trigger的历史,当JVM退出时确保scheduler关闭。JobFactory当翻译 2017-10-23 22:22:46 · 362 阅读 · 0 评论 -
Quartz快速入门指导
Quartz快速入门指导(作者 Dafydd James)欢迎来到Quartz快速入门指导。阅读本指导,你可以看到下面的详细内容:下载Quartz安装Quartz配置Quartz启动一个简单的应用在熟悉了Quartz Scheduler的基本功能之后,考虑更加高级的特性,例如企业级特性,允许作业jos和触发器trigger运行在特殊的Terracotta客户端上,而不是随机翻译 2017-10-23 22:24:36 · 1586 阅读 · 0 评论 -
AKKA序列化
序列化Akka有内置的序列化扩展,你可以使用内置的序列化器,也可以自定义。序列化机制可以在Akka内部用于序列化消息,也可以用于专门序列化。用法配置Akka要想知道那个序列化器用于那些消息,你需要编辑配置"akka.actor.serializers"部分,你将序列化器的名字绑定到你希望使用的akka.serialization.Serializer的实现上,就像这样:ak翻译 2017-10-18 21:44:56 · 3224 阅读 · 0 评论 -
AKKA 邮箱Mailbox
邮箱MailboxAkka Mailbox持有发给actor的消息。通常,每一个Actor都与自己的邮箱,但是当使用BalancingPool时,所有的路由都共享一个邮箱实例。邮箱选择Actor需要的消息队列类型特定类型的actor可以用特定类型的消息队列,只要这个actor实现了参数化的接口RequiresMessageQueue。这里是一个例子:import akka.翻译 2017-10-21 11:13:26 · 8732 阅读 · 0 评论 -
Quartz教程 第8课 SchedulerListener
第8课 SchedulerListenerSchedulerListener非常类似于TriggerListener和JobListener,只是它接收的是来自调度器内的通知事件,而不需要关联具体的触发器或作业。与调度器相关的事件包括:添加作业任务/触发器,移除作业任务/触发器,调度器发生严重错误,调度器关闭及其它的通知等。org.quartz.SchedulerListener接口翻译 2017-10-22 20:18:28 · 421 阅读 · 0 评论 -
Quartz教程 第7课 TriggerListener和JobListener
第7课 TriggerListener和JobListener监听器是在调度器中基于事件机制执行操作的对象。你大概可以猜到,TriggerListener接收与触发器有关的事件,JobListener接收与作业任务有关的事件。与Trigger有关的事件包括:trigger触发、trigger触发失败(在Trigger部分谈论过了)和trigger触发完成(trigger触发的job完成翻译 2017-10-22 20:16:53 · 746 阅读 · 0 评论 -
Quartz教程 第6课 CronTrigger
第6课 CronTrigger当你需要一个基于日历概念的作业调度器,而不是像SimpleTrigger那样精确指定间隔时间时,CronTrigger比SimpleTrigger更常用。使用CronTrigger,你可以这样指定触发时间表,例如“每周五的中午”,或是“每周末的上午9:30”,甚至是“一月份每周一、三、五上午9:00到10:00之间每5分钟”。虽然如此,跟SimpleTri翻译 2017-10-22 20:14:10 · 460 阅读 · 0 评论 -
Quartz教程 第5课 SimpleTrigger
第5课 SimpleTrigger如果你需要在一个指定时间段内执行一次作业任务或是在指定的时间间隔内多次执行作业任务,SimpleTrigger应该能满足你的调度需求。例如,你希望触发器在2015年1月13日上午11:23:54准时触发,或是希望在那个时间点触发,然后再重复触发5次,每隔10秒一次。有了这样的描述,你就不会对SimpleTrigger包含的参数感到奇怪:开始执行时间,结束执行时翻译 2017-10-22 20:12:40 · 623 阅读 · 0 评论 -
Quartz教程 第2课 Quartz API、Job和Trigger
第2课 Quartz API、Job和Trigger2.1 Quartz APIQuartz API关键接口是:Scheduler:与scheduler交互的主要API。Job:scheduler执行的组件要实现的接口。JobDetail:用于定义Job实例。Trigger:Job在这个组件定义了执行。JobBuilder:用于定义或者构建一个JobDetail实例,它只能定义翻译 2017-10-22 20:02:48 · 511 阅读 · 0 评论 -
Quartz教程 第1课 使用Quartz
第1课 使用Quartz在你使用scheduler之前,它需要被实例化(有谁愿意去猜呢?)。你要用SchedulerFactory实例化它。一些用户可能会将工厂实例保存到JNDI里,另一些用户可能就简单的实例化它(例如下面的例子就是这样)。一旦scheduler被实例化,它就可以被启动,处于待机模式,然后关闭。注意,一旦scheduler被关闭,它就不能再次启动。Trigger不会触发翻译 2017-10-22 19:59:21 · 394 阅读 · 0 评论 -
Quartz教程 第3课 Job和JobDetail详解
第3课 Job和JobDetail详解正如你在第二课中看到的,Job接口非常容易实现,它只有一个execute方法。我们需要再学习一些知识去理解job的本质,Job接口的execute方法以及JobDetail接口。当你实现Job接口类,Quartz需要你提供job实例的各种参数,Job接口实现类中的代码才知道如何去完成指定类型Job的实际工作。这个过程是通过JobDetail类来完成翻译 2017-10-22 20:04:30 · 1471 阅读 · 0 评论 -
Quartz教程 第10课 配置、资源利用率和SchedulerFactory
第10课 配置、资源利用率和SchedulerFactoryQuartz的架构是模块化的,因此要让它运行起来,需要将多个组件整合到一起。幸运地是,已经有一些工具帮助我们实现这个。在Quartz可以工作之前,需要配置的主要组件有:ThreadPoolJobStoreDataSource(如果需要的话)Scheduler自己ThreadPool为Quartz提供了一组线程用于执翻译 2017-10-22 20:20:34 · 826 阅读 · 0 评论 -
AKKA日志
Akka中的日志不会依赖于特定的日志后端。默认情况在,日志消息会打印到标准输出STDOUT,但是你可以插入SLF4J日志记录器或者你自己的日志记录器。日志是异步执行的,以确保日志具有最小的性能开销。日志通常意味着IO和锁定,如果代码时异步执行的,那么IO和锁定就会减慢代码的操作。如何记录日志创建日志适配器,使用error、warning、info或debug方法,正如下面这个例子说明:翻译 2017-10-18 21:04:50 · 2223 阅读 · 0 评论 -
Duration
Duration在整个Akka库里面都在使用Duration,因此这个概念由特殊的数据类型scala.concurrent.duration.Duration表示。这个数据类型的值代表一个有限的或者无限(Duration.Inf, Duration.MinusInf)的持续时间,或者是Duration.Undefined.有限 vs. 无限由于尝试将有限的持续时间转换为一个具体翻译 2017-10-18 21:10:49 · 5782 阅读 · 0 评论 -
集群单例
集群单例对于某些使用场景,有时候需要强制确保集群中运行的某种类型的actor只有一个。一些例子:· 负责某些集群范围的一致性决定或者跨集群系统的动作协作的单点· 外部系统的单个进入点· 单个master,多个worker· 集中化的命名服务,或者路由逻辑使用单例不应该是首选的设计。它有一些缺点,例如单点瓶颈。单点失败也需要适当的考虑,但是对于一些场景,这个特性关心的是确翻译 2017-10-18 21:20:01 · 1459 阅读 · 0 评论 -
集群客户端
集群客户端不属于集群的actor系统可以通过ClusterClient与集群中的actor进行通信。当然这个客户可以是另一个集群的一部分。它只需要知道作为联络点的一个节点或多个节点的位置。它会建立一个与集群的集群接待员ClusterReceptionist的连接。它会监视与接待员的连接,如果连接故障了,它会建立一条新的连接。当查找一个新的接待员时,它会从之前的建立获取新的联络点,或者周期性的刷翻译 2017-10-18 21:21:58 · 1543 阅读 · 0 评论 -
集群用法
集群用法关于Akka集群概念的介绍请参阅集群规范。为你的工程准备集群Akka cluster是一个独立的jar文件。确保你的工程具有如下的依赖: com.typesafe.akka akka-cluster_2.11 2.4.16简单的集群示例下面的配置使能了集群扩展。它加入集群,actor订阅集群membership事件并记录到日志。applic翻译 2017-10-18 21:25:49 · 3382 阅读 · 0 评论 -
集群中的分布式发布订阅
集群中的分布式发布订阅如何向一个不知道在哪个节点上运行的actor发送消息呢?如何向集群中的所有actor发送感兴趣的主题的消息?这种模式提供了一个中介actor,akka.cluster.pubsub.DistributedPubSubMediator,它管理actor引用的注册,复制所有集群节点或者特定角色节点的对等actor的条目。DistributedPubSubMed翻译 2017-10-18 21:40:53 · 1163 阅读 · 0 评论 -
Quartz配置参考
0 前言Quartz的配置通常是使用properties文件结合StdSchedulerFactory完成的。StdSchedulerFactory读取配置文件,并实例化scheduler。默认情况下,StdSchedulerFactory从当前工作目录加载“quartz.properties”文件。如果加载失败,那么就会尝试加载org/quartz包下的“quartz.propert翻译 2017-10-23 22:26:39 · 18743 阅读 · 4 评论
分享