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

wordpress添加新浪微博/seo怎么提升关键词的排名

wordpress添加新浪微博,seo怎么提升关键词的排名,网站建设云南才力,烟台网站建设的方法有哪些版本 spring-boot:3.3.4 源码解析 依赖包 spring-boot-starter-quartz 的作用为引入相关依赖: spring-boot-starterspring-context-supportspring-txquartz 自动化配置类 依赖:spring-boot-autoconfigure:3.2.4 文件:org.springframewo…

版本

spring-boot:3.3.4

源码解析

依赖包 spring-boot-starter-quartz 的作用为引入相关依赖:

  1. spring-boot-starter
  2. spring-context-support
  3. spring-tx
  4. quartz

自动化配置类

依赖:spring-boot-autoconfigure:3.2.4
文件:org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration

// 因为需要使用datasource,在数据源配置之后执行配置
@AutoConfiguration(after = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,  LiquibaseAutoConfiguration.class, FlywayAutoConfiguration.class })  
// 自动配置条件:
// 1. Scheduler.class - quartz 调度器
// 2. SchedulerFactoryBean.class - spring-context-support SPRING上下文工具
// 3. PlatformTransactionManager.class - spring-tx SPRING事务
@ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class }) 
// 启用spring.quartz配置项
@EnableConfigurationProperties(QuartzProperties.class)  
public class QuartzAutoConfiguration {// 注册quartz调度器工厂@Bean  @ConditionalOnMissingBean  public SchedulerFactoryBean quartzScheduler(QuartzProperties properties,  ObjectProvider<SchedulerFactoryBeanCustomizer> customizers,ObjectProvider<JobDetail> jobDetails,  Map<String, Calendar> calendars,ObjectProvider<Trigger> triggers,ApplicationContext applicationContext) {  	    SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();  // job工厂,此工厂可以构造job bean 并实现依赖注入,和 jobData 注入SpringBeanJobFactory jobFactory = new SpringBeanJobFactory();  // 设置应用上下文,SchedulerFactoryBean需要使用 applicationContext.getAutowireCapableBeanFactory().createBean实现job bean构造和依赖注入jobFactory.setApplicationContext(applicationContext);  schedulerFactoryBean.setJobFactory(jobFactory);  // 配置名称if (properties.getSchedulerName() != null) {  schedulerFactoryBean.setSchedulerName(properties.getSchedulerName());  }  // 配置是否自动启动schedulerFactoryBean.setAutoStartup(properties.isAutoStartup());  // 配置启动延迟时间schedulerFactoryBean.setStartupDelay((int) properties.getStartupDelay().getSeconds());  // 配置关闭调度器时是否等待JOB执行完毕schedulerFactoryBean.setWaitForJobsToCompleteOnShutdown(properties.isWaitForJobsToCompleteOnShutdown());  // 配置是否覆盖已存在的JOB,标识为true后,添加相同key的作业/触发器默认将直接覆盖原有的作业/触发器。schedulerFactoryBean.setOverwriteExistingJobs(properties.isOverwriteExistingJobs()); // 配置其他属性 if (!properties.getProperties().isEmpty()) {  schedulerFactoryBean.setQuartzProperties(asProperties(properties.getProperties()));  }// 注册jobschedulerFactoryBean.setJobDetails(jobDetails.orderedStream().toArray(JobDetail[]::new));  // 注册日历schedulerFactoryBean.setCalendars(calendars);  // 注册触发器schedulerFactoryBean.setTriggers(triggers.orderedStream().toArray(Trigger[]::new));  // 注册客制化器customizers.orderedStream().forEach((customizer) -> customizer.customize(schedulerFactoryBean));  return schedulerFactoryBean;  }...// 配置持久化 JDBC存储@Configuration(proxyBeanMethods = false)  // 条件1:存在单一的数据源bean@ConditionalOnSingleCandidate(DataSource.class)  // 条件2:配置属性 spring.quartz.job-store-type=jdbc@ConditionalOnProperty(prefix = "spring.quartz", name = "job-store-type", havingValue = "jdbc")  // 导入数据库初始化配置器@Import(DatabaseInitializationDependencyConfigurer.class)  protected static class JdbcStoreTypeConfiguration {  // 配置数据源的调度器工厂客制化器@Bean  @Order(0)  public SchedulerFactoryBeanCustomizer dataSourceCustomizer(QuartzProperties properties,DataSource dataSource,  @QuartzDataSource ObjectProvider<DataSource> quartzDataSource,  ObjectProvider<PlatformTransactionManager> transactionManager,  @QuartzTransactionManager ObjectProvider<PlatformTransactionManager> quartzTransactionManager) {  return (schedulerFactoryBean) -> {  // 配置数据源DataSource dataSourceToUse = getDataSource(dataSource, quartzDataSource);  schedulerFactoryBean.setDataSource(dataSourceToUse);  // 配置事务管理器PlatformTransactionManager txManager = getTransactionManager(transactionManager,  quartzTransactionManager);  if (txManager != null) {  schedulerFactoryBean.setTransactionManager(txManager);  }  };  }  // 获取数据源,优先使用 QuartzDataSource 注解的数据源,否则使用应用的主数据源(Primary)private DataSource getDataSource(DataSource dataSource, ObjectProvider<DataSource> quartzDataSource) {  DataSource dataSourceIfAvailable = quartzDataSource.getIfAvailable();  return (dataSourceIfAvailable != null) ? dataSourceIfAvailable : dataSource;  }  // 获取事务管理器,优先使用 QuartzTransactionManager 注解的事务管理器,否则使用应用的事务管理器private PlatformTransactionManager getTransactionManager(  ObjectProvider<PlatformTransactionManager> transactionManager,  ObjectProvider<PlatformTransactionManager> quartzTransactionManager) {  PlatformTransactionManager transactionManagerIfAvailable = quartzTransactionManager.getIfAvailable();  return (transactionManagerIfAvailable != null) ? transactionManagerIfAvailable  : transactionManager.getIfUnique();  }  // 注册数据库表初始化器,可通过配置属性 spring.quartz.jdbc.initialize-schema 指定是否初始化数据库// 1. 默认值 EMBEDDED ,标识只初始化内置数据库// 2. 如果需要初始化外部数据库的数据源,可配置为ALWAYS,则总是会执行初始化脚本// 3. 初始化完成后,可配置为NEVER,则不会在每次启动时初始化数据// 可通过 配置属性 spring.quartz.jdbc.schema 指定初始化脚本位置 ,默认使用位于 classpath:org/quartz/impl/jdbcjobstore/tables_@@platform@@.sql 的脚本// schema中的占位符@@platform@@ 会被替换为实际数据源对应的数据库平台类型@Bean  // 条件1:没有注册其他初始化器@ConditionalOnMissingBean(QuartzDataSourceScriptDatabaseInitializer.class)  // 条件2:检查是否配置属性 spring.quartz.jdbc.initialize-schema@Conditional(OnQuartzDatasourceInitializationCondition.class)  public QuartzDataSourceScriptDatabaseInitializer quartzDataSourceScriptDatabaseInitializer(  DataSource dataSource, @QuartzDataSource ObjectProvider<DataSource> quartzDataSource,  QuartzProperties properties) {  DataSource dataSourceToUse = getDataSource(dataSource, quartzDataSource);  return new QuartzDataSourceScriptDatabaseInitializer(dataSourceToUse, properties);  }  static class OnQuartzDatasourceInitializationCondition extends OnDatabaseInitializationCondition {  OnQuartzDatasourceInitializationCondition() {  super("Quartz", "spring.quartz.jdbc.initialize-schema");  }  }  }
}

