`

Reactor、Disruptor

 
阅读更多
Reactor
主要用于帮助开发者创建基于JVM的异步应用程序。该框架提供了Java、Groovy等JVM语言的抽象,使得开发者构建事件/数据驱动的应用程序更加容易。

Reactor开发人员称,在适度的硬件配置环境中,通过非阻塞的Dispatcher,该框架每秒可以处理超过1500万事件。此外,Reactor还提供了一系列其他的调度程序供开发者选择,范围从线程池风格的长线任务执行,到非阻塞大批量的任务调度等。

Reactor除了受到同名的Reactor设计模式的影响外,还借鉴了其他事件驱动设计模式以及一些已开发多年的非常棒的JVM解决方案。Reactor的目标是,将这些想法和设计模式浓缩到一个简单、可重用的基础框架中,以使事件驱动编程更容易。

以下转自 http://www.hack6.com/html/bc/java/20140401/43395.html
最近工作中用到一个非常好用的框架spring reactor,可以帮助我们新开一个异步的线程来处理一些比如记录日志的功能,这样就能节约后台相应的时间,之前在网上也没有找到完全能用的列子,这里记录一下,方便以后用,配置也非常的简单:

1:引入jar包,这里使用的是maven,只需要引用一个jar包就行了

<dependency>
    <groupid>org.projectreactor</groupid>
    reactor-spring</artifactid>
    <version>1.0.0.RELEASE</version>
</dependency>


2:写一个reactor的配置的bean

@Configuration
@EnableReactor
public class ReactorConfig {

    @Bean(name = "rootReactor")
    public Reactor rootReactor(Environment env) {
        return Reactors.reactor().env(env).get();
    }

    @Bean(name = "reportReactor")
    public Reactor reportReactor(Environment env) {
        return Reactors.reactor().env(env).get();
    }

}


3:事件的处理类,一般是以Hander结尾,方便区分:

@Component
public class IndexHandler {

    @Autowired
    @Qualifier("rootReactor")
    private Reactor reactor;

    @Selector(value = "hello", reactor = "@rootReactor")
    public void handleTestTopic(Event<string> evt) throws Exception {
        System.out.println("************");
    }
}</string>


4:最后就是在controller或者service里面通知新开线程了:

@Controller
public class IndexController {

    @Autowired
    @Qualifier("rootReactor")
    private Reactor r;

    @RequestMapping("chen")
    @Transactional
    public void chen() {
        r.notify("hello", Event.wrap("你好"));
    }
}


大功告成,非常的简单

分享到:
评论

相关推荐

    .NET Reactor 4.9 破解版

    .NET Reactor是一款功能强大的代码保护以及许可授权管理系统软件,主要用于开发人员保护其.NET软件程序,.NET Reactor支持所有支持.NET编译的程序开发语言。 .NET Reactor 4.9是目前最新版本,由大神yoza破解,亲测...

    reactor-core-3.4.14-API文档-中文版.zip

    赠送jar包:reactor-core-3.4.14.jar; 赠送原API文档:reactor-core-3.4.14-javadoc.jar; 赠送源代码:reactor-core-3.4.14-sources.jar; 赠送Maven依赖信息文件:reactor-core-3.4.14.pom; 包含翻译后的API文档...

    reactor-core-3.4.10-API文档-中文版.zip

    赠送jar包:reactor-core-3.4.10.jar; 赠送原API文档:reactor-core-3.4.10-javadoc.jar; 赠送源代码:reactor-core-3.4.10-sources.jar; 赠送Maven依赖信息文件:reactor-core-3.4.10.pom; 包含翻译后的API文档...

    dotNET Reactor 使用步骤图解

    dotNET Reactor 使用步骤图解 dotNET Reactor 是一个功能强大的.NET 保护工具,它可以帮助开发者保护他们的.NET 程序集免受反编译和逆向工程的攻击。下面是 dotNET Reactor 的使用步骤图解: 选择文件 dotNET ...

    reactor-extra-3.4.5-API文档-中文版.zip

    赠送jar包:reactor-extra-3.4.5.jar; 赠送原API文档:reactor-extra-3.4.5-javadoc.jar; 赠送源代码:reactor-extra-3.4.5-sources.jar; 赠送Maven依赖信息文件:reactor-extra-3.4.5.pom; 包含翻译后的API文档...

    reactor-netty-http-1.0.11-API文档-中文版.zip

    赠送jar包:reactor-netty-http-1.0.11.jar; 赠送原API文档:reactor-netty-http-1.0.11-javadoc.jar; 赠送源代码:reactor-netty-http-1.0.11-sources.jar; 赠送Maven依赖信息文件:reactor-netty-...

    Reactor 3中文帮助文档

    在React框架中,Reactor是其核心库之一,专门用于构建响应式应用程序。本篇文章将详细解读Reactor 3的中文帮助文档,帮助用户理解非阻塞响应式框架的使用方法及其原理,尤其是Spring WebFlux底层实现的相关知识。 ...

    reactor-netty-core-1.0.15-API文档-中文版.zip

    赠送jar包:reactor-netty-core-1.0.15.jar; 赠送原API文档:reactor-netty-core-1.0.15-javadoc.jar; 赠送源代码:reactor-netty-core-1.0.15-sources.jar; 赠送Maven依赖信息文件:reactor-netty-core-1.0.15....

    reactor-extra-3.4.6-API文档-中文版.zip

    赠送jar包:reactor-extra-3.4.6.jar; 赠送原API文档:reactor-extra-3.4.6-javadoc.jar; 赠送源代码:reactor-extra-3.4.6-sources.jar; 赠送Maven依赖信息文件:reactor-extra-3.4.6.pom; 包含翻译后的API文档...

    NET+Reactor_1279带破解文件

    NET+Reactor_1279带破解文件NET+Reactor_1279带破解文件NET+Reactor_1279带破解文件NET+Reactor_1279带破解文件

    NET_Reactor_v5.9.8.0.zip

    .NET Reactor是一款强大的.NET应用程序保护和打包工具,主要用于防止反编译、代码盗用和逆向工程。这个压缩包文件"NET_Reactor_v5.9.8.0.zip"包含了该工具的版本5.9.8.0。下面将详细介绍.NET Reactor的主要功能和...

    Reactor教程Mono和Flux例子

    Reactor是Spring框架的一部分,它是一个响应式编程库,用于构建非阻塞、高并发、事件驱动的应用程序。在Java生态系统中,Reactor是实现 Reactive Streams 规范的一个关键工具,它提供了Mono和Flux两种核心类型来处理...

    reactor-core-3.1.6.RELEASE-API文档-中文版.zip

    赠送jar包:reactor-core-3.1.6.RELEASE.jar; 赠送原API文档:reactor-core-3.1.6.RELEASE-javadoc.jar; 赠送源代码:reactor-core-3.1.6.RELEASE-sources.jar; 赠送Maven依赖信息文件:reactor-core-3.1.6....

    NET Reactor 5.0破解版

    .NET Reactor是一款功能强大的代码保护以及许可授权管理系统软件,主要用于开发人员保护其.NET软件程序,.NET Reactor支持所有支持.NET编译的程序开发语言。控件中国网是.NET Reactor在中国正式的授权销售商,提供...

    disrupted-reactor:Java异步。 IO(基于选择器)+ LMAX Disruptor

    IO(基于选择器)+ LMAX Disruptor 需要Java 1.8。 实施的想法: select()的专用线程-React堆模式,通过特殊的WaitStrategy实现为一个中断实例。 N个线程(即处理器)处理IO事件。 一个NIO通道的处理始终在一个...

    java基于NIO实现Reactor模型源码.zip

    java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现...

    dotnet_reactor_6_5_0_0.rar

    .NET Reactor 6.5 是一款强大的.NET代码保护和打包工具,主要面向.NET开发者,用于保护他们的.NET应用程序免受逆向工程、调试和非法复制。它通过混淆代码、加密资源和阻止调试,确保你的知识产权安全无虞。在.NET...

    reactor-netty-http-1.0.15-API文档-中文版.zip

    赠送jar包:reactor-netty-http-1.0.15.jar; 赠送原API文档:reactor-netty-http-1.0.15-javadoc.jar; 赠送源代码:reactor-netty-http-1.0.15-sources.jar; 赠送Maven依赖信息文件:reactor-netty-...

Global site tag (gtag.js) - Google Analytics