微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java Spring Scheduling Service无法获取新数据

如何解决Java Spring Scheduling Service无法获取新数据

我绝对是春季靴子的初学者,所以我希望有人能帮助我。

我想运行一项服务,该服务获取最新的用户条目,并每天在特定时间处理每个用户用户数据。为此,我想我需要运行一个调度程序。

因此,我有一个dosomethingDaily类

@Service
public class doSomethingDaily {

    @Autowired
    AccountRepository accountRepo; // extends CrudRepository
    

    @Scheduled(fixedDelay = 2000,initialDelay = 1000)
    public void doSomething() {


         System.out.println("Is it time to do something?");
         
         // just for testing if user1 actually got found
         for( Account user : accountRepo.findAll() ) {
                System.out.println("Found user: " + user.getName());
             }





         //check if it's time for doing something

           // ... 
             for( Account user : accountRepo.findAll() ) {
                System.out.println("Found user: " + user.getName());
                // control/change some data from user
             }
          // ...
   
    }
    
}

现在,我想测试doSomethingDaily实际上是否可以正常工作:

@RunWith(springrunner.class)
@SpringBoottest
@Transactional
public class doSomethingDailyTest {

    @Autowired
    AccountRepository accountRepo;

    @Before 
    public void init() throws RepoAccessException {

        Account user1 = new Account();
        // use setter methods to fill user1 with data...
        // ...
        accountRepo.save( user1 );
    }
    
    
   
    @Test
    public void testDaily() throws InterruptedException {
        Thread.sleep(20000);
    }
}

现在我看到消息“是时候做点什么吗?”几次,但没有显示“找到用户”消息...有人可以向我解释原因吗?

谢谢您阅读

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。