从Java代码触发存储过程并在后台运行它

时间:2012-03-14 19:45:06

标签: sql multithreading parallel-processing procedure

是否可以从我的Java代码调用存储过程,然后继续正常流程/执行我的程序,并且该过程在后台运行?我可以触发程序,使其继续在后台运行(可能需要15-20分钟)?

我们可以使用线程实现吗?如果是的话,怎么去呢?

4 个答案:

答案 0 :(得分:2)

这个怎么样:

public class HelloThread extends Thread {

    public void run() {
        //call proc here
    }

    public static void main(String args[]) {
        (new HelloThread()).start();
    }

}

Taken from here.

答案 1 :(得分:1)

主要是你希望你的ui能够响应,尽管长时间运行的数据库操作你可以使用lCarus建议的线程

答案 2 :(得分:1)

基本上是的,你需要产生另一个Thread来进行调用。所以我想接下来的问题是 - 这将取决于您正在使用的环境。如果您在Java EE环境中,那么可能会查看类似于队列以运行带外进程的内容。否则可能会看看Icarus的答案,或者如果你需要将其与执行线程联系起来,也许请查看并发工具 - 这里的概述可能:

http://docs.oracle.com/javase/1.5.0/docs/guide/concurrency/overview.html

答案 3 :(得分:0)

您可以使用Quartz对作业执行进行编程 - 启动您的存储过程 - 独立于您的程序流程。你应该试一试。