spring集成guava的event bus】的更多相关文章

Guava的event bus guava, https://github.com/google/guava 是一个非常有名的Java类库,提供了很多在日常开发中常用的集合.函数接口等.此外,guava还提供了一个模块叫做event bus,生产者往event bus上投递消息,event bus负责回调订阅了此类消息的回调函数,实现了消息生产者和消费者之间的解耦和异步处理.以下是一个简单的例子: public class SimpleListener { @Subscribe public v…
缓存的背景 缓存,在我们日常开发中是必不可少的一种解决性能问题的方法.简单的说,cache 就是为了提升系统性能而开辟的一块内存空间.在cpu进行计算的时候, 首先是读取寄存器,然后内存,再是硬盘.由于寄存器容量很小,不太适合存储我们需要快速读取的数据,放在硬盘中话,效率太低,所以大多数人将一些静态资源或者不经常修改的数据放在内存中. 缓存的作用 缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用.在日常开发的很多场合,由于受限于硬盘 IO的性能或者我们自身业务系统的数…
前两个系列研究了Azure IoT Hub和Azure Messaging.最近准备继续研究Azure Event Bus,即Azure的事件中心.首先, Azure Event Hub的官方介绍: 1. Azure 事件中心是超大规模的遥测引入服务,可收集.传输和存储数以百万的事件 2. 从网站.应用和任何数据流引入云端大规模的遥测数据,进行流式处理和分析 可以看出,Azure Event Hub是一个数据的云端接入服务.我们上面的博客中讲到的Azure IoT Hub中的数据,发送到云端之后…
很久没有写博客了,这段时间一直忙于看论文,写论文,简直头大,感觉还是做项目比较舒服,呵呵,闲话不多说,今天学习了下Guava缓存,这跟Redis类似的,但是适用的场景不一样,学习下吧.今天我们主要是springboot集成Guava缓存是如何实现的,且看下面分析: 1.GuavaCache的介绍 在多线程高并发场景中往往是离不开cache的,需要根据不同的应用场景来需要选择不同的cache,比如分布式缓存如redis.memcached,还有本地(进程内)缓存如ehcache.GuavaCach…
1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.HTTP ,CXF 大大简化了WebService并且可以天然地和 Spring 进行无缝集成.CXF是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,核心是org.apache.cxf.Bus(总线),类似于Spring的 ApplicationContext,C…
Spring集成GuavaCache实现本地缓存: 一.SimpleCacheManager集成GuavaCache 1 package com.bwdz.sp.comm.util.test; 2 3 import com.google.common.cache.CacheBuilder; 4 import org.springframework.cache.CacheManager; 5 import org.springframework.cache.annotation.EnableCac…
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memcached Client for Java SpyMemcached XMemcached 他们的对比与性能我这里不讨论,想了解自己搜索查看,我这里使用的是 XMemcached ,据说它的并发效果更好一些. 地址:https://github.com/killme2008/xmemcached 一…
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快递让你签收的形式,变为了你下班后去指定地方输入验证码取出你的快递就行了,再也不用麻烦保安大哥或者寄到公司后再带回家去,这个改变你不感觉大大方便了我们这些剁手党么?并且如果你买的是什么见不得人的东西,如什么情趣.什么娃娃的也并不那么尴尬了. 更神奇的是,去年有段时间我们公司的早餐都是有早餐柜子的,你提…
一.编写客户端和服务器端共用接口类1.登录接口类public interface LoginService {    public User login(String name, String psw);}2.注册接口类public interface RegisterService {     public User createUser(String name, String psw);}二服务器端1.登录接口实现public class LoginServiceImpl implement…
硬盘和内存的作用是什么 硬盘的作用毫无疑问我们大家都清楚,不就是用来存储数据文件的么?如照片.视频.各种文档或等等,肯定也有你喜欢的某位岛国老师的动作片,这个时候无论我们电脑是否关机重启它们永远在那里,不会无辜地消失掉.那内存是用来做什么的呢?我是不能准确的描述出来,所以我抄袭了下面描述内存作用的一段话: 内存就是暂时存储程序以及数据的地方,比如当我们在使用 WPS 处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘. 为什么这么做? 由于硬盘…
转载自:http://www.cnblogs.com/linjiqin/archive/2011/07/05/2098316.html 1.新建一个web project项目,最终工程目录如下: 注意:本文只注重webservice服务器端的开发,因此com.ljq.client和com.ljq.test忽略不计 2.添加所需jar 精简包 3.接口HelloWorld package com.ljq.service; public interface HelloWorld { public S…
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.6.0.RELEASE</version> <…
从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置,以及我们的多队列配置.断线重连机制,当然还有的生产者及消费监听者的具体代码实现. ActiveMQ 是 Apache 出品,最流行的.能力强劲的开源消息总线.ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现,可以很容易内嵌到使用Sprin…
使用spring集成其他技术,最基本的配置都是模板化的,比如配置视图模板引擎.数据库连接池.orm框架.缓存服务.邮件服务.rpc调用等,以spring的xml配置为例,我将这些配置过程整理出来,并不时更新,以备参考! spring 在普通的java工程中引入spring,只需要配置以下依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</a…
一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用spring框架进行开发,现在来说明一下Activiti工作流与spring集成,Activiti工作流与spring集成还算比较简单,可以参考Activiti的API来进行整合. 二.Activiti常用的表 ---------------------------------------------部署对象…
接着上一节,我们通过spring FactoryBean实现redis 3.0集群JedisCluster与spring集成.  http://www.linuxidc.com/Linux/2016-09/135123.htm 引用依赖: <dependency>   <groupId>redis.clients</groupId>   <artifactId>jedis</artifactId>   <version>2.7.3&l…
一般来说,修改框架的源代码是极其有风险的,除非万不得已,否则不要去修改.但是今天却小心翼翼的重构了Mybatis官方提供的与Spring集成的SqlSessionFactoryBean类,一来是抱着试错的心态,二来也的确是有现实需要. 先说明两点: 通常来讲,重构是指不改变功能的情况下优化代码,但本文所说的重构也包括了添加功能 本文使用的主要jar包(版本):spring-*-4.3.3.RELEASE.jar.mybatis-3.4.1.jar.mybatis-spring-1.3.0.jar…
完整的定时任务解决方案Spring集成+定时任务本身管理+DB持久化+集群 maven依赖 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>ope…
概述 采用Event Bus模式(事件总线),可以使观察者模式中的观察者和被观察者实现解耦. 在.Net 中使用观察者模式,可以使用事件(委托)和接口(类).Orchard Event  Bus使用的是接口的形式,这样方便将“观察者”注册到Autofac容器中.EventsModule模块是构成Orchard Event  Bus的一部分.这里先分开分析Orchard Event Bus涉及的类型和知识点,然后在将他们组合起来分析Orchard Event  Bus的机制. 一.Registra…
Maven <dependency> <groupId>org.springframework</groupId> <artifactId>spring-remoting</artifactId> </dependency> 服务端 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spri…
在Spring中集成Hibernate,实际上就是将Hibernate中用到的数据源DataSource. SessionFactory实例(通常使用Hibernate访问数据库时,应用程序会先创建SessionFactory实例)以及事务管理器都交由Spring容器管理.整合时,可以只使用Spring配置文件来完成两个框架初始化任务,不再使用hibernate.cfg.xml配置文件. 定义数据源DataSource <bean id="dataSource" class=&q…
在spring集成的环境下,无论你是ssh集成,还是ssi集成的情况下,发布webservice往往在调用的时候会出错. 特别是,如果你是这个方式: 将webservice打aar包,放到tomcat下,然后启动tomcat,写客户端调用,出错之后你根本没法调试,都不知道是哪里出了问题. 例如: webservice代码:调用了一个service方法,而service类是通过spring注入的.这个时候,往往会有注入失败的情况,而导致异常. @Service("testWebservice&qu…
关于Quartz的基本知识,这里就不再多说,可以参考Quartz的example. 这里主要要说的是,个人在Quartz和Spring集成的过程中,遇到的问题和个人理解. 首先来说说个人的理解: 1.Quartz的运行原理 Quartz的重要组成部分就是,线程池和Trigger.而这些资源是被一个叫StandScheduler的类管理起来的. 所以,每一个Quartz程序咋启动的时候,都需要创建一个Scheduler对象,由它来管理Quartz的资源.它启动的时候,会首先启动Quartz的调度线…
转载请注明源地址:http://www.cnblogs.com/lighten/p/5876773.html 本文主要讲解如何将Activiti和Spring框架集成,再过一段时间将会将一个基础的demo放在github上,地址将会在activiti系列导读文章中给出,如果未给出,则是因为没有构建完成(学习中,更新较慢).按照搭建篇章的顺序,也能搭建起来. 上一章将了数据库的初始化,继续那章建立的maven项目.Activiti与Spring集成需要相应的jar包,下面将补充其他maven依赖:…
以下引用与网络中!!!     一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制.     REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一.在目前主流的三种Web服务交…
struts2单独使用时action由struts2自己负责创建:与spring集成时,action实例由spring负责创建(依赖注入).这导致在两种情况下struts.xml配置文件的略微差异. 假如:LoginAction在包cn.edu.jlu.cs.action中. 1. struts2单独使用时,action的class属性为LoginAction的全路径名,如下: ... <action name="login" class="cn.edu.jlu.cs.…
elasticsearch spring 集成 项目清单   elasticsearch服务下载包括其中插件和分词   http://download.csdn.net/detail/u014201191/8809619   项目源码   资源文件   app.properties   elasticsearch.esNodes=localhost:9300 elasticsearch.cluster.name=heroscluster app.xml   <?xml version="1…
前边单独总结了Struts2,Spring和Ibaits框架了,那么怎么结合使用呢?这次先来看一下Sturts2和Spring的集成合并.其实挺简单的,就是导入各自的jar包以及连接彼此的jar包,分好彼此的工作就可以了. 好看一下Struts2+Spring的集成方案!  Struts2和Spring集成有两种方案,是根据action的创建来划分的!  方案一,Struts2负责流程,Spring负责对象的创建:Action由Struts2框架负责创建:Service由Spring框架负责创建…
在开发过程中,spring集成mongodb的jar包. 如果需要使用排序功能. spring-data-mongodb-1.4.1.RELEASE.jar 的版本为1.4.1,如果使用如下代码: Query query = new Query(criteria); query.with(new Sort(new Sort.Order(Direction.DESC, "create_time"))); return this.mongoTemplate.find(query.skip(…
前言 自3月份到一家快递公司之后,就极少有时间来写博客了,进去的第一个周末就加班.做公司的开放平台,协助一个小伙伴写WebService接口,用的就是CXF.正好这个东西曾经使用过.如今快7月了,曾经写的东西.还木有写完,今天继续.将曾经未写完的东西.写完整. 准备工作 这次的例子,都是在曾经的基础上写的.主要贴出基本的代码.服务端和client都与Spring集成.使用了拦截器.Map数据类型等 服务端 共计写了四个服务.第一个主要说明服务端有多种公布方式,第二和第三实现类是同样的.差别在于第…