posts - 431,  comments - 344,  trackbacks - 0
          原文地址:http://blog.chinaunix.net/u/21752/showart_2097331.html
          1.軟件清單
             jdk1.6
             jbpm4.2
             tomcat6
             oracle9i
             ant1.7
             eclipse-jee-galileo-win32

          2.配置JDK1.6
             在系統(tǒng)路徑上添加
             JAVA_HOME=c:\java\jdk16(我的JDK1.6安裝目錄)
             CLASS_PATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;

          3.配置ANT
             在系統(tǒng)路徑上添加
             ANT_HOME=c:\java\ant
             path=%ANT_HOME%\bin

          4.配置數(shù)據(jù)庫(使用Oracle,默認(rèn)使用的是hsqldb)
             (1)將class12.jar復(fù)制到j(luò)bpm-4.2\lib目錄下,否則找不到驅(qū)動(dòng)
             (2)進(jìn)入c:\jbpm-4.2\install\jdbc目錄修改文件oracle.properties文件,設(shè)置你自己的oracle數(shù)據(jù)庫名、用戶名和密碼
                注意jbpm-4.2的根目錄名稱不能更改,否則無法運(yùn)行ANT
             (3)修改c:\jbpm-4.2\install\build.xml,修改為<property name="database" value="oracle" /> <!-- {hsqldb | mysql | oracle | postgresql} -->
             (4)進(jìn)入c:\jbpm-4.2\install, 運(yùn)行 ant create.jbpm.schema,將創(chuàng)建數(shù)據(jù)庫腳本并在指定數(shù)據(jù)庫中創(chuàng)建表
            
          4.配置Tomcat
             (1)復(fù)制apache-tomcat-6.0.20.zip文件到c:\jbpm-4.2\install\downloads目錄中
             (2)進(jìn)入c:\jbpm-4.2\install,運(yùn)行ant  install.tomcat.
                完成后,在c:\jbpm-4.2目錄下生成一個(gè)tomcat目錄

          5.配置eclipse
             (1)復(fù)制eclipse-jee-galileo-win32.zip文件到c:\jbpm-4.2\install\downloads目錄中。
                注意:eclipse的名稱必須是eclipse-jee-galileo-win32
             (2)進(jìn)入c:\jbpm-4.2\install,運(yùn)行ant  install.eclipse,運(yùn)行時(shí)間較長
                完成后,在c:\jbpm-4.2目錄下生成一個(gè)eclipse目錄
             注意:如果沒有不用ant配置eclipse,安裝下面的GPD時(shí),提示出錯(cuò),點(diǎn)擊確定后,GPD依然可以使用,不知道為什么。

          6.配置流程設(shè)計(jì)器GPD
              啟動(dòng)eclipse,在Eclipse里添加更新站點(diǎn)的方法:
                 幫助 --> 安裝新軟件...
                 點(diǎn)擊 添加...
                 在 添加站點(diǎn) 對(duì)話框中,單擊 壓縮包...
                 找到 install/src/gpd/jbpm-gpd-site.zip 并點(diǎn)擊 '打開'
                 點(diǎn)擊 確定 在 添加站點(diǎn) 對(duì)話框中,會(huì)返回到 '安裝'對(duì)話框
                 選擇出現(xiàn)的 jPDL 4 GPD 更新站點(diǎn),全部選中
                 點(diǎn)擊 下一步.. 然后點(diǎn)擊 完成
                 接受協(xié)議
                 當(dāng)它詢問的時(shí)候重啟eclipse
            

          7.配置elcipse工程
             配置jBPM:
                點(diǎn)擊 Window --> Preferences
                選擇 JBoss jBPM --> jBPM-4.2 --> Runtime Locations
                點(diǎn)擊 Add...
                在 Add Location 對(duì)話框中,輸入一個(gè)名字,比如  jBPM-4.2 然后點(diǎn)擊 Search...
                在 Browse For Folder 對(duì)話框中,選擇你的jbpm-4.2根目錄,然后點(diǎn)擊 OK
                點(diǎn)擊 OK 在 Add Location 對(duì)話框中

          8.定義一個(gè)用戶庫
            用戶庫用來放置jBPM的庫文件。 如果你創(chuàng)建一個(gè)新工程, 只需要將用戶庫全部添加到build path
               點(diǎn)擊窗口 --> 屬性(Windows --> Preferences)
               選擇Java --> 創(chuàng)建路徑 --> 用戶類庫(Java --> Build Path --> User Libraries)
               點(diǎn)擊新建(New)
                  類型名字jBPM Libraries
               點(diǎn)擊添加JARs(Add JARs...)
               找到j(luò)BPM安裝程序下的lib目錄
               選擇lib下的所有jar文件并點(diǎn)擊打開(Open)
               選擇jBPM Libraries作為入口
               重新點(diǎn)擊添加JARs(Add JARs)
               在jBPM的安裝程序的根目錄下選擇jbpm.jar文件
               點(diǎn)擊打開(Open)
                   在jbpm.jar下選擇源碼附件(Source attachment)作為入口
               點(diǎn)擊編輯(Edit)
                    在源碼附件的配置(Source Attachment Configuration)對(duì)話框中,點(diǎn)擊目錄(External Folder...)
               找到j(luò)BPM安裝程序下的src目錄
               點(diǎn)擊選擇(Choose)
               點(diǎn)擊兩次'確定'(Ok)會(huì)關(guān)閉所有對(duì)話框

          9.創(chuàng)建一個(gè)jbpm demo
          創(chuàng)建一個(gè)例子,并將工作流程定義保存到數(shù)據(jù)庫中
          (1)創(chuàng)建一個(gè)java Project,起名“ myjbpm ”,然后就可以單擊“完成”了
          (2)將c:\jbpm-4.2\examples\src中的所有配置文件復(fù)制到myjbpm工程中的根目錄下
                   jbpm.cfg.xml
                   jbpm.hibernate.cfg.xml
                   jbpm.mail.properties
                   jbpm.mail.templates.examples.xml
                   logging.properties

          (3)修改jbpm.hibernate.cfg.xml
                hibernate.cfg.xml 的默認(rèn)設(shè)置是用 HSQL ,這是一個(gè)內(nèi)存數(shù)據(jù)庫,這種內(nèi)存數(shù)據(jù)庫用來代替項(xiàng)目實(shí)際所用的數(shù)據(jù)庫來做單元測(cè)試挺不錯(cuò)的。不過我們這里是要試試用 MySQL 、 Oracle
          MySQL 的更改如下:
             <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
             <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
             <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
             <property name="hibernate.connection.username">root</property>
             <property name="hibernate.connection.password">123456</property>

          Oracle 的更改如下:
             <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
             <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
             <property name="hibernate.connection.url">jdbc:oracle:thin:@192.168.123.10:1521:wxxrDB</property>
             <property name="hibernate.connection.username">xiong</property>
             <property name="hibernate.connection.password">xiong</property>

          (4)定義流程
             創(chuàng)建流程的定義文件是 pd.jpdl.xml,將下面代碼復(fù)制到文件中
          ------------------------------------------------------------------------------------------
          <?xml version="1.0" encoding="UTF-8"?>

          <process name="pd" xmlns="http://jbpm.org/4.0/jpdl">
             <start name="start1" g="207,62,48,48">
                <transition name="to state1" to="state1" g="-59,-17"/>
             </start>
             <end name="end1" g="208,293,48,48"/>
             <state name="state1" g="185,155,92,52">
                <transition name="to end1" to="end1" g="-47,-17"/>
             </state>
          </process>
          ------------------------------------------------------------------------------------------

          (5)布置jbpm

          import junit.framework.TestCase;
          import org.jbpm.api.Configuration;
          import org.jbpm.api.ExecutionService;
          import org.jbpm.api.HistoryService;
          import org.jbpm.api.ManagementService;
          import org.jbpm.api.ProcessEngine;
          import org.jbpm.api.RepositoryService;
          import org.jbpm.api.TaskService;

          public class ServicesTest extends TestCase {
             public void testObtainServicesAndDeployProcess() {
               Configuration configuration = new Configuration();
               ProcessEngine processEngine = configuration.buildProcessEngine();
           
               RepositoryService repositoryService = processEngine.getRepositoryService();
               ExecutionService executionService = processEngine.getExecutionService();
               TaskService taskService = processEngine.getTaskService();
               HistoryService historyService = processEngine.getHistoryService();
               ManagementService managementService = processEngine.getManagementService();
            
               // 開始部署一個(gè)新的流程文件
               String deploymentId = repositoryService.createDeployment().addResourceFromClasspath("pd.jpdl.xml").deploy();

             }
          }

             無論是 MySQL 還是 Oracle ,
             jbpm4_deployment表,你會(huì)發(fā)現(xiàn)多了一條記錄
             jbpm4_deployprop表會(huì)多了三條記錄,對(duì)應(yīng)id,key,version
             jbpm4_lob 表會(huì)多了一條記錄,保存流程圖


          參考文獻(xiàn):
          1.bestyanghui. JBPM4.1配置實(shí)用過程. http://blog.csdn.net/bestyanghui/archive/2009/10/12/4656914.aspx
          2.熊熊之家. jbpm4開發(fā)步驟. http://hi.baidu.com/freshman0502/blog/item/092bab19ea68a873dab4bd91.html
          posted on 2009-12-03 19:48 周銳 閱讀(831) 評(píng)論(1)  編輯  收藏 所屬分類: JavajBPM
          主站蜘蛛池模板: 湘潭县| 高邑县| 邵阳县| 西乌| 闵行区| 吉首市| 农安县| 开江县| 张家川| 五家渠市| 奉新县| 浦城县| 湘潭市| 兴宁市| 武汉市| 万盛区| 深圳市| 古丈县| 吉林市| 道真| 石泉县| 虞城县| 黎川县| 新乐市| 乡城县| 綦江县| 五河县| 朝阳县| 赤水市| 安图县| 工布江达县| 皮山县| 宝清县| 那曲县| 镇江市| 鹤壁市| 余庆县| 乌兰县| 桦南县| 磐安县| 吉水县|