scheduled java 失败_Java SpringBoot方法仍然在错误的@Profile下@Sche...
我的application.properties文件将默认配置文件定义为spring.profiles.active = test,我有一个计划的方法,如下所示:
@Scheduled(initialDelay = 2500, fixedRate = 60 * 1000 * minutesRecheckRate)
@Profile("loop")
public void processingLoop() {
System.out.println(Arrays.toString(env.getActiveProfiles()));
//.. the rest is omitted for brevity.
据我所知,在这种情况下,我应该永远不会在运行单元测试时看到此调用,因为我没有更改默认配置文件.事实并非如此,因为仍在计划中,我看到了输出
[test]
尽管我已尽力防止出现这种情况,但仍在控制台中.怎么了?为什么即使使用其他活动配置文件,它仍然可以运行?
更新:
由于这是与工作相关的应用程序,因此我无法提供更多信息,但我会尽力而为.
该类的配置如下:
@Configuration
@EnableScheduling
public class BatchConfiguration {
单元测试都是这样标注的:
@SpringApplicationConfiguration(classes = SpringBatchJsontestApplication.class)
public class SpringBatchJsontestApplicationTests extends AbstractTestNGSpringContextTests {
主要的应用程序类是这样的:
@SpringBootApplication
public class SpringBatchJsontestApplication {
他们都没有改变任何其他东西.没有context.xml文件,这是一个SpringBoot应用程序,因此所有内容仅是注释.
这是对我来说效果很好的最终结果
@Profile("test")
@Bean(name = TaskManagementConfigUtils.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME)
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public ScheduledAnnotationBeanPostProcessor scheduleBeanProcessorOverride() {
logger.info("Test Profile is active, overriding ScheduledAnnotationBeanPostProcessor to prevent annotations from running during tests.");
return new ScheduledAnnotationBeanPostProcessor() {
@Override
protected void processScheduled(Scheduled scheduled, Method method, Object bean) {
logger.info(String.format("Preventing scheduling for %s, %s, %s", scheduled, method, bean.getClass().getCanonicalName()));
}
};
}
这是触发测试配置文件的POM配置,因此我不再需要在我的application.properties中明确地这样做.
org.apache.maven.plugins
maven-surefire-plugin
2.19
test
scheduled java 失败_Java SpringBoot方法仍然在错误的@Profile下@Sche...相关推荐
- java content()_Java contentEquals() 方法 - Break易站
Java contentEquals() 方法 Java String类 contentEquals() 方法用于将此字符串与指定的 StringBuffer 比较. 语法 public boolea ...
- java 类型参数_java – 通用方法类型参数
您的两个问题都可以通过以下方式解答:这是Java语法.在Java语言中,参数化方法声明如下: [optional modifiers] [return type] foo() {} 它声明了一个名为T ...
- java replace( . )_Java replace() 方法
Java replace() 方法 Java String类 replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串. 语法 publ ...
- java定时任务_java:springBoot使用@Scheduled注解配置定时任务
定时任务的实现有多种,其中一种就是使用Spring提供的注解: @Schedule . 下面举个简单的例子 1.先在springboot的入口处添加@EnableScheduling这个注解 2.总开 ...
- JAVA min()_Java min()方法
Java min()方法 min() 方法用于返回两个参数中的最小值. 语法 该方法有以下几种语法格式: double min(double arg1, double arg2) float min( ...
- java 参数传递_java中方法的参数传递机制
无论是什么语言,要讨论参数传递方式,就得从内存模型说起,主要是我个人觉得从内存模型来说参数传递更为直观一些.闲言少叙,下面我们就通过内存模型的方式来讨论一下Java中的参数传递. 这里的内存模型涉及到 ...
- java content()_Java contentEquals() 方法
全屏 Java contentEquals() 方法 contentEquals() 方法用于将将此字符串与指定的 StringBuffer 比较. 语法public boolean contentE ...
- 类与方法java讲解_Java中方法使用的深入讲解
方法的使用 1.方法的基本用法 什么是方法,方法就是一个代码片段,类似于c/c++ 语言中的"函数". 1.1方法存在的意义: 是能够模块化的组织代码(当代码规模比较复杂的时候). ...
- java 正切_Java tan()方法
Java tan()方法 tan() 方法用于返回指定double类型参数的正切值. 语法 doubletan(doubled) 参数 d -- 任何原生数据类型. 返回值 返回指定double类型参 ...
最新文章
- [Google Guava] 使用和避免null
- linux 系统tar文件压缩打包命令
- 启动hiveserver2时报错Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- 计算机二级怎么测试c语言,全国计算机等级测试二级C语言视频教程(完整版).doc...
- codevs1079 回家
- JS高级 - 面向对象3(面向过程改写面向对象)
- IDEA 自动生成 serialVersionUID 的设置
- 最短路径 自己写的一个很简单的模板 dijkstra算法
- 如何制作一个横版格斗过关游戏(2) Cocos2d-x 2.0.4 .
- 在Microsoft-IIS/10.0上面部署mvc站点的时候,出现404的错误
- 看了这张图你还会想着用MonoDroid来开发Android应用吗?
- CentOS7 安装ffmpeg
- Mac OSX 常用软件下载页面集锦(持续更新)
- timesten java_使用java调用timesten实现Oracle入库
- win10安装mysql初始化失败怎么办_Win10系统安装SQL2000失败 初始化错误该怎么解决?...
- 人民币对澳元汇率的大数据分析与预测
- 以作回顾、以作借鉴、以作鼓励
- python数据可视化(matplotlib,seaborn,plotly)
- PPC r0-r31寄存器介绍
- JavaScript Dom 事件 Bom 定时器方法
热门文章
- Windows下快速创建指定大小的空文件
- Oracle 安装与学习 适合小白入手练习
- 玄武短信接口和移动MAS短信接口的API封装
- python利用有道的url来进行翻译英文单词与句子,并且实现了自动生成指定位置的文件夹来存储
- HTML5期末大作业:管理系统网站设计——学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
- Action recognition in video
- 淘宝api开放平台SDK调用对接淘宝或天猫
- 爬虫学习:XPath的使用
- FPGA的VGA协议实现
- 考试的判卷系统-上机考试卷批阅系统.h