最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Activiti explorer.war示例工程使用過程圖解

 更新時(shí)間:2020年03月09日 10:09:53   投稿:yaominghui  
這篇文章主要介紹了Activiti explorer.war示例工程使用過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

工作流主要解決的主要問題是:為了實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo),利用計(jì)算機(jī)在多個(gè)參與者之間按某種預(yù)定規(guī)則自動傳遞文檔、信息或者任務(wù)。

activiti官方提供了一個(gè)示例工程activiti-explorer.war,運(yùn)行這個(gè)工程可以體驗(yàn)activiti的基本功能,了解工作流的基本使用。

本文中使用的是activiti-5.22.0的官方包,

下載地址

一、搭建開發(fā)環(huán)境

要運(yùn)行示例工程,需要安裝jdk8和tomcat。其中jdk需要jdk8或以上,tomcat我使用的是tomcat8,使用tomcat7時(shí)啟動會報(bào)如下錯(cuò)誤:

嚴(yán)重: Exception sending context initialized event to listener instance of class org.activiti.explorer.servlet.WebConfigurer
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoDataConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.activiti.engine.IdentityService org.activiti.explorer.conf.DemoDataConfiguration.identityService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'identityService' defined in class path resource [org/activiti/explorer/conf/ActivitiEngineConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.activiti.engine.IdentityService]: Factory method 'identityService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in class path resource [org/activiti/explorer/conf/ActivitiEngineConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.activiti.engine.ProcessEngine]: Factory method 'processEngine' threw exception; nested exception is java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngineFactoryBean': FactoryBean threw exception on object creation; nested exception is java.util.ServiceConfigurationError: org.activiti.engine.cfg.ProcessEngineConfigurator: org.activiti.management.jmx.JMXConfigurator not a subtype
  at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1202)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
  at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
  at org.activiti.explorer.servlet.WebConfigurer.contextInitialized(WebConfigurer.java:40)
  at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5197)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5720)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1018)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:994)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
  at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
  at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
  at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.base/java.lang.Thread.run(Thread.java:844)

不明白這個(gè)是什么原因造成的,但tomcat升級到8版本后可以正常啟動.

二、運(yùn)行示例工程

將 activiti-5.22.0 的官方包解壓后復(fù)制其中的activiti-explorer.war到本地tomcat的webapps目錄中,然后啟動tomcat,瀏覽器中訪問http://localhost:8080/activiti-explorer/,會出現(xiàn)如下的登錄界面,可以使用默認(rèn)的賬戶密碼

kermit/kermit 進(jìn)行登錄

登錄成功后,就可以在這個(gè)示例應(yīng)用中體驗(yàn)activiti的基本功能。

三、示例工程功能演示

這個(gè)工程分為了四個(gè)功能模塊:任務(wù)、流程、報(bào)表、管理

下面我按照一般的使用流程來講解下這幾個(gè)功能模塊

1. 創(chuàng)建流程圖

從工作流的定義,為了實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo)利用計(jì)算機(jī)在多個(gè)參與者之間按某種預(yù)定規(guī)則自動傳遞文檔、信息或者任務(wù)。可以知道使用工作流前我們需要先定義一個(gè)規(guī)則,在這里的規(guī)則指的就是流程圖。

進(jìn)入流程管理模塊,按如下菜單選則新建一個(gè)流程模型

流程-->流程設(shè)計(jì)工作區(qū) -->新建模型

然后在新的頁面中繪制一個(gè)簡單的請假流程并保存。繪制流程圖時(shí)注意要在用戶任務(wù)的屬性中分配assignment為當(dāng)前的登錄人kermit,這樣才能在代辦中看到新的任務(wù)。

如下是新建好的請假流程

這樣流程圖就創(chuàng)建好了。

2. 部署流程圖

畫好的流程圖經(jīng)過部署后才可以使用。在流程設(shè)計(jì)工作區(qū)選定剛才新建的流程,處理模型選擇部署,完成流程的部署

3. 啟動流程

部署完成后就可以啟動這個(gè)流程,創(chuàng)建任務(wù)。在"已部署流程定義"中選中剛部署的流程,點(diǎn)擊"啟動流程"就可以啟動流程。流程啟動后就會在“任務(wù)”模塊的"代辦任務(wù)"中出現(xiàn)一個(gè)新的任務(wù)"apply vacation",這就是我們在流程圖中定義的第一個(gè)用戶任務(wù)。

這里要注意如果在畫流程圖時(shí)沒有指定用戶任務(wù)的assignee屬性,或者指定的不是當(dāng)前登錄人的id,這個(gè)任務(wù)就不會出現(xiàn)在登錄人的代辦任務(wù)中

4. 完成任務(wù)

在任務(wù)模塊對任務(wù)進(jìn)行操作。在代辦列表中找到剛才啟動流程產(chǎn)生的那個(gè)任務(wù),點(diǎn)擊完成任務(wù),流程就會走到下一個(gè)節(jié)點(diǎn),并創(chuàng)建一個(gè)manager agree的任務(wù),再完成這個(gè)任務(wù),剛才開啟的流程就結(jié)束了。

5. 用戶管理

在管理模塊的用戶選項(xiàng)卡下可以對用戶進(jìn)行管理。這里的用戶可以作為流程圖上配置的assignees,使用對應(yīng)賬號登錄后就可以操作各自的任務(wù)。

四、數(shù)據(jù)持久化

