[
http://jira.jboss.com/jira/browse/JBPM-845?page=comments#action_12356822 ]
Harald Strack commented on JBPM-845:
------------------------------------
Have a look at my first and 4th comment: there I am pointing out, that this solution is
too simple.
I'll try to explain it by example:
Given:
A process, that creates a "Contact" in the database (A), taking a transient
variable called "contact".
A process, that creates a "Domain" in the database (B), taking a transient
variable called "domain" and 4 transient variables called
"contactAdminc",
"contactTechC", "contactZoneC","contactHolderC".
Now, every Domain needs to create the contacts.
Simple approach: process B uses 4 times process A in a processState to create Contacts
(like a function call).
The problem:
With the actual implementation this is not possible, since a transient variable must have
the same name in super-
and subprocesses, there is no variable scoping!
Do you see the limits of the actual implementation?
For us this is a no-go limit...
Regarding the overhead: sure ... it uses the same datastructures like persistent variables
and that's a lot.
But is this really a problem?
Concerning to the necessary changes in the DB schema and the XML schema:
new Feature --> new XML stuff, new DB stuff - that's the way it goes :-)
I think, the only real problem is that there is no backward compatibility. May only help
writing
good release notes... a making this an optional feature (how?)
transient variables between process and subprocess
--------------------------------------------------
Key: JBPM-845
URL:
http://jira.jboss.com/jira/browse/JBPM-845
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Affects Versions: jBPM 3.1, jBPM 3.1.1, jBPM 3.1.2, jBPM 3.1.3, jBPM 3.1.4
Reporter: Harald Strack
Assigned To: Tom Baeyens
Attachments: JbpmTransientVariablePatchTest.java, patch
Hi,
why is there not the same functionality for transient variables as for persistent ones
when copying variables from a superprocess to a subprocess (process state)?
I have seen this thread
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=70407
The proposed solution as seen in jira
http://jira.jboss.com/jira/browse/JBPM-399
is implemented in jbpm 3.1.2 that I am actually using.
I think this solution is simple but does not fit for the most common case, that a
superprocess calls
a common suprocess and the subprocess does not know anything about the superprocess.
More specific, there could be different superprocesses with different transient variable
names.
These superprocesses may call a general subprocess...
Using the present solution forces the subprocess to know about all possible variablenames
of
all possible superprocesses - that's really bad! What we need is varible scoping.
What can we do?
Is it is not difficult to implement similar code for transient variables as you did for
persistent ones.
Patch for 3.1.3 and 3.1.4 following...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira