風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0

          導航

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(11)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          收藏夾

          友情鏈接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          jBPM之hello world

          參考
          http://www.aygfsteel.com/chengang/archive/2006/07/13/57986.html

          下面是根據官方開發向導及自己的經驗寫的

          開發向導上提供的helloworld例子,這個流程是單向的,沒有任何的分支,且沒有自定義actionHandler,使用的是默認的handler
          public void testHelloWorldProcess() {
            // This method shows a process definition and one execution// of the process definition.  The process definition has // 3 nodes: an unnamed start-state, a state 's' and an // end-state named 'end'.// The next line parses a piece of xml text into a// ProcessDefinition.  A ProcessDefinition is the formal // description of a process represented as a java object.
            ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
              "<process-definition>" +
              "  <start-state>" +
              "    <transition to='s' />" +
              "  </start-state>" +
              "  <state name='s'>" +
              "    <transition to='end' />" +
              "  </state>" +
              "  <end-state name='end' />" +
              "</process-definition>"
            );
            
            // The next line creates one execution of the process definition.// After construction, the process execution has one main path// of execution (=the root token) that is positioned in the// start-state.
            ProcessInstance processInstance = 
                new ProcessInstance(processDefinition);
            
            // After construction, the process execution has one main path// of execution (=the root token).
            Token token = processInstance.getRootToken();
            
            // Also after construction, the main path of execution is positioned// in the start-state of the process definition.
            assertSame(processDefinition.getStartState(), token.getNode());
            
            // Let's start the process execution, leaving the start-state // over its default transition.
            token.signal();
            // The signal method will block until the process execution // enters a wait state.// The process execution will have entered the first wait state// in state 's'. So the main path of execution is now // positioned in state 's'
            assertSame(processDefinition.getNode("s"), token.getNode());
          
            // Let's send another signal.  This will resume execution by // leaving the state 's' over its default transition.
            token.signal();
            // Now the signal method returned because the process instance // has arrived in the end-state.
            
            assertSame(processDefinition.getNode("end"), token.getNode());
          }

          更詳細的例子可以看參考,里面有很詳細的操作說明。




          下面是根據參考例子測試時出現的一些問題及說明。
          一、關于數據庫,首先要修改數據庫連接,然后創建數據庫,里面的表格jBPM提供相應的API去創建。
          public?void?testDeployProcessDefinition()?throws?FileNotFoundException?{?
          ????????
          //?從?jbpm.cfg.xml?取得?jbpm?的配置?
          ????????JbpmConfiguration?config?=?JbpmConfiguration.getInstance();
          ????????config.dropSchema();//刪除數據表結構
          ????????config.createSchema();//創建數據表結構
          ????????
          //?創建一個?jbpm?容器?
          ????????JbpmContext?jbpmContext?=?config.createJbpmContext();?
          ????????
          //?由?processdefinition.xml?生成相對應的流程定義類?ProcessDefinition?
          ????????InputStream?is?=?new?FileInputStream("processes/simple/processdefinition.xml");?
          ????????ProcessDefinition?processDefinition?
          =?ProcessDefinition.parseXmlInputStream(is);?
          ????????
          ????????
          //?利用容器的方法將流程定義數據部署到數據庫上?
          ????????jbpmContext.deployProcessDefinition(processDefinition);?
          ????????
          //?關閉?jbpmContext?
          ????????jbpmContext.close();?
          ????}

          這個是根據流程配置文件最后生成的數據庫信息的測試方法,剛開始我還有一個疑問,數據庫和數據表是系統自動創建還
          是要手動創建,數據庫是要手動創建的,數據表可以自動創建的



          posted on 2007-01-18 10:55 風人園 閱讀(1012) 評論(0)  編輯  收藏 所屬分類: jBPM

          主站蜘蛛池模板: 灵寿县| 来宾市| 博野县| 邵阳市| 岳阳市| 云龙县| 台山市| 邢台市| 丹巴县| 化德县| 神农架林区| 莱西市| 凤凰县| 锦屏县| 星子县| 汝阳县| 西充县| 海口市| 白沙| 北辰区| 丰台区| 岳普湖县| 铁力市| 徐汇区| 栾城县| 宽城| 雷山县| 宜州市| 高密市| 获嘉县| 金寨县| 通河县| 古浪县| 织金县| 绍兴县| 页游| 松阳县| 盐亭县| 定结县| 介休市| 凤台县|