<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=gb2312"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:ËÎÌå;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@ËÎÌå";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        text-indent:21.0pt;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:24526854;
        mso-list-type:hybrid;
        mso-list-template-ids:-2083981190 430859976 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:39.0pt;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%2\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:63.0pt;
        text-indent:-21.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:84.0pt;
        text-indent:-21.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:105.0pt;
        text-indent:-21.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%5\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:126.0pt;
        text-indent:-21.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:147.0pt;
        text-indent:-21.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:168.0pt;
        text-indent:-21.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%8\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:189.0pt;
        text-indent:-21.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:210.0pt;
        text-indent:-21.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link="#0563C1" vlink="#954F72" style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>Hi Dan,<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt'><span lang=EN-US>Many thanks for your generous help! I think my workflows are too complicated, Local database connection and webservice are needed. Here is one workflow in the attachment. All the workflow are same except parameters, but it won¡¯t be executed in your machine.<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt'><span lang=EN-US>I have understood the difference between runModelInThread() and runModel() by your help. I want to parallel execute workflow because of project requirements, so I changed my demo code as following. But it can¡¯t execute all workflows without any error(some workflow did be executed correctly). There are two typical mistakes:<o:p></o:p></span></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>       </span></span></span><![endif]><span lang=EN-US>parseMoML() mistake: it seems like that execution before workflow parse. <o:p></o:p></span></p><p class=MsoListParagraph align=left style='margin-left:51.0pt;text-align:left;text-indent:3.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>Error running model or finding output file:null<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:0cm'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif"'>or<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>Error running model or finding output file:XML element "entity" triggers exception. in file:/E:/Java/KeplerWF_OrderSubmit_Version_MatchResourceL2Order20141117/MCA_KeplerWorkflow_Engine/ at line 1 and column 38692<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>Caused by:<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:0cm'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'> java.lang.NullPointerException</span></i><span lang=EN-US><o:p></o:p></span></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>       </span></span></span><![endif]><span lang=EN-US>Cannot create new native thread</span><span style='font-family:ËÎÌå'>£º</span><span lang=EN-US><o:p></o:p></span></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>Running model in current thread: L2CP201412090048KeplerWF<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>138 ms. Memory: 2938880K Free: 1208526K (41%)<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>Error running model or finding output file:Executing command "java -jar /home/MCA/Software/apache-tomcat-7.0.55/webapps/MultiProcessSysWebService_Thread//WEB-INF/lib/WaitL3OrderExecuted.jar 10.3.10.1 3306 mccps mca mca L3RN201412090048 Finish" returned a non-zero return value of 1.<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>The last input was: null.<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>The standard output was: Error occurred during initialization of VM<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>java.lang.OutOfMemoryError: unable to create new native thread<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>    at java.lang.Thread.start0(Native Method)<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>    at java.lang.Thread.start(Thread.java:714)<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>    at java.lang.ref.Reference.<clinit>(Reference.java:187)<o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:15.0pt'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>The error output was: <o:p></o:p></span></i></p><p class=MsoListParagraph align=left style='margin-left:39.0pt;text-align:left;text-indent:0cm'><i><span lang=EN-US style='font-size:7.5pt;font-family:"Arial","sans-serif";color:red'>  in .L2CP201412090048KeplerWF.L3RN201412090048WaitExecuted<o:p></o:p></span></i></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt'><span lang=EN-US>Why? Need I change the JVM parameters in my linux server? Because of I run hundreds of threads? If needed, should I set it in kepler code? <o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-US>Any help will be grately appriciated. Thanks for your attention!<o:p></o:p></span></p><p class=MsoNormal align=right style='text-align:right;text-indent:21.0pt'><span lang=EN-US>with regards,<o:p></o:p></span></p><p class=MsoNormal align=right style='text-align:right;text-indent:21.0pt'><span lang=EN-US>Jie Zhang<o:p></o:p></span></p><div style='mso-element:para-border-div;border:none;border-bottom:dotted windowtext 3.0pt;padding:0cm 0cm 1.0pt 0cm'><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;border:none;padding:0cm'><span lang=EN-US><o:p> </o:p></span></p></div><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>import org.kepler.ExecutionEngine;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>import ptolemy.actor.CompositeActor;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>import Workflow.Kepler.KeplerL2OrderWorkFlowGenerator;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>public class test extends Thread {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         public String Id ;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         private ExecutionEngine engine;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         public test(String Id)  {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   this.Id=Id;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         }<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         public void run() {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   // 1.Generate Moml Kepler Workflow by my class<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   KeplerL2OrderWorkFlowGenerator kL2WFG = new KeplerL2OrderWorkFlowGenerator(<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                                     this.Id);             <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   String Moml=kL2WFG.KeplerWorkflow();<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   //2.Run Moml by Kepler ExecutionEngine<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   System.out.println("Begin to execute!")<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                  engine = ExecutionEngine.getInstance();<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   try {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                            CompositeActor model = (CompositeActor) ExecutionEngine<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                                                        .parseMoML(Moml); <span style='color:red'>//this work seems slower than execution thread!<o:p></o:p></span></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                                     engine.runModel(model);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   } catch (Exception e) {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                            System.out.println("Error running model or finding output file: "<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                                               + e.getMessage());<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   }                 <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         }<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         public static void main(String[] args) {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   // TODO Auto-generated method stub<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   for (int i = 0; i < 50; i++) {<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                            test tempTest=new test("WorkFlow"+i);<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                            tempTest.start();<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>                   }<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>         }<o:p></o:p></span></p><div style='mso-element:para-border-div;border:none;border-bottom:dotted windowtext 3.0pt;padding:0cm 0cm 1.0pt 0cm'><p class=MsoNormal align=left style='text-align:left;border:none;padding:0cm'><span lang=EN-US>}<o:p></o:p></span></p></div><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>