Spring、MVC、Java,让一个单例bean每5秒做一个动作?
我有一个SpringMVC应用程序,其中我使用一个存储大型hashmap对象的单例bean。我使用NeoDats object DB来持久化它,因为它是一种搜索引擎应用程序,我们使用它可以通过hashmap对象进行搜索(它比布尔关键字搜索引擎更复杂),这个hashmap对象经常使用来自用户的数据(他们添加到分类数据中的标记)进行更新我目前的问题是,我一直在根据用户操作将hashmap对象持久化到NeoDatis DB,但由于保存大型对象可能需要几秒钟,因此如果用户保存得太快,有时会遇到问题 我想做的是删除用户操作和保存这个hashmap对象之间的连接,而是让它自动发生,比如每5秒一次。我可能必须尽快完成这项工作,因为我们可能要将应用程序扩展到在多台服务器上运行,因此系统之间的hashmap对象同步会有点复杂,而让用户执行保存数据库的操作会使它太不可靠,我想Spring、MVC、Java,让一个单例bean每5秒做一个动作?,java,multithreading,spring-mvc,long-running-processes,Java,Multithreading,Spring Mvc,Long Running Processes,我有一个SpringMVC应用程序,其中我使用一个存储大型hashmap对象的单例bean。我使用NeoDats object DB来持久化它,因为它是一种搜索引擎应用程序,我们使用它可以通过hashmap对象进行搜索(它比布尔关键字搜索引擎更复杂),这个hashmap对象经常使用来自用户的数据(他们添加到分类数据中的标记)进行更新我目前的问题是,我一直在根据用户操作将hashmap对象持久化到NeoDatis DB,但由于保存大型对象可能需要几秒钟,因此如果用户保存得太快,有时会遇到问题 我想
我不太确定如何实现这一点,我认为线程将不起作用,因为它是一个单例bean实例,所以我不知道是否可以通过线程访问它(因为hashmap对象中的数据在线程启动后会发生变化)。关于如何接近这个/资源的任何建议都非常感谢 < P> >我想看< /P> < P> >我想看看 < P>我推荐一个SprutoService或Spring定时器服务,它是在Spring中建立的。 < P>我推荐一个SprutoService或在Spring中内置的石英定时器服务。< /P>