4203 |
02 Nov 16 |
nicklas |
1 |
package net.sf.basedb.opengrid; |
4203 |
02 Nov 16 |
nicklas |
2 |
|
4203 |
02 Nov 16 |
nicklas |
3 |
import org.slf4j.LoggerFactory; |
4203 |
02 Nov 16 |
nicklas |
4 |
|
4203 |
02 Nov 16 |
nicklas |
5 |
import net.sf.basedb.core.TransactionalAction; |
7075 |
27 Mar 23 |
nicklas |
6 |
import net.sf.basedb.opengrid.service.OpenGridService; |
7075 |
27 Mar 23 |
nicklas |
7 |
import net.sf.basedb.util.extensions.logging.ExtensionsLog; |
7075 |
27 Mar 23 |
nicklas |
8 |
import net.sf.basedb.util.extensions.logging.ExtensionsLogger; |
4203 |
02 Nov 16 |
nicklas |
9 |
|
4203 |
02 Nov 16 |
nicklas |
10 |
/** |
4203 |
02 Nov 16 |
nicklas |
When a job has been submitted to the cluster the job-id and |
4203 |
02 Nov 16 |
nicklas |
other information has to be registered in BASE. But if the |
4203 |
02 Nov 16 |
nicklas |
registration fails there is no need to keep the job in the |
4203 |
02 Nov 16 |
nicklas |
queue on the cluster so we try to delete it. |
4203 |
02 Nov 16 |
nicklas |
15 |
|
4203 |
02 Nov 16 |
nicklas |
@author nicklas |
4203 |
02 Nov 16 |
nicklas |
@since 1.0 |
4203 |
02 Nov 16 |
nicklas |
18 |
*/ |
4203 |
02 Nov 16 |
nicklas |
19 |
public class AbortJobIfTransactionFails |
4203 |
02 Nov 16 |
nicklas |
20 |
implements TransactionalAction |
4203 |
02 Nov 16 |
nicklas |
21 |
{ |
7075 |
27 Mar 23 |
nicklas |
22 |
private static final ExtensionsLogger logger = |
7075 |
27 Mar 23 |
nicklas |
23 |
ExtensionsLog.getLogger(OpenGridService.ID, true).wrap(LoggerFactory.getLogger(AbortJobIfTransactionFails.class)); |
4203 |
02 Nov 16 |
nicklas |
24 |
|
4203 |
02 Nov 16 |
nicklas |
25 |
private final JobIdentifier jobId; |
4203 |
02 Nov 16 |
nicklas |
26 |
|
4203 |
02 Nov 16 |
nicklas |
27 |
public AbortJobIfTransactionFails(JobIdentifier jobId) |
4203 |
02 Nov 16 |
nicklas |
28 |
{ |
4203 |
02 Nov 16 |
nicklas |
29 |
this.jobId = jobId; |
4203 |
02 Nov 16 |
nicklas |
30 |
} |
4203 |
02 Nov 16 |
nicklas |
31 |
|
4203 |
02 Nov 16 |
nicklas |
32 |
@Override |
4203 |
02 Nov 16 |
nicklas |
33 |
public void onAfterCommit() |
4203 |
02 Nov 16 |
nicklas |
34 |
{} |
4203 |
02 Nov 16 |
nicklas |
35 |
|
4203 |
02 Nov 16 |
nicklas |
36 |
@Override |
4203 |
02 Nov 16 |
nicklas |
37 |
public void onBeforeCommit() |
4203 |
02 Nov 16 |
nicklas |
38 |
{} |
4203 |
02 Nov 16 |
nicklas |
39 |
|
4203 |
02 Nov 16 |
nicklas |
40 |
@Override |
4203 |
02 Nov 16 |
nicklas |
41 |
public void onRollback() |
4203 |
02 Nov 16 |
nicklas |
42 |
{ |
4203 |
02 Nov 16 |
nicklas |
43 |
if (logger.isDebugEnabled()) |
4203 |
02 Nov 16 |
nicklas |
44 |
{ |
4203 |
02 Nov 16 |
nicklas |
45 |
logger.debug("Transaction rollback; requesting job abort: " + jobId); |
4203 |
02 Nov 16 |
nicklas |
46 |
} |
7075 |
27 Mar 23 |
nicklas |
47 |
OpenGridService.getInstance().asyncJobAbort(jobId); |
4203 |
02 Nov 16 |
nicklas |
48 |
} |
4203 |
02 Nov 16 |
nicklas |
49 |
|
4203 |
02 Nov 16 |
nicklas |
50 |
} |