需要注意的是這個(gè)示例工程默認(rèn)使用的是h2數(shù)據(jù)庫,數(shù)據(jù)沒有持久化到硬盤上,所以如果關(guān)閉tomcat后剛才操作的所有數(shù)據(jù)都會丟失,如果需要把操作數(shù)據(jù)持久化到硬盤上,就需要配置數(shù)據(jù)庫設(shè)置,讓示例工程連接本機(jī)上的mysql數(shù)據(jù)庫。需要以下兩個(gè)步驟:

(1) 修改war包中的配置文件,activiti-explorer\WEB-INF\classes\db.properties中的內(nèi)容為以下內(nèi)容

db=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///activiti_explore
jdbc.username=root
jdbc.password=root

這樣示例工程就連接上了本機(jī)上的mysql數(shù)據(jù)庫

(2) 給該工程添加mysql的驅(qū)動jar包

該示例工程中是沒有mysql的驅(qū)動的,所以這樣配置后啟動會報(bào)找不到數(shù)據(jù)庫驅(qū)動的錯(cuò)誤。復(fù)制一個(gè)驅(qū)動jar包到

activiti-explorer\WEB-INF\lib目錄下,就完成添加。

重啟tomcat,到數(shù)據(jù)庫activiti_explore中查看,發(fā)現(xiàn)activiti自動了創(chuàng)建了需要的表結(jié)構(gòu),說明已經(jīng)完成了數(shù)據(jù)持久化的配置。

五、總結(jié)

以上演示了如何使用activiti-5.22.0的示例工程 activiti-explorer.war如何使用。需要注意的是這個(gè)示例工程默認(rèn)使用的是h2數(shù)據(jù)庫,數(shù)據(jù)沒有持久化到硬盤上,所以如果關(guān)閉tomcat后剛才操作的所有數(shù)據(jù)都會丟失。

如果需要把操作數(shù)據(jù)持久化到硬盤上,就需要配置數(shù)據(jù)庫設(shè)置,讓示例工程連接本機(jī)上的mysql數(shù)據(jù)庫。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java訪問WebService返回XML數(shù)據(jù)的方法

    Java訪問WebService返回XML數(shù)據(jù)的方法

    這篇文章主要介紹了Java訪問WebService返回XML數(shù)據(jù)的方法,涉及java操作WebService的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Java簡單統(tǒng)計(jì)字符串中漢字,英文字母及數(shù)字?jǐn)?shù)量的方法

    Java簡單統(tǒng)計(jì)字符串中漢字,英文字母及數(shù)字?jǐn)?shù)量的方法

    這篇文章主要介紹了Java簡單統(tǒng)計(jì)字符串中漢字,英文字母及數(shù)字?jǐn)?shù)量的方法,涉及java針對字符串的遍歷、編碼轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • 利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能

    利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能

    這篇文章主要給大家介紹了關(guān)于如何利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Maven默認(rèn)中央倉庫(settings.xml 配置詳解)

    Maven默認(rèn)中央倉庫(settings.xml 配置詳解)

    這篇文章主要介紹了Maven默認(rèn)中央倉庫(settings.xml 配置詳解),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • Java聊天室之實(shí)現(xiàn)客戶端一對一聊天功能

    Java聊天室之實(shí)現(xiàn)客戶端一對一聊天功能

    這篇文章主要為大家詳細(xì)介紹了Java簡易聊天室之實(shí)現(xiàn)客戶端一對一聊天功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下
    2022-10-10
  • SpringBoot接收參數(shù)所有方式總結(jié)

    SpringBoot接收參數(shù)所有方式總結(jié)

    這篇文章主要介紹了SpringBoot接收參數(shù)所有方式總結(jié),文中通過代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • 詳解Mybatis通用Mapper介紹與使用

    詳解Mybatis通用Mapper介紹與使用

    目前通用mapper只支持對單表的操作,對單表的增刪改查,無需在mapper.xml寫對應(yīng)的sql語句,只需要我們調(diào)用相應(yīng)的接口,對于快速開發(fā)極為方便,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 淺析Java語言中狀態(tài)模式的優(yōu)點(diǎn)

    淺析Java語言中狀態(tài)模式的優(yōu)點(diǎn)

    狀態(tài)模式允許對象在內(nèi)部狀態(tài)改變時(shí)改變它的行為,對象看起來好像修改了它的類。這個(gè)模式將狀態(tài)封裝成獨(dú)立的類,并將動作委托到 代表當(dāng)前狀態(tài)的對象,我們知道行為會隨著內(nèi)部狀態(tài)而改變
    2023-02-02
  • 詳解MybatisPlus中@TableLogic注解的使用

    詳解MybatisPlus中@TableLogic注解的使用

    @TableLogic一般用于實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)邏輯刪除,本文我們將介紹 @TableLogic 注解的用法,以及每個(gè)屬性的實(shí)際意義和用法,感興趣的可以了解一下
    2022-06-06
  • Java爬蟲爬取漫畫示例

    Java爬蟲爬取漫畫示例

    這篇文章主要介紹了Java爬蟲爬取漫畫示例,大部分的爬蟲入門教學(xué)都是爬取圖片的,本文就來測試一下爬取網(wǎng)站的漫畫,需要的朋友可以參考下
    2023-04-04

最新評論

东台市| 平武县| 仪陇县| 清河县| 沈阳市| 伊吾县| 巢湖市| 康马县| 彰化市| 西充县| 江陵县| 唐河县| 铜陵市| 星子县| 咸阳市| 宾阳县| 浑源县| 扶沟县| 东城区| 虞城县| 绥江县| 雷波县| 井研县| 苍溪县| 荔浦县| 桑日县| 赫章县| 仁寿县| 莎车县| 乌鲁木齐县| 法库县| 井陉县| 广元市| 驻马店市| 革吉县| 蓬安县| 来宾市| 洪泽县| 汤原县| 永宁县| 杭州市|