通过Java在间隔后将数据插入数据库[关闭]

Posted

技术标签:

【中文标题】通过Java在间隔后将数据插入数据库[关闭]【英文标题】:insert data into database after an interval by Java [closed] 【发布时间】:2013-09-18 12:45:51 【问题描述】:

我需要在 java 中构建一个程序,它会在每 10 分钟后将数据插入 mysql 数据库。只要用户终止程序,这将继续。我需要 Thread 来构建程序吗?请建议参考或每 10 分钟自动调用的代码块。

【问题讨论】:

使用ScheduledThreadPoolExecutor @javalover 即使您的问题被搁置,您仍然可以接受答案和/或支持回复:) 【参考方案1】:

我会使用 java.util.concurrent.* 包,因为它更新更好,更适合线程(所有计时器/延迟都需要实现,以免阻塞您的程序)

这个例子将执行你的任务,然后自动重新安排自己......很好! (try/finally 块确保没有异常会破坏我们的日程安排):

import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

class Task implements Runnable 

    long untilNextInvocation = 60000; // 1 minute == 60000 milliseconds

    private final ScheduledExecutorService service;

    public Task(ScheduledExecutorService service) 

        this.service = service;

    

    @Override
    public void run() 

        try 

                // do your stuff here

         finally 

            service.schedule(new Task(service), untilNextInvocation, TimeUnit.MILLISECONDS);

        

    


UPDATE --

如何调用:

public static void main(String[] args) 

    // set 3 available threads
    ScheduledExecutorService service = Executors.newScheduledThreadPool(3);

    // kick off service
    new Task(service).run();


您可以从对象构造函数中调用它:

public someClassConstructor() 

    // set 3 available threads
    ScheduledExecutorService service = Executors.newScheduledThreadPool(3);

    // kick off service
    new Task(service).run();


【讨论】:

这是我猜的基本类,我如何在main上实现调用这个构造函数我们需要一个ScheduledExecutorService类型的对象。 @javalover 查看更新【参考方案2】:

您可以使用Timer Task 来实现它。

可以安排一次或重复执行的任务 计时器。

【讨论】:

以上是关于通过Java在间隔后将数据插入数据库[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在存储过程中添加日志以显示插入数据库的记录数

使用 WebView 加载 url 后将数据插入表单

如何在展平嵌套字段后将数据​​从一个 bigquery 表流式插入到另一个表?

ASP.NET Core API - 如何在映射后将额外字段插入数据库

使用 PHP PDO 解码后将整个 JSON 插入数据库

如何在使用 qrcode 扫描后将数据插入 select2 搜索输入