启动jboss_3种启动JBoss BPM流程的基本方法
啟動jboss
這一集提示和技巧將幫助您了解根據(jù)需要啟動流程實例的最佳方法。
規(guī)劃項目可能包括流程項目,但是您是否考慮過可以啟動流程的各種方式?
也許您的JBoss BPM Suite在您的體系結(jié)構(gòu)中本地運行,也許您在云中運行,但是無論它在哪里,您仍然需要就如何啟動流程做出明智的選擇。
我們將在這里介紹三種可以最好地啟動JBoss BPM流程的基本方法:
右上角的“構(gòu)建和部署”按鈕。
BPM Suite用戶界面
為了完整性,我們不得不提到啟動流程實例的功能是以JBoss BPM Suite儀表板工具中的按鈕的形式存在的。
登錄JBoss BPM Suite之后,您已經(jīng)完成了項目開發(fā),然后可以按照以下步驟構(gòu)建和部署B(yǎng)PM項目。
下一步是以兩種方式之一在流程管理透視圖中啟動流程實例。
1. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> start-icon2. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> magnifying-glass-icon -> in DETAILS panel -> NEW INSTANCE (button)流程定義的右上角有開始圖標(biāo)。
這兩種方法都將導(dǎo)致流程實例啟動,如果要將數(shù)據(jù)提交給BPM流程,則會彈出一個啟動表單。
RestAPI
假設(shè)您打算在從多個可能的位置進(jìn)行部署之后開始BPM流程,我們希望向您展示如何輕松地整合它們。
流程定義的詳細(xì)信息視圖具有“新實例”按鈕。
從Web應(yīng)用程序,移動應(yīng)用程序啟動流程還是為企業(yè)創(chuàng)建后端服務(wù)以用作流程的起點都沒有關(guān)系。 公開的RestAPI提供了觸發(fā)BPM流程的完美方法,可以在以下代碼示例中進(jìn)行顯示。
此示例是一個非常簡單的Rest客戶端,為清楚起見,它將把可能傳遞給此類客戶端的各種變量直接嵌入到示例代碼中。 沒有任何變量傳遞給正在啟動的流程,為此,我們將在涵蓋客戶端應(yīng)用程序的部分中提供一個更完整的示例。
它發(fā)送一個啟動流程命令,并且不希望來自被稱為“ 客戶評估BPM”流程的任何反饋,因為它是“直通流程”(STP)。
public class RestClientSimple {private static final String BASE_URL = "http://localhost:8080/business-central/rest/";private static final String AUTH_URL = "http://localhost:8080/business-central/org.kie.workbench.KIEWebapp/j_security_check";private static final String DEPLOYMENT_ID = "customer:evaluation:1.0";private static final String PROCESS_DEF_ID = "customer.evaluation";private static String username = "erics";private static String password = "bpmsuite";private static AuthenticationType type = AuthenticationType.FORM_BASED;public static void main(String[] args) throws Exception {System.out.println("Starting process instance: " + DEPLOYMENT_ID);System.out.println();// start a process instance with no variables.startProcess();System.out.println();System.out.println("Completed process instance: " + DEPLOYMENT_ID);}/*** Start a process using the rest api start call, no map variables passed.* * @throws Exception*/public static void startProcess() throws Exception {String newInstanceUrl = BASE_URL + "runtime/" + DEPLOYMENT_ID + "/process/" + PROCESS_DEF_ID + "/start";String dataFromService = getDataFromService(newInstanceUrl, "POST");System.out.println("newInstanceUrl:["+newInstanceUrl+"]");System.out.println("--------");System.out.println(dataFromService);System.out.println("--------");}<...SNIPPED MORE CODE...> }這里的基礎(chǔ)是指向起始 RestAPI調(diào)用的業(yè)務(wù)中心URL的設(shè)置。 在主要方法中,可以找到對startProcess()的方法調(diào)用,該方法將構(gòu)建RestAPI URL并捕獲從JBoss BPM Suite發(fā)送的數(shù)據(jù)答復(fù)。
要查看實現(xiàn)方法的詳細(xì)信息,請在JBoss BPM Suite和JBoss Fuse Integration Demo項目中完整地參考該類。
測試間奏
構(gòu)建和部署流程后,對其進(jìn)行測試的一種簡便方法是使用curl通過RestAPI將請求推送到流程。 這樣的請求如下所示,首先是通用形式,然后是與上一個示例中使用的相同的客戶評估項目的真實運行。
通用的RestAPI調(diào)用和正確的身份驗證請求在curl中完成,如下所示:
$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_par1=var1?_par2=var2'對于客戶評估過程,使用curl調(diào)用啟動過程,對我們的用戶進(jìn)行身份驗證并收到JBoss BPM Suite的響應(yīng)的完整周期應(yīng)提供以下輸出。
$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics'Enter host password for user 'erics': bpmsuite1!{"status":"SUCCESS","url":"http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics","index":null,"commandName":null,"processId":"customer.evaluation","id":3,"state":2,"eventTypes":[]}我們的卷曲測試結(jié)果。
如圖所示,我們在流程實例透視圖中看到流程實例已完成。
客戶申請
啟動JBoss BPM Suite流程實例的第三種也是最后一種方法是與注入一堆預(yù)定義的提交內(nèi)容相結(jié)合,以填充報告歷史記錄,并且可以基于歷史數(shù)據(jù)。
此處顯示的示例在我們提供的大多數(shù)演示項目中均可用,但摘自Mortgage Demo項目 。
該演示客戶端正在使用靜態(tài)數(shù)據(jù)行,一次將其插入到進(jìn)程中。 通過一些小的調(diào)整,就可以從現(xiàn)有數(shù)據(jù)源中提取歷史數(shù)據(jù),并以這種格式注入所需數(shù)量的進(jìn)程。 這也是對過程項目進(jìn)行壓力測試的好方法。
如上所示,我們將跳過會話和流程細(xì)節(jié)的設(shè)置,而是提供到整個演示客戶端類的鏈接,并將這些細(xì)節(jié)留給讀者。
在這里,我們僅關(guān)注各個啟動過程調(diào)用的外觀。
public static void populateSamples(String userId, String password, String applicationContext, String deploymentId) {RuntimeEngine runtimeEngine = getRuntimeEngine( applicationContext, deploymentId, userId, password );KieSession kieSession = runtimeEngine.getKieSession();Map processVariables;//qualify with very low interest rate, great credit, non-jumbo loanprocessVariables = getProcessArgs( "Amy", "12301 Wilshire", 333224449, 100000, 500000, 100000, 30 );kieSession.startProcess( "com.redhat.bpms.examples.mortgage.MortgageApplication", processVariables );}如您所見,最后一行是個人抵押貸款提交被推送到JBoss BPM Suite的位置。 如果檢查課程的其余部分,您會發(fā)現(xiàn)多個條目是一個接一個地啟動的。
我們希望您現(xiàn)在對啟動流程并選擇最適合您的項目的方式有了很好的了解。
翻譯自: https://www.javacodegeeks.com/2014/09/3-essential-ways-to-start-your-jboss-bpm-process.html
啟動jboss
總結(jié)
以上是生活随笔為你收集整理的启动jboss_3种启动JBoss BPM流程的基本方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应用分身怎么设置
- 下一篇: 抖音设置了不看对方怎么恢复