有什么方法可以在Spring Boot中使用JPA实施一项服务,该服务可以在特定时间后删除表中的一行?大概一个星期?
或者是一个非常非常慢的线程将是不好的做法?
@Setter
@Getter
@Entity
public class ConferenceRoom {
@Id
@GeneratedValue
private Long id;
private long start;
private long end; // Delete row after a week have passed from time end
private String email; // The owner who created the meeting
private String members = ""; // e.g [email protected];[email protected]
}
您可以使用spring Spring的计划任务。
首先,用@Configuration
批注标记@EnableScheduling
类。
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
@EnableScheduling
注释告诉Spring创建一个后台任务执行器。没有此注释,任何事情都无法安排。
然后创建一个@Component
类,并开始创建要执行的方法并用@Scheduled
标记它们。
@Component
public class MySchedule {
@Scheduled(cron = "0 0 12 * * FRI") // this method will be executed as 12:00:00 AM of every friday
public void reportCurrentTime() {
// do your logic
}
}