子在川上曰

            逝者如斯夫不舍晝夜
          隨筆 - 71, 文章 - 0, 評論 - 915, 引用 - 0
          數據加載中……

          jBPM開發入門指南(2)

          4 數據庫初始化

          jBPM 需要數據庫支持, jBPM 會把自己的一個初始化數據存儲到數據庫,同時工作流的數據也是存儲到數據庫中的。 jBPM 使用 Hibernate 來做為自己的存儲層,因此只要是 Hibernate 支持的數據庫, jBPM 也就支持。

          ?

          本文先以 MySQL 為例,然后再以 Oracle 為例,來談談 jBPM 的數據庫初始化操作。

          ?

          注:在上面的 JBoss 自帶的示例中,并沒有設置數據庫,那是因為 jBPM 默認使用的是內存數據庫 hsqldb

          4.1? MySQL

          ?

          1 、首先安裝 MySQL

          MySQL 的安裝比較簡單,網上也有很多文章,本文不再贅述。本指南所用 MySQL 版本為 MySQL 4.1 for windows )。再找一個 MySQL 客戶端,目的是方便查看數據庫中的數據,本文推薦使用 MySQL 網站上免費提供的“ MySQL Query Brower ”,當然你用其他的客戶端也行,比如 MySQL-Front

          ?

          2 、建庫

          MySQL 中創建一個庫,庫名: jbpm

          ?

          3 、生成建表的 SQL 語句并建表

          jbpm-starters-kit-3.1.1 下的子目錄 jbpm 改名為 jbpm.3 ,否則在執行下面的 ant 命令時會報如 jbpm.3 目錄不存在的錯誤:

          D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:361: The following error occurred while executing this line:

          D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:68: Basedir D:\jbpm-starters-kit-3.1.1\jbpm.3 does not exist

          ?

          DOS 窗下,進入 D:\jbpm-starters-kit-3.1.1\jbpm-db 目錄,執行如下命令:

          ant mysql.scripts

          ?

          執行成功后,在 D:\jbpm-starters-kit-3.1.1\jbpm-db\build\mysql\scripts 目錄里生成了四個 sql 文件,它們做什么用的一看名字就知道了。在 MySQL 客戶端中執行“ mysql.create.sql ”腳本,這樣將在 jbpm 庫中創建一個個的數據表。

          ?

          ?

          4.2? Oracle

          先安裝好 Oracle 服務器。我們公司有現存的 Oracle 服務器,也提供給了我一個屬于我自己的用戶名,一登錄就可以任意在我的庫之下創建表了。所以這一步就省了,沒有的自個先裝好吧。

          訪問 Oracle 推薦用“ PLSQL Developer ”。不過要連接 Oracle 還要在本機上裝上 Oracle 自己的客戶端程序,里面提供了 JDBC 包和一些配置。要連接服務器還得配置一下,我一般都是不用 GUI 而直接改 tnsnames.ora 文件,在我的電腦里此文件的目錄地址是: D:\oracle\ora92\network\ADMIN\tnsnames.ora ,內容如下 ( 兩面有兩個配置了 )

          # TNSNAMES.ORA Network Configuration File: E:\oracle\ora92\network\admin\tnsnames.ora

          # Generated by Oracle configuration tools.

          ?

          WXXRDB_192.168.3.2 =

          ? (DESCRIPTION =

          ??? (ADDRESS_LIST =

          ????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.2)(PORT = 1521))

          ??? )

          ??? (CONNECT_DATA =

          ????? (SID = wxxrDB)

          ????? (SERVER = DEDICATED)

          ??? )

          ? )

          ?

          WXXRDB_192.168.4.2 =

          ? (DESCRIPTION =

          ??? (ADDRESS_LIST =

          ????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.2)(PORT = 1521))

          ??? )

          ??? (CONNECT_DATA =

          ????? (SID = wxxrDB)

          ????? (SERVER = DEDICATED)

          ??? )

          ? )

          ?

          前面都是 Oracle 的一些知識,不會的 Google 一下吧。最后配置好后,用 PLSQL Developer 輸入你的用戶名和密碼聯接到 Oracle ,就算 OK 了。

          ?

          參考上面 MySQL 的步驟,基本一樣:

          (1)?????? jbpm 改名為 jbpm.3

          (2)?????? 再執行 ant oracle.scripts

          (3)?????? jbpm-db\build\oracle\scripts 目錄的 oracle.create.sql 腳本,在 Oracle 中生成 jBPM 的所有表。在“ PLSQL Developer ”中可以新建一個 Command Windows 窗口然后輸入命令: @D:\jbpm-starters-kit-3.1.1\jbpm-db\build\oracle\scripts\oracle.create.sql

          ?

          作者簡介
          陳剛,廣西桂林人,著作有《Eclipse從入門到精通》
          您可以通過其博客了解更多信息和文章:
          http://www.ChenGang.com.cn

          posted on 2006-08-22 18:44 陳剛 閱讀(36204) 評論(18)  編輯  收藏 所屬分類: jBPM

          評論

          # re: jBPM開發入門指南(2)   回復  更多評論   

          將 jbpm-starters-kit-3.1.1 下的子目錄 jbpm 改名為 jbpm.3 ,否則在執行下面的 ant 命令時會報如 jbpm.3 目錄不存在的錯誤
          ==================
          其實修改配置文件也是一種不錯的選擇,見
          http://blog.csdn.net/jeffen2006/archive/2006/09/12/1213447.aspx
          2006-09-15 09:05 | jeffen2006

          # jbpm-starters-kit-3.1.2的jbpm-db\build\目錄下為什么沒有oracle這個文件夾  回復  更多評論   

          jbpm-starters-kit-3.1.2的jbpm-db\build\目錄下為什么沒有oracle這個文件夾,怎么辦?
          我自己新建了一個也不行
          往各位大俠指教一二
          2006-10-13 15:20 | 呵呵發揮反對何等和

          # re: jBPM開發入門指南(2)   回復  更多評論   

          跟jdk有關,換個1.5的就可以
          2007-01-11 14:52 | odexuce

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我的也沒有,不知道怎么回事!!
          2007-06-13 14:45 | yzl

          # re: jBPM開發入門指南(2)   回復  更多評論   

          大哥,根本就執行不了,說是抽象方法沒有被覆蓋,暈了,到底是怎么回事啊,我用的jdk1.6,也回出現這樣的問題么,
          能不能把最新的方法貼上來啊,謝謝!!!
          2007-06-13 15:14 | yzl

          # re: jBPM開發入門指南(2)   回復  更多評論   

          jBPM這種開源軟件,各版本在使用上都是有差異的。即使是同一版本,也可能因為環境、操作等因素出現問題。很久不用jBPM早忘記了,沒法解決各位的問題,實在抱歉。
          2007-06-14 09:35 | 陳剛

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我用的是jbpm-starters-kit-3.1.4,jbpm-db\build\目錄下也沒有oracle這個文件夾,但我運行了一下ant oracle.scripts 就有了。
          2007-08-16 10:02 | Gone with the Wind

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我運行之后oracle目錄是有了,但是文件沒有產生出來,這是怎么回事啊?
          2007-08-24 16:50 | aquila

          # re: jBPM開發入門指南(2)   回復  更多評論   

          大恩不言謝!!
          我前行中的一座燈塔!!!!
          2007-09-04 10:05 | liumingrui

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我將繼續關注………………
          再次為你所作的一切表示感謝!!
          2007-09-04 10:06 | liumingrui

          # re: jBPM開發入門指南(2)   回復  更多評論   

          感謝 非常感謝
          我按照上面的方法 ,到現在為止
          都成功了
          只要細心點就可以了
          2008-09-18 09:50 | 吃了年輕的虧

          # re: jBPM開發入門指南(2) [未登錄]  回復  更多評論   

          呵呵,我照葫蘆畫瓢通過了,感謝樓主。
          2008-09-22 17:22 | 小鳥

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我 在 DOS 窗下,進入 D:\jbpm-starters-kit-3.1.1\jbpm-db 目錄,執行如下命令:
          ant mysql.scripts

          就報錯,如下圖:
          compile.jbpm.test:
          [mkdir] Created dir: D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
          [javac] Compiling 252 source files to D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
          [javac] D:\jbpm-starters-kit-3.1.1\jbpm.3\src\java.jbpm.test\org\jbpm\persistence\db\MockConnection.java:13:org.jbpm.persistence.db.MockConnection 不是抽象的,并且未覆蓋 java.sql.Connection 中的抽象方法 createStruct(java.lang.String,java.lang.Object[])
          [javac] public class MockConnection implements Connection {
          [javac] ^
          [javac] 注意:某些輸入文件使用或覆蓋了已過時的 API。
          [javac] 注意:要了解詳細信息,請使用 -Xlint:deprecation 重新編譯。
          [javac] 1 錯誤


          哪位大俠幫小妹一下!剛學這個,不太明白
          2008-10-30 00:23 | cjx

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我也出現compile.jbpm.test:
          [mkdir] Created dir: D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
          [javac] Compiling 252 source files to D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
          [javac] D:\jbpm-starters-kit-3.1.1\jbpm.3\src\java.jbpm.test\org\jbpm\persistence\db\MockConnection.java:13:org.jbpm.persistence.db.MockConnection 不是抽象的,并且未覆蓋 java.sql.Connection 中的抽象方法 createStruct(java.lang.String,java.lang.Object[])
          [javac] public class MockConnection implements Connection {
          [javac] ^
          [javac] 注意:某些輸入文件使用或覆蓋了已過時的 API。
          [javac] 注意:要了解詳細信息,請使用 -Xlint:deprecation 重新編譯。
          [javac] 1 錯誤

          這個錯誤,請問是什么原因?該怎么解決?
          2008-10-30 17:23 | foamlower

          # re: jBPM開發入門指南(2)   回復  更多評論   

          我想是不是因為我的JDK版本和它程序里的版本不一樣,源程序中java.sql.Connection 還有很多方法在類MockConnection未實現,可把它實現,重新運行則報出 [javac] Compiling 55 source files to E:\download\eclipsejbpm\jbpm-starters-k
          it-3.1.4\jbpm.3\build\classes.jbpm.test
          [javac] E:\download\eclipsejbpm\jbpm-starters-kit-3.1.4\jbpm.3\src\java.jbpm
          .test\org\jbpm\persistence\db\MockConnection.java:174: -source 1.4 中不支持注釋
          [javac] (請使用 -source 5 或更高版本以啟用注釋)
          [javac] @Override
          [javac] ^
          [javac] E:\download\eclipsejbpm\jbpm-starters-kit-3.1.4\jbpm.3\src\java.jbpm
          .test\org\jbpm\persistence\db\MockConnection.java:244: -source 1.4 中不支持泛型
          [javac] (請使用 -source 5 或更高版本以啟用泛型)
          [javac] public void setTypeMap(Map<String, Class<?>> map) throws SQLExceptio
          n {
          [javac] ^
          [javac] 2 錯誤
          查看我的機子上的JDK版本,運行
          java –version java version "1.3.1_01"
          javac –version javac 1.6.0_05
          現在問題又多了幾個:
          1、為何這兩個版本查看的結果不一樣?
          2、這到底是它源代碼的原因還是我的java版本太低?
          3、在build.xml文件中未發現javac的節點?那他又是如何先編譯的?
          我現在改為用jbpm-jpdl-suite-3.2.3.zip,里面的sql語句已經建好了,只要拷貝這些建表語句執行就可以了。不過針對上面問題,還是希望有人能幫我解答。
          我的郵箱是:stta0405@163.com,希望知道原因的朋友郵箱告知我,先道聲謝了。
          2008-10-31 11:53 | foamlower

          # re: jBPM開發入門指南(2)   回復  更多評論   

          你從cmd中進入..\jbpm-starters-kit-3.1.2\jbpm-db目錄,然后ant oracle.scripts按回車鍵就可以了,然后到jbpm-db\build\oracle\scripts就可以找到4個sql文件了。
          2009-03-18 22:12 | wushx

          # re: jBPM開發入門指南(2)   回復  更多評論   

          lang.String,java.lang.Object[])
          [javac] public class MockConnection implements Connection {
          [javac] ^
          [javac] 注意:某些輸入文件使用或覆蓋了已過時的 API。
          [javac] 注意:要了解詳細信息,請使用 -Xlint:deprecation 重新編譯。
          [javac] 1 錯誤
          2009-04-12 17:13 | fu_tingying

          # re: jBPM開發入門指南(2)   回復  更多評論   

          Я последнее время что-то подсел на него. Это такой блог куда может писать каждый обо всём на свете, но тематика довольно обширная и интересная. Очень много нового узнаёшь, причем большинство других блогов, новостных агенств, да что там говорить - даже радиостанций тупо передирают с него информацию.
          2010-04-20 15:29 | jordan shoes
          主站蜘蛛池模板: 浦江县| 丹棱县| 大港区| 花莲市| 华阴市| 攀枝花市| 弋阳县| 石棉县| 新昌县| 大冶市| 武山县| 屏南县| 凤山市| 碌曲县| 侯马市| 望都县| 集贤县| 虞城县| 瑞金市| 郧西县| 诏安县| 谷城县| 龙门县| 兰考县| 东阳市| 甘德县| 上犹县| 怀来县| 宁远县| 宜兴市| 板桥市| 孟州市| 镇安县| 湖南省| 宁河县| 曲周县| 南康市| 深圳市| 新营市| 清原| 石柱|