相关文章:

spring-boot-starter-quartz 自动化配置解析

版本 spring-boot:3.3.4 源码解析 依赖包 spring-boot-starter-quartz 的作用为引入相关依赖&#xff1a; spring-boot-starterspring-context-supportspring-txquartz 自动化配置类 依赖&#xff1a;spring-boot-autoconfigure:3.2.4 文件&#xff1a;org.springframewo…...

DM8 数据库查询版本号以及授权到期时间SQL

1.查看操作系统信息 [root@localhost ~]# cat /etc/.kyinfo [dist] name=Kylin milestone=Server-V10-GFB-Release-ZF9_01-2204-Build03 arch=arm64 beta=False time=2023-01-09 11:04:36 dist_id=Kylin-Server-V10-GFB-Release-ZF9_01-2204-Build03-arm64-2023-01-09 11:04:…...

算法【Java】—— 双指针算法

双指针算法 常见的双指针有对撞指针&#xff0c;快慢指针以及前后指针&#xff08;这个前后指针是指两个指针都是从从一个方向出发&#xff0c;去往另一个方法&#xff0c;也可以认为是小学学习过的两车并行&#xff0c;我也会叫做同向指针&#xff09;&#xff0c;在前后指针…...

【Python快速入门和实践013】Python常用脚本-目标检测之按照类别数量划分数据集

