[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jboss-user
Subject:    Re: [jboss-user] [jBPM] - jBPM 4.3 starting a sub-process after a
From:       Tun Mang <do-not-reply () jboss ! com>
Date:       2010-03-31 23:47:14
Message-ID: 943775377.1031641270079235961.JavaMail.jive () clearspace02 ! app ! mwc ! hst ! phx2 ! redhat ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Tun Mang [http://community.jboss.org/people/tunmang] replied to the discussion

"jBPM 4.3 starting a sub-process after a state node will fail"

To view the discussion, visit: http://community.jboss.org/message/535037#535037

--------------------------------------------------------------
Hi Maciej :

Thanks a lot for your sample code. And by that, I finally figured out why my call \
does not work. The way we call the "deploy process definition", and "start process \
instance", and "signal execution" is by 3 persons (or 3 stages) to simulate a \
business facility. So my work is providing a utility for them to execute and call. \
But your sample code is doing all of them in one-shot (from deploy PD, to signal \
execution). My utility is like the following and got executed by parameters such as \
(-deploy, -start, -signal, etc):


private synchronized void initJbpmEngine() 
   {
       //
       // got called when this utility class instantiated.
       //
       if (processEngine != null)
           return;
 
       configuration = new Configuration();
       
       processEngine = configuration.buildProcessEngine();         
       out("Process Engine Identity Hash Code: " + \
System.identityHashCode(processEngine));  
       repositoryService = processEngine.get(RepositoryService.class);
       executionService   = processEngine.getExecutionService();
       historyService       = processEngine.getHistoryService();
       managementService = processEngine.getManagementService();
       taskService             = processEngine.getTaskService();
       identityService     = processEngine.getIdentityService();               
   }
 
public void deployProcessDefinition(String fileName)
{
   ....
} 

public void startProcessInstance(String processDefinitionName)
{
   ....
}

public void signalExecution(String executionId)
{
   executionService.signalExecutionById( executionId );
}

Once calling those operations in stages, the executionService.signalExecutionById( \
... ) will throw the "a foreign key constraint fails" exception. But my problem is I \
can not find a jBPM API to pass (or fill in) the required information to \
executionService to execute the   signalExecutionById(...) if we are doing thing in \
stages.

Thanks a lot for your help and time in advance again.

Tun Mang

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/535037#535037]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]



[Attachment #5 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; \
margin: 0; padding: 20px;">

<div>
	<table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: \
1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;">  <tbody>
			<tr>

				<td>

					<table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" \
style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: \
6px; -webkit-border-radius: 6px;">  <tbody>
							<tr>
								<td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px \
solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; \
-moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; \
                -webkit-border-top-left-radius: 5px;">
									<h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; \
                margin: 0; display: block !important;">
									<!-- To have a header image/logo replace the name below with your img tag \
                -->
									<!-- Email clients will render the images when the message is read so any \
                image -->
									<!-- must be made available on a public server, so that all recipients can \
                load the image. -->
									<a href="http://community.jboss.org/index.jspa" style="text-decoration: \
none; color: #E1E1E1">Community</a></h1>  </td>

							</tr>
							<tr>
								<td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; \
color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; \
-moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; \
-webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: \
17px; font-weight: normal;">  jBPM 4.3 starting a sub-process after a state node will \
fail </h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/tunmang">Tun Mang</a> in \
<i>jBPM</i> - <a href="http://community.jboss.org/message/535037#535037">View the \
full discussion</a> </span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi Maciej :</p><p style="min-height: 8pt; \
height: 8pt; padding: 0px;">&#160;</p><p>Thanks a lot for your sample code. And by \
that, I finally figured out why my call does not work. The way we call the "deploy \
process definition", and "start process instance", and "signal execution" is by 3 \
persons (or 3 stages) to simulate a business facility. So my work is providing a \
utility for them to execute and call. But your sample code is doing all of them in \
one-shot (from deploy PD, to signal execution). My utility is like the following and \
got executed by parameters such as (-deploy, -start, -signal, etc):</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: \
8pt; height: 8pt; padding: 0px;">&#160;</p><div id="_mcePaste">private synchronized \
void initJbpmEngine() </div><div id="_mcePaste">&#160; {</div><div>&#160;&#160;&#160; \
//</div><div>&#160;&#160;&#160; // got called when this utility class \
instantiated.</div><div>&#160;&#160;&#160; //</div><div \
id="_mcePaste">&#160;&#160;&#160; if (processEngine != null)</div><div \
id="_mcePaste">&#160;&#160;&#160;&#160;&#160; return;</div><div id="_mcePaste"> \
</div><div id="_mcePaste">&#160;&#160;&#160; configuration = new \
Configuration();</div><div id="_mcePaste">&#160;&#160;&#160; </div><div \
id="_mcePaste">&#160;&#160;&#160; processEngine = \
configuration.buildProcessEngine();&#160;&#160;&#160;&#160; </div><div \
id="_mcePaste">&#160;&#160;&#160; out("Process Engine Identity Hash Code: " + \
System.identityHashCode(processEngine));</div><div id="_mcePaste"> </div><div \
id="_mcePaste">&#160;&#160;&#160; repositoryService = \
processEngine.get(RepositoryService.class);</div><div \
id="_mcePaste">&#160;&#160;&#160; executionService&#160; = \
processEngine.getExecutionService();</div><div id="_mcePaste">&#160;&#160;&#160; \
historyService&#160;&#160;&#160; = processEngine.getHistoryService();</div><div \
id="_mcePaste">&#160;&#160;&#160; managementService = \
processEngine.getManagementService();</div><div id="_mcePaste">&#160;&#160;&#160; \
taskService&#160;&#160;&#160;&#160;&#160;&#160; = \
processEngine.getTaskService();</div><div id="_mcePaste">&#160;&#160;&#160; \
identityService&#160;&#160; = \
processEngine.getIdentityService();&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
</div><div id="_mcePaste">&#160; }</div><div> </div><div>public void \
deployProcessDefinition(String fileName)</div><div>{</div><div>&#160; \
....</div><div>} </div><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>public void startProcessInstance(String \
processDefinitionName)</p><p>{</p><p>&#160; ....</p><p>}</p><p style="min-height: \
8pt; height: 8pt; padding: 0px;">&#160;</p><p>public void signalExecution(String \
executionId)</p><p>{</p><p>&#160; executionService.signalExecutionById( executionId \
);</p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>Once calling those operations in stages, the \
executionService.signalExecutionById( ... ) will throw the "a foreign key constraint \
fails" exception. But my problem is I can not find a jBPM API to pass (or fill in) \
the required information to executionService to execute the&#160; \
signalExecutionById(...) if we are doing thing in stages.</p><p style="min-height: \
8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thanks a lot for your help and time in \
advance again.</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>Tun Mang</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a \
href="http://community.jboss.org/message/535037#535037">going to Community</a></p>  \
<p style="margin: 0;">Start a new discussion in jBPM at <a \
href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
 </div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>



_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic