当前位置: 首页 > news >正文

品牌推广部的职责网站seo源码

品牌推广部的职责,网站seo源码,做网站就必须要开公司吗,网站招聘栏怎么做背景: 我们经常会使用到比如数据库中的配置表信息,而我们不希望每次都去查询db,那么我们就想定时把db配置表的数据定时加载到flink的本地内存中,那么如何实现呢? 外部定时器定时加载实现 1.在open函数中进行定时器的…

背景:

我们经常会使用到比如数据库中的配置表信息,而我们不希望每次都去查询db,那么我们就想定时把db配置表的数据定时加载到flink的本地内存中,那么如何实现呢?

外部定时器定时加载实现

1.在open函数中进行定时器的创建和定时加载,这个方法对于所有的RichFunction富函数都适用,包括RichMap,RichFilter,RichSink等,代码如下所示

package wikiedits.schedule;import org.apache.flink.api.common.functions.RichFlatMapFunction;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.util.Collector;
import org.apache.flink.util.ExecutorUtils;import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;public class ScheduleRichMapFunction extends RichFlatMapFunction<String, String> {// 定时任务执行器private transient ScheduledExecutorService scheduledExecutorService;// 本地变量private int threshold;@Overridepublic void open(Configuration parameters) throws Exception {// 1.从db查询数据初始化本地变量
//        threshold = DBManager.SELECTSQL.getConfig("threshold");// 2.使用定时任务更新本地内存的配置信息以及更新本地变量threshold的值scheduledExecutorService = Executors.newScheduledThreadPool(10);scheduledExecutorService.scheduleWithFixedDelay(() -> {// 2.1 定时任务更新本地内存配置项// List<ConfigEntity> configList = DBManager.SELECTSQL.getConfigs();
//            for(ConfigEntity entity : configList){ConfigEntityLocalCache.getInstance().update("key", "value");
//            }// 2.2 更新本地变量threshold的值
//            threshold = DBManager.SELECTSQL.getConfig("threshold");}, 0, 100, TimeUnit.SECONDS);}@Overridepublic void flatMap(String value, Collector<String> out) throws Exception {}@Overridepublic void close() throws Exception {ExecutorUtils.gracefulShutdown(100, TimeUnit.SECONDS, scheduledExecutorService);}}//本地缓存实现
package wikiedits.schedule;import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;/*** 保存Config信息的本地缓存 ---定时同步DB配置表的数据*/
public class ConfigEntityLocalCache {private static volatile ConfigEntityLocalCache instance = new ConfigEntityLocalCache();/*** 获取本地缓存实例*/public static ConfigEntityLocalCache getInstance() {return instance;}/** 缓存内存配置项 */private static Cache<String, String> configCache =CacheBuilder.newBuilder().initialCapacity(50).maximumSize(500).build();/*** 更新本地缓存数据*/public boolean update(String key, String value){configCache.put(key, value);return true;}/*** 更新本地缓存数据*/public  String getByKey(String key){return configCache.getIfPresent(key);}}

2.在静态类中通过static语句块创建定时器并定时加载,代码如下

package wikiedits.schedule;import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;/*** 静态类定时加载DB配置表到本地内存中*/
public class StaticLoadUtil {// 定时任务执行器private static transient ScheduledExecutorService scheduledExecutorService;public static final Cache<String, String> configCache =CacheBuilder.newBuilder().initialCapacity(50).maximumSize(500).build();// 通过定时执行器定时同步本地缓存和DB配置表static {scheduledExecutorService = Executors.newScheduledThreadPool(10);scheduledExecutorService.scheduleWithFixedDelay(() -> {// 2.1 定时任务更新本地内存配置项// List<ConfigEntity> configList = DBManager.SELECTSQL.getConfigs();// for(ConfigEntity entity : configList){configCache.put("key", "value");// }// 2.2 更新本地变量threshold的值// threshold = DBManager.SELECTSQL.getConfig("threshold");}, 0, 100, TimeUnit.SECONDS);}/*** 获取本地缓存*/public static Cache<String, String> getConfigCache() {return configCache;}}

总结:

1.外部定时器可以通过在富函数的open中进行初始化并开始定时执行

2.外部定时器也可以通过创建一个单独的静态类,然后在static模块中进行初始化并开始定时执行

http://www.mmbaike.com/news/30699.html

相关文章:

  • 2017做网站怎么赚钱公司网页制作
  • 电脑网站自适应怎么做南宁seo服务公司
  • 青岛市住房和城乡建设局网站查询公司官网开发制作
  • 做h5的网站中国万网官网
  • 网站建设中 html5大学生网页设计作业
  • 济南网站建设选搜点网络VIP病毒式营销
  • 建设网站的程序湖南关键词优化品牌价格
  • 自己做公众号和小说网站推广企业网站建站模板
  • 大城 网站建设站长工具查询seo
  • 网站建设海外推广 香港sem是什么意思中文
  • 网上做任务的网站有哪些网络营销常用的工具和方法
  • 东营新闻综合频道在线直播宁波seo网络推广产品服务
  • 做网站建设的公司营销软文怎么写
  • 宁波建设网证书查询平台优化培训内容
  • 丘受网站谁做的网球吧aso搜索优化
  • 为什么做这个网站项目西点培训前十名学校
  • 手机商城网站系统湖南靠谱的关键词优化哪家好
  • 手机网站打开微信登录优化营商环境发言材料
  • 郑州专业网站建设搭建公司微营销推广软件
  • 福州婚庆网站建设哪家好免费广告推广平台
  • 新手如何做网站怎么样推广自己的网站
  • wordpress指定内容加密网站优化人员通常会将目标关键词放在网站首页中的
  • 福州做公司网站百度权重查询网址
  • 网站制作公司网址排名第一的手机清理软件
  • 论坛网站有哪些百度小说风云榜2022
  • wordpress基础优化济南优化哪家好
  • 山西网站建设公司排名免费网站怎么注册
  • 旅游网站建设的经济评价怎么注册一个自己的网站
  • 域名邮箱和域名网站公司官网制作多少钱
  • 佛山新网站建设平台seo关键词排名优化销售