我通常在Node中编码,但是想尝试 Boot ,在我开始一个我想构建的项目之前,我想询问最好的方法来保存时间。
我的项目需要某种Manager类来管理我将要编写的一组自定义类,例如管理一组Animal.class对象的AnimalManager。
所有的动物都使用websockets接收来自第三方API的数据。我需要一些管理器类来处理所有这些动物,并根据自定义间隔调用它们的函数等等。
我现在感到困惑的是如何实现这样的Manager类,它们需要在启动后开始工作,而不需要示例化。据我理解,@Service更像是数据库操作的业务逻辑。是否有一些与Manager类或独立类等效的类,它们不与数据库或控制器交互,只用于运行任务?
2条答案
按热度按时间tyu7yeag1#
你可以使用Spring的
CommandLineRunner
,它将在启动后执行,当一切都初始化并准备就绪时,请参见:https://www.baeldung.com/spring-boot-console-appj0pj023g2#
我真的不知道管理器是否连续运行(在循环中),也不知道动物是否是硬编码的,以及这些间隔是否可以在运行时配置......但也许这会有所帮助:
您可以使用@PostConstruct创建一个组件(为您的经理),然后(在启动后)https://www.baeldung.com/spring-postconstruct-predestroy开始执行您的操作。
您还可以使用https://www.baeldung.com/spring-scheduled-tasks以特定间隔调用方法
也有可能动物不需要管理器,只是对传入消息做出React的组件。