<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18904">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>If you want to have concurrency (meaning the
process will continue with other parts of the flow while it is waiting for some
other node to continue), you will need to model this task you are waiting for as
some external bit of work (using a work item node or a human task node if you're
waiting for a human user) and use asynchronous execution of your
work.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>This means that the work item handler should not be
executing synchronously (as that will make the engine wait for it) but rather
start execution (in a separate thread or by invoking a service asynchronously)
and return. Whenever the task is then completed, the engine should be
notified again (same as before, using
manager.completeWorkItem(..)).</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Internally, the engine will not use multi-threading
as execution is (near) instantaneous. Everything that cannot be executed
immediately should be modeled using special nodes like work item node, wait
state, sub process node, etc.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Kris</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=pmbtgun@gmail.com href="mailto:pmbtgun@gmail.com">Pedro Maria
Buitrago Mantilla</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=rules-users@lists.jboss.org
href="mailto:rules-users@lists.jboss.org">Rules Users List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Cc:</B> <A
title=rules-users-request@lists.jboss.org
href="mailto:rules-users-request@lists.jboss.org">rules-users-request@lists.jboss.org</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, April 09, 2010 9:59
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [rules-users] RulesFlow -
DroolsFlow - Parallelism - SplitNodes - Help</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>Thanks for you answer, </DIV>
<DIV><FONT size=2 face=Arial></FONT><BR></DIV>
<DIV>I thought the performance model took the two branches and processed in
parallel in java. Now, given that it is not, I would like to know that I can
do in java to execute in parallel my two subflows.</DIV>
<DIV><BR></DIV>
<DIV>The launcher is: </DIV>
<DIV><BR></DIV>
<DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>package
com.epmbog.esb.drools.mediator;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
java.util.HashMap;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
java.util.Map;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.KnowledgeBase;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.KnowledgeBaseConfiguration;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.KnowledgeBaseFactory;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.builder.KnowledgeBuilder;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.builder.KnowledgeBuilderFactory;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.builder.ResourceType;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.conf.MultithreadEvaluationOption;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.io.ResourceFactory;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
org.drools.runtime.StatefulKnowledgeSession;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
com.epmbog.drools.utils.Constantes;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>import
com.epmbog.esb.drools.workitems.EJBGenericWorkItemHandler;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>public class
TestProcess {</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>public static final void
main(String[] args) {</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>try {</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
KnowledgeBase knowledgeBase =
readRule();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
StatefulKnowledgeSession ksession =
knowledgeBase.newStatefulKnowledgeSession();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ksession.getWorkItemManager().registerWorkItemHandler("TelnetConnection",
new EJBGenericWorkItemHandler());</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ksession.getWorkItemManager().registerWorkItemHandler(
"TelnetDisonnection", new EJBGenericWorkItemHandler());</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ksession.getWorkItemManager().registerWorkItemHandler(
"TelnetSendCommands", new EJBGenericWorkItemHandler());</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
HashMap<String, Object> paramMap = new
HashMap<String, Object>();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.SOFT_SWITCH_IP ,
"10.134.2.2");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.SOFT_SWITCH_USER ,
null);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.SOFT_SWITCH_PASS ,
null);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.SOFT_SWITCH_PORT ,
"6000");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.UMG_IP ,
"10.134.2.11");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.UMG_USER ,
"gestor");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.UMG_PASS ,
"gestor");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.UMG_PORT ,
"23");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
Map<String, Object> parameters = new
HashMap<String, Object>();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
Map<String, Object> results = new
HashMap<String, Object>();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
Map<String, Object>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados = new HashMap<String,
Object>();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("softswitch_user",
"mediator");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("softswitch_pass",
"mediator");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("softswitch_number",
"6057000");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("softswitch_circuitInit",
"864");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("softswitch_circuitEnd",
"895");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("umg_port",
"00");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("umg_slot",
"03");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("umg_frame",
"1");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados.put("umg_cardType",
"CUALQUIERJODA");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
paramMap.put( Constantes.FM_PARAMETERS_MAP ,
mapaFormadoPorEsbSegunDatosInfraestructuraSolicitados);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>parameters.put("factsMap",
paramMap);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>parameters.put("resultsMap",
results);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>ksession.startProcess(
"com.epmbog.esb.drools.mediator.PriDigitalTest", parameters
);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small"
class=Apple-style-span>ksession.fireAllRules();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small"
class=Apple-style-span>System.out.println("Cualquier cosa");</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span> </SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
} catch ( Throwable t ) {</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
t.printStackTrace();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
}</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
}</SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>private static KnowledgeBase
readRule() throws Exception {</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span>kbuilder.add(
ResourceFactory.newClassPathResource(
"/com/epmbog/esb/drools/mediator/PriDigitalTest.rf", TestProcess.class
),</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ResourceType.DRF );</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
kbuilder.add( ResourceFactory.newClassPathResource(
"/com/epmbog/esb/drools/mediator/SoftSwitchFlow.rf", TestProcess.class
),</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ResourceType.DRF
);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
kbuilder.add( ResourceFactory.newClassPathResource(
"/com/epmbog/esb/drools/mediator/UMGFlow.rf", TestProcess.class
),</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
ResourceType.DRF
);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
KnowledgeBaseConfiguration configuration =
KnowledgeBaseFactory</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
.newKnowledgeBaseConfiguration();</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
configuration.setOption( MultithreadEvaluationOption.YES
);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
KnowledgeBase kbase =
KnowledgeBaseFactory.newKnowledgeBase(configuration);</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
kbase.addKnowledgePackages(
kbuilder.getKnowledgePackages() );</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span><BR></SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
return kbase;</SPAN></I></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small" class=Apple-style-span>
}</SPAN></I></DIV>
<DIV><SPAN style="WHITE-SPACE: pre" class=Apple-tab-span><I><SPAN
style="FONT-SIZE: x-small" class=Apple-style-span></SPAN></I></SPAN></DIV>
<DIV><I><SPAN style="FONT-SIZE: x-small"
class=Apple-style-span>}</SPAN></I></DIV>
<DIV><BR></DIV>
<DIV>Thank you,</DIV></DIV>
<DIV><BR></DIV><BR clear=all>PEDRO MARIA BUITRAGO MANTILLA<BR><BR>Bogotá,
Colombia<BR><BR><BR><BR>
<DIV class=gmail_quote>2010/4/9 Mauricio Salatino <SPAN dir=ltr><<A
href="mailto:salaboy@gmail.com">salaboy@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>When we define two parallel branches in a business process
we represent a real situation where two task needs to be completed in
parallel. We are not expressing something low level as Concurrent (multi
threaded) programming.<BR><BR>Does this explanation answer your
question?<BR><BR>
<DIV class=gmail_quote>2010/4/9 Pedro Maria Buitrago Mantilla <SPAN
dir=ltr><<A href="mailto:pmbtgun@gmail.com"
target=_blank>pmbtgun@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>
<DIV>
<DIV></DIV>
<DIV class=h5>
<DIV>Greetings for all,</DIV>
<DIV><BR></DIV>
<DIV>We're learning about jboss rules ( drools ), in particular, drools
flow by the workflow topic.</DIV>
<DIV><BR></DIV>
<DIV>In the documentation, the parallelism is solved by means of split
node of type 1 (AND). </DIV>
<DIV>However, when we execute the testing ,the execution is
sequential.</DIV>
<DIV><BR></DIV>
<DIV>In particular, the idea is that our workflow executes two subflows in
parallel. For this target we configured a </DIV>
<DIV>"split node" with type 'AND' and a "join node" with type 'AND', no
more configuration, Is it required another configurations? </DIV>
<DIV>Is it problem of standalone applications? We don't know.</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>This is the case:</DIV>
<DIV><BR></DIV>
<DIV>0. Drools:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV>Created-By: Apache Maven</DIV>
<DIV>Built-By: trikkola</DIV>
<DIV>Build-Jdk: 1.5.0_15</DIV>
<DIV>Specification-Title: Drools :: API</DIV>
<DIV>Specification-Version: 5.0.1</DIV>
<DIV>Specification-Vendor: JBoss Inc.</DIV>
<DIV>Implementation-Title: Drools :: API</DIV>
<DIV>Implementation-Version: 5.0.1</DIV>
<DIV>Implementation-Vendor-Id: org.drools</DIV>
<DIV>Implementation-Vendor: JBoss Inc.</DIV></DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>1. ProcessXML:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV><I><?xml version="1.0" encoding="UTF-8"?> </I></DIV>
<DIV><I><process xmlns="<A href="http://drools.org/drools-5.0/process"
target=_blank>http://drools.org/drools-5.0/process</A>"</I></DIV>
<DIV><I> xmlns:xs="<A
href="http://www.w3.org/2001/XMLSchema-instance"
target=_blank>http://www.w3.org/2001/XMLSchema-instance</A>"</I></DIV>
<DIV><I> xs:schemaLocation="<A
href="http://drools.org/drools-5.0/process"
target=_blank>http://drools.org/drools-5.0/process</A>
drools-processes-5.0.xsd"</I></DIV>
<DIV><I> type="RuleFlow"
name="PriDigitalTest" id="com.epmbog.esb.drools.mediator.PriDigitalTest"
package-name="com.epmbog.esb.drools.mediator" ></I></DIV>
<DIV><I><BR></I></DIV>
<DIV><I> <header></I></DIV>
<DIV><I> <variables></I></DIV>
<DIV><I> <variable name="factsMap"
></I></DIV>
<DIV><I> <type
name="org.drools.process.core.datatype.impl.type.ObjectDataType"
className="java.util.HashMap" /></I></DIV>
<DIV><I> </variable></I></DIV>
<DIV><I> <variable name="resultsMap"
></I></DIV>
<DIV><I> <type
name="org.drools.process.core.datatype.impl.type.ObjectDataType"
className="java.util.HashMap" /></I></DIV>
<DIV><I> </variable></I></DIV>
<DIV><I> </variables></I></DIV>
<DIV><I> </header></I></DIV>
<DIV><I><BR></I></DIV>
<DIV><I> <nodes></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <start id="1" name="Start" x="126" y="16"
width="48" height="48" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <split id="19" name="AND" x="109" y="95"
width="80" height="40" type="1" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <subProcess id="17" name="UMGSubFlow" x="16"
y="168" width="119" height="49"
processId="com.epmbog.esb.drools.mediator.UMGFlow"
waitForCompletion="false" independent="false" ></I></DIV>
<DIV><I> <mapping type="in" from="resultsMap"
to="resultsMap" /></I></DIV>
<DIV><I> <mapping type="in" from="factsMap"
to="factsMap" /></I></DIV>
<DIV><I> </subProcess></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <subProcess id="18" name="SoftSwitchSubFlow"
x="167" y="168" width="119" height="49"
processId="com.epmbog.esb.drools.mediator.SoftSwitchFlow"
waitForCompletion="false" independent="false" ></I></DIV>
<DIV><I> <mapping type="in" from="resultsMap"
to="resultsMap" /></I></DIV>
<DIV><I> <mapping type="in" from="factsMap"
to="factsMap" /></I></DIV>
<DIV><I> </subProcess></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <join id="20" name="Join(And)" x="110"
y="251" width="80" height="40" type="1" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <end id="6" name="End" x="112" y="414"
width="80" height="40" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> </nodes></I></DIV>
<DIV><I><BR></I></DIV>
<DIV><I> <connections></I></DIV>
<DIV><I></I> </DIV>
<DIV><I> <connection from="1" to="19" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <connection from="19" to="17"
/></I></DIV>
<DIV><I> <connection from="19" to="18"
/></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <connection from="17" to="20"
/></I></DIV>
<DIV><I> <connection from="18" to="20"
/></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> <connection from="20" to="6" /></I></DIV>
<DIV><I> </I></DIV>
<DIV><I> </connections></I></DIV>
<DIV><I><BR></I></DIV>
<DIV><I></process></I></DIV>
<DIV><I><BR></I></DIV>
<DIV><I>2. <SPAN style="FONT-STYLE: normal">Chart</SPAN></I></DIV>
<DIV><I><BR></I></DIV></DIV>
<DIV><IMG title=PriDigitalTest.JPG alt=PriDigitalTest.JPG
src="cid:5878CBB82A3A457DA597CE8075245157@BORG2" width=200
height=135><BR></DIV>
<DIV><FONT size=6 face="arial, sans-serif"><SPAN
style="LINE-HEIGHT: 25px; FONT-SIZE: 19px"><BR></SPAN></FONT></DIV>
<DIV>We greatly appreciate your help, any suggestions? Thank you a
lot</DIV><BR clear=all><FONT color=#888888><BR>
<DIV>PEDRO MARIA BUITRAGO MANTILLA<BR>Bogotá,
Colombia<BR><BR></DIV></FONT><BR></DIV></DIV>_______________________________________________<BR>rules-users
mailing list<BR><A href="mailto:rules-users@lists.jboss.org"
target=_blank>rules-users@lists.jboss.org</A><BR><A
href="https://lists.jboss.org/mailman/listinfo/rules-users"
target=_blank>https://lists.jboss.org/mailman/listinfo/rules-users</A><BR><BR></BLOCKQUOTE></DIV><FONT
color=#888888><BR><BR clear=all><BR>-- <BR>- <A
href="http://salaboy.wordpress.com"
target=_blank>http://salaboy.wordpress.com</A><BR>- <A
href="http://www.jbug.com.ar" target=_blank>http://www.jbug.com.ar</A><BR>-
Salatino "Salaboy" Mauricio
-<BR></FONT><BR>_______________________________________________<BR>rules-users
mailing list<BR><A
href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</A><BR><A
href="https://lists.jboss.org/mailman/listinfo/rules-users"
target=_blank>https://lists.jboss.org/mailman/listinfo/rules-users</A><BR><BR></BLOCKQUOTE></DIV><BR>
<P>
<HR>
<P></P>_______________________________________________<BR>rules-users mailing
list<BR>rules-users@lists.jboss.org<BR>https://lists.jboss.org/mailman/listinfo/rules-users<BR></BLOCKQUOTE><br>
<FONT FACE=3D"Helvetica" SIZE=3D2>Disclaimer: <A HREF="http://www.kuleuven.be/cwis/email_disclaimer.htm">http://www.kuleuven.be/cwis/email_disclaimer.htm</A> for more information.</FONT>
<BR>
</BODY></HTML>