[jbpm-commits] JBoss JBPM SVN: r2578 - in jbpm3/trunk/modules: distribution/src/main/resources/database/hypersonic and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Oct 21 23:19:19 EDT 2008
Author: alex.guizar at jboss.com
Date: 2008-10-21 23:19:19 -0400 (Tue, 21 Oct 2008)
New Revision: 2578
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java
jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script
Log:
[JBPM-1755] added PARENTLOCKMODE_ column to JBPM_NODE table in distro hsql script
made some cleanup in Join
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java 2008-10-22 03:08:09 UTC (rev 2577)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java 2008-10-22 03:19:19 UTC (rev 2578)
@@ -41,7 +41,10 @@
private static final long serialVersionUID = 1L;
- /** specifies wether what type of hibernate lock should be acquired. null value defaults to LockMode.Force */
+ /**
+ * specifies wether what type of hibernate lock should be acquired.
+ * null value defaults to LockMode.FORCE
+ */
String parentLockMode;
/**
@@ -111,13 +114,10 @@
JbpmContext jbpmContext = executionContext.getJbpmContext();
Session session = (jbpmContext!=null ? jbpmContext.getSession() : null);
if (session!=null) {
- LockMode lockMode = LockMode.FORCE;
- if (parentLockMode!=null) {
- lockMode = LockMode.parse(parentLockMode);
- }
- log.debug("forcing version increment on parent token "+parentToken);
- // TODO why is a flush needed?!
- // session.flush();
+ // force version increment by default (LockMode.FORCE)
+ LockMode lockMode = parentLockMode != null ? LockMode.parse(parentLockMode) : LockMode.FORCE;
+ log.debug("acquiring " + lockMode + " lock on " + parentToken);
+ // lock updates as appropriate, no need to flush here
session.lock(parentToken, lockMode);
}
@@ -125,10 +125,9 @@
// if this is a discriminator
if ( isDiscriminator ) {
- // reactivate the parent when the first token arrives in the
- // join. this must be the first token arriving because otherwise
- // the isAbleToReactivateParent() of this token should have been false
- // above.
+ // reactivate the parent when the first token arrives in the join.
+ // this must be the first token arriving, otherwise isAbleToReactivateParent()
+ // should have been false above.
reactivateParent = true;
// if a fixed set of tokenNames is specified at design time...
Modified: jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script 2008-10-22 03:08:09 UTC (rev 2577)
+++ jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script 2008-10-22 03:19:19 UTC (rev 2578)
@@ -26,7 +26,7 @@
CREATE INDEX IDX_MODDEF_PROCDF ON JBPM_MODULEDEFINITION(PROCESSDEFINITION_)
CREATE MEMORY TABLE JBPM_MODULEINSTANCE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,VERSION_ INTEGER NOT NULL,PROCESSINSTANCE_ BIGINT,TASKMGMTDEFINITION_ BIGINT,NAME_ VARCHAR(255),CONSTRAINT FK_TASKMGTINST_TMD FOREIGN KEY(TASKMGMTDEFINITION_) REFERENCES JBPM_MODULEDEFINITION(ID_))
CREATE INDEX IDX_MODINST_PRINST ON JBPM_MODULEINSTANCE(PROCESSINSTANCE_)
-CREATE MEMORY TABLE JBPM_NODE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,NAME_ VARCHAR(255),DESCRIPTION_ VARCHAR(4000),PROCESSDEFINITION_ BIGINT,ISASYNC_ BOOLEAN,ISASYNCEXCL_ BOOLEAN,ACTION_ BIGINT,SUPERSTATE_ BIGINT,SUBPROCNAME_ VARCHAR(255),SUBPROCESSDEFINITION_ BIGINT,DECISIONEXPRESSION_ VARCHAR(255),DECISIONDELEGATION BIGINT,SCRIPT_ BIGINT,SIGNAL_ INTEGER,CREATETASKS_ BOOLEAN,ENDTASKS_ BOOLEAN,NODECOLLECTIONINDEX_ INTEGER,CONSTRAINT FK_DECISION_DELEG FOREIGN KEY(DECISIONDELEGATION) REFERENCES JBPM_DELEGATION(ID_),CONSTRAINT FK_NODE_ACTION FOREIGN KEY(ACTION_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SCRIPT FOREIGN KEY(SCRIPT_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SUPERSTATE FOREIGN KEY(SUPERSTATE_) REFERENCES JBPM_NODE(ID_))
+CREATE MEMORY TABLE JBPM_NODE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,NAME_ VARCHAR(255),DESCRIPTION_ VARCHAR(4000),PROCESSDEFINITION_ BIGINT,ISASYNC_ BOOLEAN,ISASYNCEXCL_ BOOLEAN,ACTION_ BIGINT,SUPERSTATE_ BIGINT,SUBPROCNAME_ VARCHAR(255),SUBPROCESSDEFINITION_ BIGINT,DECISIONEXPRESSION_ VARCHAR(255),DECISIONDELEGATION BIGINT,SCRIPT_ BIGINT,SIGNAL_ INTEGER,CREATETASKS_ BOOLEAN,ENDTASKS_ BOOLEAN,NODECOLLECTIONINDEX_ INTEGER,PARENTLOCKMODE_ VARCHAR(255),CONSTRAINT FK_DECISION_DELEG FOREIGN KEY(DECISIONDELEGATION) REFERENCES JBPM_DELEGATION(ID_),CONSTRAINT FK_NODE_ACTION FOREIGN KEY(ACTION_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SCRIPT FOREIGN KEY(SCRIPT_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SUPERSTATE FOREIGN KEY(SUPERSTATE_) REFERENCES JBPM_NODE(ID_))
CREATE INDEX IDX_PSTATE_SBPRCDEF ON JBPM_NODE(SUBPROCESSDEFINITION_)
CREATE INDEX IDX_NODE_PROCDEF ON JBPM_NODE(PROCESSDEFINITION_)
CREATE INDEX IDX_NODE_ACTION ON JBPM_NODE(ACTION_)
More information about the jbpm-commits
mailing list