一、功能介绍 这段代码实现了从给定的图像和标签文件夹中分割数据集为训练集、验证集和测试集的功能。以下是代码功能的总结&#xff1a; 创建目标文件夹结构&#xff1a; 在指定的根目录&#xff08;dataset_root&#xff09;下创建images和labels两个文件夹。在这两个文件夹下…...

C++ Primer 总结索引 | 第十八章:用于大型程序的工具

1、大规模应用程序的特殊要求包括&#xff1a; 在独立开发的子系统之间 协同处理错误的能力使用各种库&#xff08;可能包含独立开发的库&#xff09;进行 协同开发的能力对比较复杂的应用 概念建模的能力 对应 异常处理、命名空间和多重继承 1、异常处理 1、异常处理机制 …...

Python实现GAN(生成对抗网络)图像修复算法

目录 1. GAN简介与图像修复2. PyTorch和CUDA简介3. 数据加载与预处理3.1 安装依赖3.2 数据加载3.3 数据遮挡4. 构建GAN图像修复模型4.1 生成器4.2 判别器5. 训练GAN模型5.1 损失函数与优化器5.2 训练循环6. 测7. 实现GUI进行图像修复8. 总结与扩展扩展方向:1. GAN简介与图像修…...

java语言中的websocket

你好&#xff01;我是TensGPT&#xff0c;一个由TensGPT团队开发的AI助手。我可以帮助你了解和使用Java语言中的WebSocket。如果你有任何问题或需要示例代码&#xff0c;请告诉我。 ### 什么是WebSocket&#xff1f; WebSocket是一种在单个TCP连接上进行全双工通信的协议。它被…...

ASP.NET在线交流论坛管理系统

ASP.NET在线交流论坛管理系统 说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于asp.net架构和sql server数据库 用户功能有个人信息管理 帖了信息管理 意见反馈信息管理 点赞管理 收藏管理 后台管理员可以进行用户管理 …...

【Kubernetes】身份认证与鉴权

一&#xff0c;认证 所有 Kubernetes 集群有两类用户&#xff1a;由Kubernetes管理的ServiceAccounts(服务账户)和(Users Accounts)普通账户。 两种账户的区别&#xff1a; 普通帐户是针对(人)用户的&#xff0c;服务账户针对Pod进程普通帐户是全局性。在集群所有namespaces…...

数据集与数据库:有什么区别?

数据集和数据库是我们在处理数据时经常听到的两个常用词。虽然它们听起来很相似&#xff0c;但它们具有不同的特征并用于不同的用途。本文深入探讨数据集和数据库之间的主要区别&#xff0c;探索了它们的结构、数据类型和各种其他功能&#xff0c;以帮助您做出明智的决定&#…...

BurpSuite

