当前位置: 首页 > 知识库问答 >
问题:

Spring MVC声明bean使用@schedule[duplicate]

齐财
2023-03-14

我正在尝试让一个类定期从rest api请求数据,以检查数据库中的数据是否仍然是最新的。

@Bean
public CapsuleRestApi capsuleDatabaseJpa() {
    return new CapsuleRestApi();
}
@Scheduled(fixedDelay = 2000)
public void refresh() {
    // refresh and check changes
}

有没有另一种方法可以使它工作,而不将方法添加为bean?我不完全理解为什么它可以使用bean方法

共有1个答案

陶智
2023-03-14

容器中任何spring托管bean的含义。

这意味着,spring应该在它启动时了解这个类。如果您将@schedule放在spring在启动期间不扫描的类中的方法上,则此注释没有任何意义。

例如。就当你有这样一门课

class NotManagedBean {

   @Scheduled
   public void scheduler() {
      .....
   }
}

当您执行@bean时,这意味着您声明了一个bean。因此它起作用了。

我希望这是清楚的

 类似资料:
  • 本文向大家介绍SpringMVC+MyBatis声明式事务管理,包括了SpringMVC+MyBatis声明式事务管理的使用技巧和注意事项,需要的朋友参考一下 采用的基本搭建环境:SpringMVC、MyBatis、MySQL、tomcat         Spring事务管理分解了传统的全局事务管理和本地事务管理的劣势,使得在任何环境中都可以使用统一的事务管理模型,你可以写一次代码,然后在不同的

  • 你好,Iam在spring(IntelliJ IDEA终极版)中使用AspectJ风格的AOP时遇到了麻烦。不使用方面时,输出与预期相同。但是当我将方面类受众声明为Bean时,我得到了Macbeth类的NoSuchBeanDefinitionException。 2017年8月27日上午9:38:39 org.springframework.context.annotationconfigappl

  • 我是Spring的新手,并试图理解在我的Spring配置文件中声明的bean标记,如下所示: 我正在努力理解这5行代码。第一行表示它是一个XML文件。请有人帮我理解其他4行,以及向Spring应用程序提供这些信息的原因。

  • 假设我有一个配置类(Jms队列配置,见下文)。在此类中,我想为整个应用程序配置多个队列。对于一个队列,没有问题。但是,当我添加第二个队列并尝试从服务(成员服务)中使用其中一个队列时,Spring启动会告诉我 com.example.notification.application.jms.JmsEventPublisher 中的构造函数的参数 1 需要一个 Bean,但找到 2 个: - 队列帐户

  • 问题内容: 我想在两个小数点后两位之间使用断言,我使用这个: 但是JUnit日志显示: 问题答案: 测试两个对象是相同的对象,即它们是: 断言两个对象引用相同的对象。如果它们不相同,则会抛出一个没有消息的消息。 在您的情况下,由于和都是new ,所以对象不相同,因此是例外。 您要使用,测试两个对象是否相等,即: 断言两个对象相等。如果不是,则会抛出一个不带消息的消息。如果期望和实际相等,则认为它们

  • 问题内容: 我有这个新的mvc项目,其中所有bean都是默认作用域的(没有原型或会话)。与单个应用程序上下文。 我想通过使所有bean都成为默认范围来知道我们是否试图使整个应用程序在单线程中运行? 如果是这样的话,是否会使每个httprequest(来自多个或相同会话)排队,直到上一个完成?如何避免这种情况,任何建议或链接都​​将有所帮助。 我对Spring和Java开发相对较新。 问题答案: 由