在带有DB2并行进程的java中:我遇到了死锁异常:DB2 SQL错误:SQLCODE = -911,SQLSTATE = 40001,SQLERRMC = 2,DRIVER = 3.59.81

时间:2015-06-05 05:36:15

标签: java db2

如何在DB2中重现此问题?我已经尝试过使用oracle多进程的java,但现在在DB2中使用java尝试了相同的方法。我需要重现这一点。

2 个答案:

答案 0 :(得分:0)

您需要两个测试表

CREATE TABLE T1 ( c INT);
CREATE TABLE T2 ( c INT);

在每个中插入一些虚拟值然后用两个线程强制死锁,其中启用了事务的连接(autocommit = false);

主题1:

statement.executeUpdate("INSERT INTO T2 SELECT * FROM T1");
Thread.sleep(5000);

主题2:

statement.executeUpdate("INSERT INTO T1 SELECT * FROM T2");
Thread.sleep(5000);

答案 1 :(得分:0)

为我重播问题Mr.Stavr00和Mr.Opal

我正在使用并行处理,这意味着我将在java上使用processBuilder概念启动所有进程。此外,我还需要为300万条记录运行特定的目标时间。