如果只能用一个Web渗透工具&#xff0c;我选BurpSuite。 Web应用程序&#xff08;Web Application&#xff09; 不同于传统的静态网站所有程序的特点是接收、处理用户输入并返回结果服务器端是个程序&#xff0c;需要程序代码实现业务功能&#xff08;java、php、asp.nse&…...

NetApp数据恢复—NetApp存储误删除文件如何恢复数据?

NetApp数据恢复环境&故障&#xff1a; 某公司一台NetApp存储&#xff0c;该存储中有24块磁盘。 工作人员误删除了NetApp存储中一个文件夹&#xff0c;文件夹中有非常重要的数据。 数据恢复工程师在现场对该存储进行了初检。虽然这个文件夹被删除很长时间&#xff0c;但是根…...

基于springboot的医药管理系统

TOC springboot194基于springboot的医药管理系统 绪论 1.1 选题背景 当人们发现随着生产规模的不断扩大&#xff0c;人为计算方面才是一个巨大的短板&#xff0c;所以发明了各种计算设备&#xff0c;从结绳记事&#xff0c;到算筹&#xff0c;以及算盘&#xff0c;到如今的…...

Android中的EventBus的用法

1. EventBus简介 EventBus是一个优化了的事件发布/订阅模式实现的库&#xff0c;常用于Android程序组件间的通信。它可以简化不同组件之间的通信工作&#xff0c;避免复杂和耦合的依赖关系。EventBus通过事件驱动来降低代码耦合度&#xff0c;提高开发效率和代码清晰性。 2. …...

梧桐数据库(WuTongDB):数据库在数据处理中是如何利用缓存机制的

数据库在数据处理中利用缓存机制主要是为了提高数据访问速度和系统性能。缓存机制通过将频繁访问的数据存储在内存中&#xff0c;减少了对磁盘I/O操作的需求&#xff0c;从而提高了数据查询的效率。以下是数据库利用缓存机制的一些主要方式&#xff1a; 1. 查询缓存&#xff0…...

C语言-数据类型

在x64编译器平台下&#xff0c;C语言数据类型的取值范围主要取决于数据类型的大小&#xff08;即字节数&#xff09;以及它们是有符号的还是无符号的。以下是根据常见实现总结的x64平台下C语言数据类型的取值范围&#xff1a; 整数类型 浮点类型 指针类型 在x64编译器平台下…...

左值引用、右值引用、移动构造

1、为啥使用引用&#xff1f; // An highlighted block void function(string str) {... ... }看上面这段代码&#xff0c;如果不采用引用的方法&#xff0c;那么在函数被调用的时候&#xff0c;编译器会有一个参数赋值的过程&#xff0c;这就导致了内存和效率的浪费。 // An…...

tekton通过ceph挂载node_modules的时候报错failed to execute command: copying dir: symlink

分析&#xff1a; 如果ceph的mountPath和workingDir路径一致的话&#xff0c;就会报错。 解决&#xff1a;node_modules挂载到/workspace下&#xff0c;workingDir的代码mv到/workspace下进行构建。...

Xil_DCacheFlushRange的用法

概述&#xff1a; 当使用Zynq的PS (Processing System) 与PL (Programmable Logic) 进行通信时&#xff0c;特别是涉及到高速数据传输时&#xff0c;可能会遇到缓存一致性问题。这是因为处理器系统通常具有缓存机制来加快对常用数据的访问速度&#xff0c;但在某些情况下&…...

k8s使用subpathexpr和hostpath分pod名字持久化日志

在k8s中&#xff0c;服务日志除了标准输出&#xff0c;还有写入日志文件&#xff0c;若要对这些日志文件进行持久化存储&#xff0c;无论是通过网络文件存储还是hostpath&#xff0c;都会面临一个问题&#xff0c;多个pod会往同一个存储目录的同一个文件进行写入&#xff0c;导…...

FChen的408学习日记--三次握手和四次握手

