启动java服务时刷新缓存_Spring java项目对外提供服务和java进程启动时bean,内部缓存加载的先后关系?...
Spring java项目对外提供服务有这么几种,一种是web服务,譬如tomcat,一种是RPC服务,譬如dubbo,thrift。总的来说就是对外开放某个/些端口,接收请求。
Spring工程项目启动时,bean会加载,内部的一些类成员缓存,譬如guava的CacheBuilder.newBuilder().build(){},会初始化。
Spring或者java是如何保证bean加载完,缓存加载完后才对外提供服务的呢?
打个比方,下面是一个@Service注解的类的类成员,初始化时会远程调用来加载缓存,如何保证这个缓存加载完成后,该java进程才对外服务呢?private LoadingCache> mycache = CacheBuilder.newBuilder()
.expireAfterWrite(6, TimeUnit.MINUTES)
.refreshAfterWrite(5, TimeUnit.MINUTES)
.build(new CacheLoader>() {
@Override
public Set load(String key) throws Exception {
Set resultSet = myFeign.callRemote(param);
return resultSet;
}
@Override
public ListenableFuture> reload(final String key, Set oldValue) throws Exception {
return listeningThreadPool.getListeningExecutor().submit(new Callable>() {
@Override
public Set call() throws Exception {
return load(key);
}
});
}
});
~
启动java服务时刷新缓存_Spring java项目对外提供服务和java进程启动时bean,内部缓存加载的先后关系?...相关推荐
- win7上启动es服务报错:main ERROR Could not register mbeans java.security.AccessControlException: access deni
win7上启动es服务报错: 注意到图中红框的文字后,我在环境变量中path变量的值追加了:%SystemRoot%/system32;%SystemRoot%; 然后重新启动服务,就可以了.
- Java学习笔记_16 项目实战之天天酷跑(三):缓冲加载游戏界面
前文,我们完成了开始游戏界面的搭建.本文将实现缓冲加载界面的搭建.并搭建与前面俩界面间的桥梁. 实现输入正确用户名密码后,进入开始游戏界面,点击开始游戏按钮后,进入缓冲加载界面的功能. 界面示意图: ...
- java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...
- java怎么连发子弹_【Java_项目篇1】--JAVA实现坦克大战游戏--子弹连发+爆炸效果(四)...
前期相关文章 [Java_项目篇<1>]–JAVA实现坦克大战游戏–画出坦克(一) [Java_项目篇<1>]–JAVA实现坦克大战游戏–坦克移动+添加敌方坦克(二) [Jav ...
- 导入Java文件还是class文件_java程序运行的时候,是把所有的class文件都加载到内存吗?还是用的什么加载什么?...
这一块还没有深入了解,不敢误人子弟. 我知道的,虚拟机在运行的时候,会预先加载一个常用的class,比如java.lang包下面的. 至于你在程序中自己引用的class文件/jar包之类的,是有一个加 ...
- 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...
- java spring 加载bean,Spring多种加载Bean方式解析
1 定义bean的方式 常见的定义Bean的方式有: 通过xml的方式,例如: ? 通过注解的方式,在Class上使用@Component等注解,例如 ? 通过在@Configuration类下的@B ...
- 混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
看到一个kinect大牛编写的一个水果忍者的体感游戏版本,让我为自己一直以来只用现有的网页游戏来模拟kinect体感游戏控制感到惭愧,没办法,我还是菜鸟.学习一段后自己模仿星际大战这个游戏,自己写了一 ...
- java 后台自动刷新请求_spring oauth2+JWT后端自动刷新access_token
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | Braska 来源 | cnblogs.com/bra ...
最新文章
- 【300】◀▶ IDL - ENVI API
- (2.15)备份与还原--使用作业备份、清理过期备份、清理历史记录、事务日志是否备份过...
- Linux的SOCKET编程 简单演示
- java线程池案例_使用Executors 和 ThreadPoolExecutor实现Java线程池案例
- C#语言: 生成静态页面核心代码
- 计算ex值 c语言编译,C语言常用的数学符号.doc
- 疯狂涨知识!我凭借这份PDF的复习思路,吊打面试官
- win7 开WiFi共享
- c语言我想你,c语言土味情话
- cs_Censorship_CreateUpdateDelete///cs_Censorships_Get
- Java游戏项目之坦克大战
- Centos 7 部署 OpenStack_Rocky版高可用集群3-1
- vue——双层循环嵌套
- mybatis-plus配置逻辑删除
- CISAW证书发证机构是哪里?权威性如何?
- Win10系统内置实时保护总是无故自动开启该如何将其彻底取消关掉
- 如何让纯英文字幕的视屏 实时翻译
- Android 开发 Tip 3 -- that was originally added here
- NBA比赛结果预测 # 编程大事件 # 嵩天 # python #
- 一款近年来备受青睐的web弹层组件——layer(http://layer.layui.com/)
热门文章
- 管理计算机域内置账户改为用户账户,“管理计算机(域)的内置帐户”我给它改了名...
- 用S-函数编写Simulink中的正弦模块
- Ubantu系统配置固定IP地址和Pycharm连接远程服务器
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​
- Java加密与解密的艺术~AES-GCM-NoPadding实现
- linux中dhcp如何配置两个子网,linux – 配置DHCP服务器以在同一VLAN上为多个子网提供服务...
- spring框架做全局异常捕获_@ControllerAdvice注解(全局异常捕获)
- mysql 唯一约束 多字段_mysql多字段唯一约束
- CoreAnimation编程指南(二)渲染架构
- java grpc 客户端处理 go 服务端多返回值_grpc基础实践(二)