欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
學(xué)習jbpm部署部分
所有圖片請到j(luò )bpm開(kāi)源站點(diǎn)去查看。此部分對應著(zhù)jbpm站點(diǎn)的doc的部署那一部分。這部分的理解應該沒(méi)有什么太大出入,歡迎各位收藏瀏覽我的文章。謝謝!
對于一些常用單詞或者行業(yè)內已經(jīng)常用的單詞我并沒(méi)有做翻譯,例如schedule等,我想這樣能夠更方便大家的理解。job我譯成一次作業(yè)了。還有一些是我吃不準的,請見(jiàn)諒!如果有什么疑問(wèn)或者見(jiàn)地請與我聯(lián)系!我會(huì )盡快更正。
希望能與您共同進(jìn)步,歡迎交流:yun15291li@hotmail.com
序言:
在經(jīng)過(guò)了jbmp開(kāi)始入門(mén)以及指南兩章后,對JBPM有個(gè)大概的了解。下面我們來(lái)看看JBPM部署方面的知識。
接下來(lái)介紹如何把JBPM部署到不同的環(huán)境中。
JBPM可以在許多不同的環(huán)境進(jìn)行部署,其中包括ant task(應該算是個(gè)附屬腳本,不應該算做部署環(huán)境吧),swing client,web app,ejb,web services中。
部署jbpm到j(luò )2se環(huán)境:
這應該算是jbpm可以部署的幾種方案中最簡(jiǎn)單的,把jbpm應用到一個(gè)簡(jiǎn)單java main程序中,一個(gè)單元測試中,一個(gè)swing應用中。
作為最最基礎的,jbpm能夠被應用在簡(jiǎn)單的java程序中。你只要把jbpm.core.jar添至系統classpath中并且配置好數據庫。在java程序中你就可以獲得jbpm服務(wù)org.jbpm.JbpmServiceLocator
下面給出幾種部署:
1、  在webapp中:如果一個(gè)servlet容器:tomcat、resin等。
2、  在一個(gè)ant-task:jbpm包含一個(gè)ant-tasks,用來(lái)給process archive打包并且部署一個(gè)process archive。
3、  JUnite test中:jbpm的默認配置是想開(kāi)發(fā)測試process archives,應用于一個(gè)瞬時(shí)、內存數據庫中,那也就意味著(zhù)你不用建立一個(gè)獨立數據庫和初始化它。Jbpm檢測到?jīng)]有jbpm表,那么就會(huì )自動(dòng)建好。這里應用的是hibernate框架來(lái)實(shí)現對象持久層。
4、  在一個(gè)定制的app中:當你的應用需要整合一個(gè)工作流管理系統,你可以?xún)H僅使用jbpm作為你們應用當中的一個(gè)組件,甚至于您系統的用戶(hù)都沒(méi)注意到使用jbpm這一點(diǎn)。
部署jbpm到一個(gè)web app中:
1、  安裝jdbc驅動(dòng)(一般就是下載相應的jar文件追加classpath或者copy到WEB-INF/lib目錄下)
2、  把jbpm.properties放到WEB-INF/classes中
3、  這些jar文件放到WEB-INF/lib目錄下
a)       jbpm.core.jar
b)       hibernate-2.1.1.jar
c)        c3p0.jar
d)       dom4j.jar
e)        cglib2.jar
f)         ehcache.jar
g)       odmg.jar
h)       commons-collections.jar
i)         commons-logging.jar
j)         commons-beanutils.jar
k)       commons-lang.jar
4、  jbpm.war到app下(原文沒(méi)寫(xiě),我猜也是應該如此的。)等我測試后在公布正確步驟,會(huì )在今后文章中完善。
部署jbpm到一個(gè)J2EE服務(wù)器中:
簡(jiǎn)單的部署在J2EE container中,jbpm已經(jīng)寫(xiě)了一個(gè)ejb-wrapper來(lái)包裹jbpm api,接下來(lái)的大致意思就是:利用ant可以幫助您把jbpm部署到j(luò )boss中。這一點(diǎn)我測試過(guò)了。其他請參看原文。
配置:
適當的配置jbpm,請遵從下面4種配置機制:
1、 把jbpm.properties放到classloader能夠找到的位置,因為它加載的時(shí)候使用getResourceAsStream方法。不懂的可以查看jdk。大致就是放到classpath可以找到的位置,如web app中的WEB-INF/classes中,在tomcat啟動(dòng)后就會(huì )自動(dòng)把此目錄下文件加載到classpath中。
2、  在調用getInstance方法之前加載配置文件(properties)。
3、  在調用getInstance方法之前調用配置文件(classloader,string)。
4、  對于創(chuàng )建復雜不同的jbpm配置實(shí)例在相同的jvm(classloader),你可以用jbpm配置和servicelocator的構造器并且不用做任何靜態(tài)初始化和配置。
配置參數如下:
屬性
描述
默認值
hibernate.*
@seethe hibernate docs
在jbpm配置文件中直接完成hibernate的配置
默認是一個(gè)內存數據庫hsqldb。主要是為測試而用的
jbpm.create.tables
{ only-if-not-present | never }
方便應用,jbpm在最開(kāi)始啟動(dòng)時(shí)候會(huì )檢測是否存在表,如果沒(méi)有則會(huì )自動(dòng)創(chuàng )建。產(chǎn)生ddl語(yǔ)句開(kāi)始drop表和約束然后創(chuàng )建表和約束
only-if-not-present
jbpm.create.tables.log
{ true | false }
Ddl語(yǔ)句創(chuàng )建表是否被log輸出.
false
jbpm.create.tables.query
{ a plain SQL query }
簡(jiǎn)單的sql查詢(xún)語(yǔ)句,這個(gè)屬性會(huì )檢測表是否存在,并且這個(gè)屬性?xún)H僅用在屬性“‘jbpm.create.tables‘”被設置成’only-if-not-present‘的情況。如果執行sql查詢(xún)語(yǔ)句出現異常,那么jbpm會(huì )假定表不存在.
SELECT ID FROM JBPM_DEFINITION WHERE ID = 1
jbpm.apply.transactions
{ yes | no }
Jbpm如何處理transaction(事務(wù))‘yes‘意思是對于執行每個(gè)更新方法把事務(wù)應用到j(luò )dbc連接上。其中排除定義在*readservices中的更新方法?!畁o‘意味著(zhù)將不會(huì )應用任何事務(wù)處理操作。’no’能夠應用在一個(gè)容器或者用戶(hù)自己提供的jdbc連解決中。
yes
jbpm.file.mgr
{ database | filesystem | the class-name of a class that implements org. jbpm. persistence. FileMgr }
Jbpm如何存儲文件(例如在process archive中的類(lèi)文件)。此配置被添加是因為一些數據庫驅動(dòng)(例如oracle)不能很好的處理二進(jìn)制文件。
database
jbpm.file.mgr.directory
Jbpm存儲文件的根目錄的名字,設置成如:/usr/jbpm或者c:/data/jbpm
-no default specified-
jbpm.validate.xml
{ true | false }
如果這個(gè)屬性設置為false的話(huà),Process archive分析將不會(huì )有效驗證processdefinition.xml文件。
true
jbpm.id.generator
{ default | the class-name of a class that implements org. jbpm. persistence. IdGenerator }
產(chǎn)生ID方式。用于jbpm持久對象。
org. jbpm. persistence. hibernate. SequenceBlockIdGenerator
jbpm.id.generator.node.id
{ an integer between 0 and 65535 }
在cluster中這個(gè)節點(diǎn)(node)的唯一ID
0
jbpm.id.generator.bocksize
{ an integer }
(不知道怎么翻譯好,下面是原文)大致意思是ID產(chǎn)生模式的區塊大小。
100
jbpm.id.generator.configuration
{ same | the resource of the id generator hibernate properties }
ID產(chǎn)生器需要一個(gè)在分離事務(wù)中的session。因此session工廠(chǎng)用于產(chǎn)生ID,ID可以不從數據源管理的container中獲得。所以如果你不使用datasource(數據源)在其中管理事務(wù)的話(huà),你可以使用默認值?!畇ame‘ 意思是和其他配置參數采用相同配置屬性來(lái)為ID產(chǎn)生器的session工廠(chǎng)。否則,采用hibernate配置來(lái)產(chǎn)生使用ID產(chǎn)生器session工廠(chǎng)。(上面這段話(huà)可能翻譯有誤,大致意思如此。)
same
jbpm.log.stdout
{on|off}
配置公用(普通)log輸出。當設置為off,jbpm不再配置公用(普通)log。
on
jbpm.log.default
{ trace | debug | info | warn | error | fatal }
默認的log級別。
error
jbpm.log.package.* (whererepresents any package name)
{ trace | debug | info | warn | error | fatal }
以給定的值覆寫(xiě)jbpm默認的log級別。
jbpm. log. package. org. jbpm= debug
jbpm.scheduler.wait.period
long
在schduler polls中等待的毫秒數。
5000
jbpm.execute.actions
{ true | false }
如果設置為true,jbpm將執行指定的action handler??梢栽O置為false,為了測試目的以免執行業(yè)務(wù)流程。
true
JBPM數據庫:
概述:
Jbpm存儲所有信息在數據庫中:
1、  過(guò)程定義
2、  流程執行的運行時(shí)信息
3、  流程log
Schema generation
默認狀態(tài)下,第一次訪(fǎng)問(wèn)數據庫時(shí)候,jbpm將會(huì )檢測表是否存在。如果不存在那么jbpm數據庫表將會(huì )被自動(dòng)創(chuàng )建。這可以在上面配置信息中找到’jbpm.create.tables’
針對一個(gè)數據庫的schema能夠在一個(gè)文件中創(chuàng )建,按照下面的步驟:
1、  更新文件:${jbpm.home}/core/schema.generation.properties來(lái)反射你選擇的數據庫。默認的數據庫是Hypersonic DB。在這個(gè)文件里有樣本生成??梢苑抡丈勺约盒枰奈募?。
2、 在文件夾${jbpm.home}/core用ant generate.dll產(chǎn)生schema。產(chǎn)生的文件在${jbpm.home}/target/sql/create-jbpm-database.sql
更換數據庫:
1、  更新文件core/schema.generation.properties
2、  把對應的jdbc驅動(dòng)放到lib目錄(classpath能夠找得到)
3、  在dos(命令提示符)下cd到打開(kāi)core目錄
4、  執行ant generate.dll
5、  現在,你已經(jīng)產(chǎn)生dll腳本在${jbpm.home}/target/sql/create-jbpm-database.sql
6、  當運行jbpm時(shí)候,確信你提供了正確的hibernate配置。在上面的配置中已經(jīng)介紹。
一些其他注意事項:
1、  有一些數據庫想firebird和oracle需要添加如下屬性配置到j(luò )bpm.properties:
Hibernate.query.substitutions=true 1,false 0
2、校驗數據庫中的text類(lèi)型的長(cháng)度,默認一個(gè)string類(lèi)型是255長(cháng)度。你可以以?xún)煞N方式調整:通過(guò)增加長(cháng)度參數,在hibernate mapping 文件中像這樣:<property name="configuration" type="string" length="10000"/>, 或者通過(guò)手動(dòng)更新剛才用ant產(chǎn)生的dll腳本。
APPSERVER 兼容性:
Scheduler:
Jbpm有一個(gè)scheduler。ActionHandler實(shí)現器(和其他代理實(shí)現類(lèi))可以通過(guò)schedulerservices來(lái)schedule工作。SchedulerService可以在ExecutionContext中的getSchedulerService方法來(lái)進(jìn)行訪(fǎng)問(wèn)。
Jbpm的scheduler包括4部分:
1、  scheduler service:允許schedule和取消一次作業(yè)。實(shí)際上scheduler service僅僅插入schedule和移除jbpm數據庫中的一次作業(yè)記錄。在某一個(gè)過(guò)程執行事件actions能被執行,在actions里面,你可以schedule和取消一次作業(yè)。
2、  scheduler server:它是一個(gè)能夠檢查一次作業(yè)取消還是執行的組件。Scheduler server應該比較有規律(例如每隔5m)就被調用一次。為完成此功能,jbpm提供3和4功能。
3、  scheduler servlet:響應request的servlet。通知2來(lái)檢查工作。
4、  scheduler client:一個(gè)非常簡(jiǎn)單的java程序,用來(lái)一個(gè)request給3。時(shí)間間隔一般比較?。◣酌耄?。
一個(gè)關(guān)于如何在過(guò)程定義中使用scheduler的例子,請參看scheduler test:
1、  core/src/java/org/jbpm/delegation/action/ScheduleJobActionHandler.java是一個(gè)可配置的用來(lái)schedule一次作業(yè)的acition。
2、  core/src/java/org/jbpm/delegation/action/CancelJobActionHandler.java是一個(gè)可配置的用來(lái)取消一個(gè)或者多個(gè)作業(yè)的action。
3、  core/src/test/resources/process/schedulingprocess.xml查看上面兩個(gè)文件如何使用
在jboss cluster中的jbpm
這里講的是如何在jboss cluster部署jbpm 企業(yè)bean。前提:你需要有兩個(gè)或者更多的計算機,并且預先裝好jvm和ant??蛇x地,你能夠在一個(gè)計算機上運行多個(gè)jboss實(shí)例,但是這種情況,這里并沒(méi)有介紹。
安裝:
+----------------+
| Node 1         |
| +------------+ |
| | Hypersonic |.|...................................... . . .
| | Database   | |            :                    :
| | for jBpm   | |  +---------:------+   +---------:------+
| +------------+ |  | Node 2  :      |   | Node 3  :      |
|       :        |  |         :      |   |         :      |
| +------------+ |  | +------------+ |   | +------------+ |
| | jBpm ejb   | |  | | jBpm ejb   | |   | | jBpm ejb   | |
| | module     | |  | | module     | |   | | module     | |
| +------------+ |  | +------------+ |   | +------------+ |
|       !        |  |         !      |   |         !      |
+-------!--------+  +---------!------+   +---------!------+
!                     !                    !
!                     !                    !
!!!!!!! remote application clients !!!!!!!!!!!!!!
在每個(gè)node上做如下操作:
安裝jboss3.2.3或者更高版本
更新 jbpm.home目錄里的build.properties
在${jbpm.home}里運行ant build
在${jbpm.home}里運行‘a(chǎn)nt configure.jboss.3.2.3+‘
在文件 ${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 更改 下面一行。
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
請使用node1的ip,不要使用localhost(即使是在node1上也是不要使用localhost)。切記!
在node1上執行下面操作:
運行‘{jboss.home}/bin/run.bat -c jbpm‘
在目錄 ${jbpm.home}/ejb ‘a(chǎn)nt deploy‘ 將會(huì )創(chuàng )建 ${jbpm.home}/ejb/target/j2ee/jbpm.ejb.jar然后copy 它到 ${jboss.home}/server/jbpm/farm (這將稍后是部署ejb模塊到所有node上)
在目錄${jbpm.home}/ejb中運行 ‘a(chǎn)nt deploy.process.archives‘ 上載process archives到數據庫中。
在node2和其他沒(méi)有數據庫的節點(diǎn)(如3),做如下操作:
On nodes 2 and higher (=the ones without a database), also do the following :
刪除文件 ${jboss.home}/server/jbpm/deploy/jbpm-db-service.xml
從文件 ${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 中移除下面這一行:‘<depends>jboss:service=JbpmDatabase</depends>‘
開(kāi)啟所有node的服務(wù): ‘{jboss.home}/bin/run.bat -c jbpm‘
這時(shí),所有node 的準備工作就做好了。
在目錄${jbpm.home}/ejb 下運行 ‘a(chǎn)nt test‘
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
利用ant,hibernate的schemaexport自動(dòng)生成數據庫 | 中國JAVA技...
Java開(kāi)源工作流對比
jboss jbpm 工作流管理系統簡(jiǎn)介
jBPM 第?2?章?安裝配置
jbpm開(kāi)發(fā)指南
掌握的jBPM的入門(mén)教程
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久