一、三次握手 在建立连接的过程中&#xff0c;首先SYN1&#xff0c;随机发送sqex。服务器接受后要反过来对客户端发送连接请求&#xff0c;SYN1&#xff0c;随机发送sqey&#xff0c;ackx1。然后客户端还要发送连接确认报文&#xff0c;原因如下 例题&#xff1a; 二、四次…...

Unity技巧:轻松实现鼠标悬停文本时的动态变色效果

文章目录 前言一、Text二、TMP_Text二、颜色转换总结 前言 在游戏或应用中&#xff0c;给用户的界面添加一些小的互动效果能让它们更加吸引人。比如&#xff0c;当策划要求你这样做的时候 &#xff0c;当用户将鼠标悬停在文字上时&#xff0c;文字颜色改变&#xff0c;这样的效…...

谷歌账号活动异常,或者申诉回来以后需要手机验证的原因,以及验证手机号的错误操作和正确操作

有一些朋友在使用谷歌账号的时候&#xff0c;会遇到无法直接登录的情况&#xff0c;输入用户名、密码以后&#xff0c;提示说账号活动异常&#xff0c;需要验证手机号。 通常有以下两种情形和界面&#xff0c;出现这种情形的原因分别如下。 一、谷歌账号登录需要输入手机号码…...

System V IPC奥秘:解锁共享内存、消息队列与信号量的高效通信之路

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 &#x1f351;system V共享内存 &#x1f352;共享内存的原理共享内存数据结构查看和删除共享内存资源的命令 &#x1f33b;共享内存…...

怎么将pdf转为ppt文件?pdf转ppt的8个方法

在诸多职场与学术交流的场合中&#xff0c;我们时常面临将详尽的PDF文件转化为生动且易于编辑的PPT演示文稿的需求。这一转换不仅是为了满足演示时的灵活性&#xff0c;更是为了提升信息传递的效率与观众的理解度。从简单的在线工具到功能全面的专业软件&#xff0c;我们拥有多…...

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task03 大咖项目分享 人话八股文Bakwaan_Buddy项目开发尝试

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task03 人话八股文Bakwaan_Buddy项目开发尝试 Idea: 我们草台班子目前的想法是解决大家计算机学院毕业面临的BUG——不爱背、背不下来八股文&#xff0c;觉得枯燥、烦、工作了用不着&#xff0c;反正就是知识他不进…...

如何在wordpress当中使用插件WP Coder(将html、css、javascript应用到wordpress上)

了解认识阶段 安装并运行好WP Coder之后如下图&#xff1a; 设置全局PHP 禁用gutenberg 输入代码 add_filter(gutenberg_can_edit_post, __return_false, 10); add_filter(use_block_editor_for_post, __return_false, 10); 记得点击save并勾选enable PHP code 禁用之后打…...

ActiveMQ、RabbitMQ、Kafka、RocketMQ在消息回溯、消息堆积+持久化、消息追踪、消息过滤的区别

ActiveMQ、RabbitMQ、Kafka、RocketMQ在消息回溯、消息堆积持久化、消息追踪、消息过滤等方面各有其独特的特点和优势。以下是这四个方面的详细比较&#xff1a; 1. 消息回溯 ActiveMQ&#xff1a;支持消息回溯功能。ActiveMQ可以将消息持久化到磁盘上&#xff0c;因此当需要…...

使用ITextRenderer导出PDF后无法打开问题,提示‘无法打开此文件‘

依赖如下 <!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf --> <dependency><groupId>org.xhtmlrenderer</groupId><artifactId>flying-saucer-pdf</artifactId><version>9.1.22</version> &l…...

STL必须掌握的几大常见算法

1. std::sort 功能:对容器中的元素进行排序。 用法: #include <algorithm> #include <vector>std::vector<int> vec = {3, 1, 4, 1, 5, 9}; std::sort(vec.begin(), vec.end());你知道sort内部用的什么排序吗 2. std::reverse 功能:将容器中的元素顺…...