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,内部缓存加载的先后关系?...相关推荐

  1. win7上启动es服务报错:main ERROR Could not register mbeans java.security.AccessControlException: access deni

    win7上启动es服务报错: 注意到图中红框的文字后,我在环境变量中path变量的值追加了:%SystemRoot%/system32;%SystemRoot%; 然后重新启动服务,就可以了.

  2. Java学习笔记_16 项目实战之天天酷跑(三):缓冲加载游戏界面

    前文,我们完成了开始游戏界面的搭建.本文将实现缓冲加载界面的搭建.并搭建与前面俩界面间的桥梁. 实现输入正确用户名密码后,进入开始游戏界面,点击开始游戏按钮后,进入缓冲加载界面的功能. 界面示意图: ...

  3. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序

    1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...

  4. java怎么连发子弹_【Java_项目篇1】--JAVA实现坦克大战游戏--子弹连发+爆炸效果(四)...

    前期相关文章 [Java_项目篇<1>]–JAVA实现坦克大战游戏–画出坦克(一) [Java_项目篇<1>]–JAVA实现坦克大战游戏–坦克移动+添加敌方坦克(二) [Jav ...

  5. 导入Java文件还是class文件_java程序运行的时候,是把所有的class文件都加载到内存吗?还是用的什么加载什么?...

    这一块还没有深入了解,不敢误人子弟. 我知道的,虚拟机在运行的时候,会预先加载一个常用的class,比如java.lang包下面的. 至于你在程序中自己引用的class文件/jar包之类的,是有一个加 ...

  6. 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解

    随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...

  7. java spring 加载bean,Spring多种加载Bean方式解析

    1 定义bean的方式 常见的定义Bean的方式有: 通过xml的方式,例如: ? 通过注解的方式,在Class上使用@Component等注解,例如 ? 通过在@Configuration类下的@B ...

  8. 混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

    看到一个kinect大牛编写的一个水果忍者的体感游戏版本,让我为自己一直以来只用现有的网页游戏来模拟kinect体感游戏控制感到惭愧,没办法,我还是菜鸟.学习一段后自己模仿星际大战这个游戏,自己写了一 ...

  9. java 后台自动刷新请求_spring oauth2+JWT后端自动刷新access_token

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 |  Braska 来源 | cnblogs.com/bra ...

最新文章

  1. 【300】◀▶ IDL - ENVI API
  2. (2.15)备份与还原--使用作业备份、清理过期备份、清理历史记录、事务日志是否备份过...
  3. Linux的SOCKET编程 简单演示
  4. java线程池案例_使用Executors 和 ThreadPoolExecutor实现Java线程池案例
  5. C#语言: 生成静态页面核心代码
  6. 计算ex值 c语言编译,C语言常用的数学符号.doc
  7. 疯狂涨知识!我凭借这份PDF的复习思路,吊打面试官
  8. win7 开WiFi共享
  9. c语言我想你,c语言土味情话
  10. cs_Censorship_CreateUpdateDelete///cs_Censorships_Get
  11. Java游戏项目之坦克大战
  12. Centos 7 部署 OpenStack_Rocky版高可用集群3-1
  13. vue——双层循环嵌套
  14. mybatis-plus配置逻辑删除
  15. CISAW证书发证机构是哪里?权威性如何?
  16. Win10系统内置实时保护总是无故自动开启该如何将其彻底取消关掉
  17. 如何让纯英文字幕的视屏 实时翻译
  18. Android 开发 Tip 3 -- that was originally added here
  19. NBA比赛结果预测 # 编程大事件 # 嵩天 # python #
  20. 一款近年来备受青睐的web弹层组件——layer(http://layer.layui.com/)

热门文章

  1. 管理计算机域内置账户改为用户账户,“管理计算机(域)的内置帐户”我给它改了名...
  2. 用S-函数编写Simulink中的正弦模块
  3. Ubantu系统配置固定IP地址和Pycharm连接远程服务器
  4. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​
  5. Java加密与解密的艺术~AES-GCM-NoPadding实现
  6. linux中dhcp如何配置两个子网,linux – 配置DHCP服务器以在同一VLAN上为多个子网提供服务...
  7. spring框架做全局异常捕获_@ControllerAdvice注解(全局异常捕获)
  8. mysql 唯一约束 多字段_mysql多字段唯一约束
  9. CoreAnimation编程指南(二)渲染架构
  10. java grpc 客户端处理 go 服务端多返回值_grpc基础实践(二)