摘要:
如果你需要在给定的时间和重复次数或者两次打火之间等待的秒数打火一个作业,那么SimpleTrigger适合你。另一方面,如果你有许多复杂的作业调度,那么或许需要CronTrigger。CronTrigger是基于Calendar-like调度的。当你需要在除星期六和星期天外的每天上午10点半执行作业时,那么应该使用CronTrigger。正如它的名字所暗示的那样,CronTrigger是基于Unix克隆表达式的。Cron表达式被用来配置CronTrigger实例。Cron表达式是一个由7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔,分别表示:1. Se 阅读全文
摘要:
Quartz 是个开源的作业调度框架,为应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。虽然可以通过属性文件(在属性文件中可以指定 JDBC 事务的数据源、全局作业和/或触发器侦听器、插件、线程池,以及更多)配置 Quartz,但它根本没有与应用程序服务器的上下文或引用集成在一起。结果就是作业不能访问 Web 服务器的内部函数;例如,在使用 WebSphere 应用服务器时,由 Qu 阅读全文
摘要:
对于使用RabbitMQ执行Command的情况,有时候需要有返回值信息。此时相当于client发布一个command后,并侦听返回结果的queue,server接收并处理,将处理结果发布到client侦听的queue中。简单实现如下:1. Client端private static void RPCResponse(){ using (IConnection conn = CreateMQConnection()) { using (IModel ch = conn.CreateModel()) { while (true) ... 阅读全文
摘要:
1.采用发布订阅模式消息发布方:public static void SendCommand_Fanout(){ while (true) { JObject joMessage = new JObject(); joMessage.Add("to", "all"); joMessage.Add("from", "zsw"); joMessage.Add("type", "Fanout"); joMessage.Add("message", "h 阅读全文
摘要:
1 安装RabbitMQRabbitMQ是采用 Erlang 实现的工业级的消息队列(MQ)服务器。安装RabbitMQ前需要安装Erlang环境。然后下载安装RabbitMQ。erlang下载地址:http://erlang.org/download.htmlRabbitMQ下载地址:http://www.rabbitmq.com/dotnet.html2 RabbitMQ配置2.1 启动RabbitMQ Server2.2 创建虚拟主机显示虚拟主机:rabbitmqctl list_vhosts2.3 添加用户添加用户:rabbitmqctl add_user [name] [passwo 阅读全文
摘要:
1 什么是RabbitMQRabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。采用 Erlang 实现的工业级的消息队列(MQ)服务器。AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息。AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议,而现在的目标则是为通用消息队列架构提供通用构建工具。因此,面向消息的中间件 (MOM)系统,例如发布/订阅队列,没有作为基本元素实现。反而通过发送简 阅读全文