@EnableCaching
@Configuration
public class MFGCachingConfiguration {

@Autowired
private MFGSettings mfgSettings;

@Bean(name="MFGKeyGenerator")
public KeyGenerator MFGKeyGenerator(){
SimpleKeyGenerator defaultKeyGen = new SimpleKeyGenerator();
KeyGenerator mfgKeyGen = new KeyGenerator(){

@Override
public Object generate(Object target, Method method, Object... params) {
if(method != null){
return method.getName() + defaultKeyGen.generate(target, method, params);
} else {
return defaultKeyGen.generate(target, method, params);
}
}

};
return mfgKeyGen;
}

@Bean
public CacheManager getEhCacheManager() {
CacheConfiguration ehCacheConf = new CacheConfiguration();
ehCacheConf.setName("dashboard_cache");
ehCacheConf.setMaxEntriesLocalDisk(1000l);
ehCacheConf.setMaxEntriesLocalHeap(5000l);
ehCacheConf.setEternal(false);
ehCacheConf.setDiskSpoolBufferSizeMB(50);
int dashboardCacheCleanUpSchedulerFrequency = Integer.parseInt(mfgSettings.getDashboardCacheCleanUpSchedulerFrequency());
ehCacheConf.setTimeToIdleSeconds(dashboardCacheCleanUpSchedulerFrequency);
ehCacheConf.setTimeToLiveSeconds(dashboardCacheCleanUpSchedulerFrequency);
ehCacheConf.setMemoryStoreEvictionPolicy("LFU");
ehCacheConf.setTransactionalMode("OFF");
ehCacheConf.addPersistence(new PersistenceConfiguration().strategy(Strategy.LOCALTEMPSWAP));

net.sf.ehcache.config.Configuration configration = new net.sf.ehcache.config.Configuration();
configration.setName("dashboard_cache");
configration.addCache(ehCacheConf);

CacheManager cacheManager = new EhCacheCacheManager(new net.sf.ehcache.CacheManager(configration));
return cacheManager;
}
}

工作中遇到的问题--缓存配置(使用@Configuration装配 @Bean的方式注入)的更多相关文章

  1. Spring基础篇——通过Java注解和XML配置装配bean

    自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应用程序维护,而是引用了第三方的类库,这个时候自动装配便无法实现,Spring对此也提供了相应的解决方案 ...

  2. spring 配置 Java配置类装配bean

    https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...

  3. Spring基础篇——通过Java注解和XML配置装配bean(转载)

      作者:陈本布衣 出处:http://www.cnblogs.com/chenbenbuyi 本文版权归作者和博客园共有,欢迎转载分享,但必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留 ...

  4. Spring_总结_03_装配Bean(二)_Java配置

    一.前言 本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配 上一节提到,装配Bean有三种方式,首先推荐自动装配.当自动装配行不通时,就需要采用显示配置的方式了. 显示配置有两种 ...

  5. @Autowired注解和启动自动扫描的三种方式(spring bean配置自动扫描功能的三种方式)

    前言: @Autowired注解代码定义 @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, Elemen ...

  6. 二、spring中装配bean

    在spring框架中提供了三种 bean的装配方式,当然这三种装配方式是可以灵活的进行组合使用的,项目中使用最多的是自动装配bean的方式,也就是通过注解的方式进行bean的装配,一下是四种装配方式的 ...

  7. 工作中linux定时任务的设置及相关配置

    工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...

  8. 工作中简单又实用的vim配置

    set number syntax enable set tabstop=4 set shiftwidth=4 set noexpandtab set cindent set autoindent s ...

  9. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

随机推荐

  1. 操作无效:已关闭 Lob。 ERRORCODE=-4470, SQLSTATE=null

    解决方式: 1.jdbc URL链接为:jdbc.url=jdbc:db2://(ip):50000/(数据库名称):driverType=4;fullyMaterializeLobData=true ...

  2. 火狐和IE的window.event对象详解(转载)

    FF的FIREBUG,不仅能测试JS还能检查CSS错误,是一般常用的. 但它主要检查FF方面的错误,对IE就无能为力了. 要测试IE,就用ieTester,它可以测试IE几乎所有版本(1.0恐怕也用不 ...

  3. 到目前为止,Linux下最完整的Samba服务器配置攻略 (转)

    http://blog.chinaunix.net/uid-23069658-id-3142052.html 安装平台为UBUNTU 14.04,直接软件中心安装samba, service smb ...

  4. OpenCV之响应鼠标(一):利用鼠标获取坐标

    好久没有更新博客了,今天临时起意,将以前写的示例代码整理了一下,暂且发布一篇,希望对大家有用! 代码一:点击时显示坐标,鼠标移动时不显示. #include <cv.h> #include ...

  5. 在MongoDB中实现聚合函数 (转)

    随着组织产生的数据爆炸性增长,从GB到TB,从TB到PB,传统的数据库已经无法通过垂直扩展来管理如此之大数据.传统方法存储和处理数据的成本将会随着数据量增长而显著增加.这使得很多组织都在寻找一种经济的 ...

  6. AS的快捷键

    Ctrl+Shift+Alt+N 查找类中的方法或变量 Ctrl+P 方法参数提示 Alt+Insert 生成代码(如get,set方法,构造函数等) 删除导入多余的包Ctrl+Alt+o 提取局部变 ...

  7. 用php 查询显示新闻消息

    创建数据库: create database mydb ; use mydb ; create table News ( ids int identity primary key, title var ...

  8. Tarjan算法求有向图的强连通分量

    算法描述 tarjan算法思想:从一个点开始,进行深度优先遍历,同时记录到达该点的时间(dfn记录到达i点的时间),和该点能直接或间接到达的点中的最早的时间(low[i]记录这个值,其中low的初始值 ...

  9. hdoj-2023

    #include "stdio.h"int main(){ int a[55][6]; double pingjun[55],mk[6]; int n,m,i,j,sum=0,co ...

  10. 【模块应用】MFRC522开发笔记

    一.了解基本概念 ①ISO-14443A协议:( 国际标准化组织:International Organization for Standardization)RFID协议的一种;   PICC:临近 ...