我有一个类型为"字符串"的休息api端点。在端点方法体内,我实现了一个ScheduledThreadPoolExecutor对象,该对象每20分钟运行一次以写入数据库。但是,当我部署api并运行端点时,即使端点返回它应该的字符串,数据库也永远不会被填充。我在一个简单的java程序中运行完全相同的ScheduledThreadPoolExecutor代码,它完美地写入数据库,所以我知道它不能因为调度代码。有谁知道可能是什么问题?谢谢!
答案 0 :(得分:0)
您应该在资源类的静态字段中保留对ScheduledThreadPoolExecutor对象的引用。然后在资源类的构造函数中启动计时器。请注意,您的资源类应该是使用@Singleton注释注释的Singleton。否则,每次收到客户的请求时,计时器都会重置。