我只想使用@scheduler注释定期运行spring boot main方法。我已经指定了一些附加代码,这些代码将在启用REST服务之前执行一些预操作。
@EnableScheduling
@SpringBootApplication
public class SpringBootJDBCApp {
@Autowired
ITest testService;
public static void main(String args[]) throws Exception {
PersistenceValidation.cloneGit();
PersistenceValidation.dataPersistance();
PersistenceValidation.cleanUp();
ApplicationContext context = SpringApplication
.run(SpringBootJDBCApp.class);
ITest testService = context.getBean(ITestService.class);
testService.getAllData();
}
}
我想每10秒运行一次上面的主方法。并在主方法中添加了@时间表注释。但它抛出了一个例外:
根据doc@Scheduler的预期行为应调用一个没有args[]的方法
我想在main方法中使用@Scheduler
注释,如下所示:
@Scheduled(initialDelay = 1000, fixedRate = 10000)
public static void main(String args[]) throws Exception {
PersistenceValidation.cloneGit();
PersistenceValidation.dataPersistance();
PersistenceValidation.cleanUp();
ApplicationContext context = SpringApplication.run(SpringBootJDBCApp.class);
ITest testService = context.getBean(ITestService.class);
testService.getAllData();
}
错误:
组织。springframework。豆。工厂BeanCreationException:创建名为“springBootJDBCApp”的bean时出错:bean初始化失败;嵌套的异常是java。lang.IllegalStateException:遇到无效的@Scheduled方法“main”:只有任何参数方法都不能用@Scheduled进行注释
有没有其他方法来完成这项任务?我想定期运行main方法中提到的所有内容。
有线索吗?
使用@scheduled
注释注释的计划方法必须没有参数,因为注释不提供任何输入。@Scheduled
sais的Spring文档:
带注释的方法不能要求任何参数。它通常会有一个无效的返回类型;如果不是,则通过调度程序调用时将忽略返回值。
您注释了方法publicstaticvoidmain(字符串args[])
,该方法有一个数组作为参数。您只需将main(字符串args[])
中的内容包装到另一个方法中即可。注意,您根本不使用args[]
。
是否允许在一个方法中使用多个@scheduled注释?
我需要调用一个方法:myMethod(双...选项卡),但我通过其他方法调用获取此数组的元素。现在我做的是: 但是有了它,myMethod是这样声明的: 我想知道如何使用bytebuddy来代替: 或 此外,属性“form”是一个动态检索方法,因此在“for”中执行的循环数永远不会相同。所以有时我可以调用这样的表单方法:或或
问题内容: 有没有办法用TypeScript语言进行方法重载? 我想实现以下目标: 这是我不想做的一个例子(我真的很讨厌JS中重载hack的那一部分): 问题答案: 根据规范,TypeScript确实支持方法重载,但是它很笨拙,并且包含许多手动检查参数类型的工作。我认为这主要是因为在纯JavaScript中最接近方法重载的地方还包括检查,并且TypeScript尝试不修改实际的方法主体,以避免任何
当我点击任何编辑文本时,我想调整我的键盘。我在Android清单中使用windowSoftInputMode,但当我使用搜索编辑文本时,它覆盖了整个区域。键盘和底部布局覆盖整个区域
问题内容: 我在Service类中看到了一种被标记为的方法,但是它也在同一类中调用了其他未标为的方法。 这是否意味着对单独方法的调用导致应用程序打开与DB的单独连接或暂停父事务等? 不带任何注释的方法的默认行为是什么,而另一个带有注释的方法调用该方法的默认行为是什么? 问题答案: 当你调用没有事务块之内的方法时,父事务将继续使用新方法。它将使用与父方法(with )相同的连接,以及在调用的方法中导
所以我想要一个“Void Repository”,通过它可以访问不一定在实体上操作的存储过程。 但这当然不起作用,因为期望是一个实体。 有没有一种方法可以使用注释而无需创建虚拟实体,或者我是否坚持使用使用通过准备好的语句进行查询的已实现类? 因为老实说,这很难看: