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
             在系統路徑上添加
             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
             在系統路徑上添加
             ANT_HOME=c:\java\ant
             path=%ANT_HOME%\bin

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

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

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

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

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

          9.創建一個jbpm demo
          創建一個例子,并將工作流程定義保存到數據庫中
          (1)創建一個java Project,起名“ myjbpm ”,然后就可以單擊“完成”了
          (2)將c:\jbpm-4.2\examples\src中的所有配置文件復制到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 的默認設置是用 HSQL ,這是一個內存數據庫,這種內存數據庫用來代替項目實際所用的數據庫來做單元測試挺不錯的。不過我們這里是要試試用 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)定義流程
             創建流程的定義文件是 pd.jpdl.xml,將下面代碼復制到文件中
          ------------------------------------------------------------------------------------------
          <?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();
            
               // 開始部署一個新的流程文件
               String deploymentId = repositoryService.createDeployment().addResourceFromClasspath("pd.jpdl.xml").deploy();

             }
          }

             無論是 MySQL 還是 Oracle ,
             jbpm4_deployment表,你會發現多了一條記錄
             jbpm4_deployprop表會多了三條記錄,對應id,key,version
             jbpm4_lob 表會多了一條記錄,保存流程圖


          參考文獻:
          1.bestyanghui. JBPM4.1配置實用過程. http://blog.csdn.net/bestyanghui/archive/2009/10/12/4656914.aspx
          2.熊熊之家. jbpm4開發步驟. http://hi.baidu.com/freshman0502/blog/item/092bab19ea68a873dab4bd91.html
          posted on 2009-12-03 19:48 周銳 閱讀(831) 評論(1)  編輯  收藏 所屬分類: JavajBPM
          主站蜘蛛池模板: 玛多县| 晋州市| 曲沃县| 云南省| 郎溪县| 思茅市| 新巴尔虎左旗| 商洛市| 南城县| 双流县| 福泉市| 喜德县| 都安| 三原县| 衡南县| 天门市| 灌云县| 罗城| 大渡口区| 怀化市| 菏泽市| 涞源县| 兴安县| 霍林郭勒市| 宽城| 焦作市| 改则县| 友谊县| 电白县| 沧源| 平阳县| 华蓥市| 昭苏县| 黎城县| 北宁市| 民县| 台山市| 大新县| 腾冲县| 自贡市| 衡南县|